我正在尝试编写一个splunk查询来监视由它们所属的API端点分组的消息。 我有2个端点可区别于:
我的示例消息如下:
2019-07-15 11:42:10 [INFO] method='GET' path='/bank/4/accounts/' status='200'
2019-07-15 11:44:10 [INFO] method='GET' path='/bank/4/accounts/a1-b2-c3' status='200'
当我使用以下splunk查询时,我收到属于两个端点的消息。
index=my_index host=my_host GET /bank/*/accounts/ | rex field=_raw "path=(?<path>.*)"
我尝试将以下命令附加到查询中,但未能成功隔离结果:
| rex field=_raw ".*/accounts/(?<accountid>\w+)"
答案 0 :(得分:0)
rex
命令从事件中提取数据,但不过滤它们。要使用正则表达式过滤事件,请使用regex
命令。
答案 1 :(得分:0)
我发现使用*-*
进行的混合查询可以完成这项工作。完成查询-
index=my_index host=my_host GET /bank/*/accounts/*-*
我很喜欢RichG的解决方案,但是由于我找到了解决问题的方法,所以没有调查Regex在我的案例中的确切用法。