首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在splunk查询中区分模式/bank/*/accounts/ vs /bank/4/accounts/a1的消息?

如何在splunk查询中区分模式/bank/*/accounts/ vs /bank/4/accounts/a1的消息?
EN

Stack Overflow用户
提问于 2019-07-15 12:01:17
回答 2查看 31关注 0票数 0

我正在尝试编写一个splunk查询来监视按API端点分组的消息。我有两个端点可与以下两个端点区分:

  1. /bank/*/accounts/
  2. /bank/*/accounts/a1-b2-c3

我的示例消息如下:

代码语言:javascript
运行
复制
2019-07-15 11:42:10 [INFO] method='GET' path='/bank/4/accounts/' status='200'
代码语言:javascript
运行
复制
2019-07-15 11:44:10 [INFO] method='GET' path='/bank/4/accounts/a1-b2-c3' status='200'

当我使用下面的splunk查询时,我会得到属于两个端点的消息。

代码语言:javascript
运行
复制
index=my_index host=my_host GET /bank/*/accounts/  | rex field=_raw "path=(?<path>.*)"  

我试图添加以下命令来查询,但没有成功地隔离结果:

代码语言:javascript
运行
复制
| rex field=_raw ".*/accounts/(?<accountid>\w+)"
EN

回答 2

Stack Overflow用户

发布于 2019-07-15 13:37:43

rex命令从事件中提取数据,它不过滤它们。若要使用正则表达式筛选事件,请使用regex命令。

票数 0
EN

Stack Overflow用户

发布于 2019-07-22 12:44:15

我发现使用*-*的splunk查询完成了这项工作。完全查询-

代码语言:javascript
运行
复制
index=my_index host=my_host GET /bank/*/accounts/*-*

我喜欢RichG的解决方案,但没有对Regex在我的案例中的确切用法进行调查,因为我已经找到了解决问题的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57039333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档