splunk - 如何在 splunk 查询中区分模式 /bank/*/accounts/ 与 /bank/4/accounts/a1 的消息?
问题描述
我正在尝试编写一个 splunk 查询来监视按它们所属的 API 端点分组的消息。我有 2 个端点可以区分:
- /银行/*/账户/
- /银行/*/账户/ a1-b2-c3
我的示例消息如下所示:
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+)"
解决方案
该rex
命令从事件中提取数据,它不过滤它们。要使用正则表达式过滤事件,请使用regex
命令。
推荐阅读
- ruby - 为什么 POODR 书建议“将默认值包装在方法中”?
- python - Pandas:对另一列的列值进行分组和计数
- java - > 找不到 org.codehaus.groovy:groovy-all:3.0.7。Android Studio中的gradle错误和其他类似错误
- electron - Electron-forge 包生成一个空的 out 文件夹
- javascript - data.site.siteMetadata.description 缺少道具验证 - gatsby 和 graphQl
- python - 如何从返回 DF 和绘图的函数中仅获取数据框?
- ajax - 使用 laravel 数据表显示多张图片
- amazon-web-services - 将 Flutter App 数据库从 Firestore 更改为 AWS
- r - 如何在闪亮的应用程序中插入横幅和文本
- reactjs - 我在 Reactjs 中使用危险的SetInnerHtml 为博客页面显示一些内容,但没有显示项目符号