我的 Splunk 日志如下所示:
2023-08-15 11:51:32.148 INFO default task-107 com.company.project.log.LogService - createEvent: actionFlag: 1; orderNumber: 2000000; current DateTime: Tue Aug 15 11:51:32 PDT 2023
2023-08-16 11:51:32.148 INFO default task-109 com.company.project.log.LogService - createEvent: actionFlag: 3; orderNumber: 2000001; current DateTime: Tue Aug 16 11:51:32 PDT 2023
2023-08-16 12:51:32.148 INFO default task-110 com.company.project.log.LogService - createEvent: actionFlag: 2; orderNumber: 2000005; current DateTime: Tue Aug 16 12:51:32 PDT 2023
我需要编写一个 Splunk 查询,以在任何给定时间段内按 actionFlag 值(可以是 1、2 或 3)对事件进行分组,获得性质的表格/可视化:
动作标志=1 | 动作标志= 2 | 动作标志= 3 |
---|---|---|
20 | 12 | 33 |
我尝试提取一个字段(actionFlag),但我无法理解如何编写/选择一个正则表达式,该正则表达式表示字段键=“actionFlag”和值=“1/2/3”,然后进行相应的分组。
我如何为此编写适当的查询?
不要使用
rex
命令来验证数据 - 只需使用它来提取字段。如有必要,可以使用其他命令进行验证。
``` Extract the actionFlag value ```
| rex "actionFlag:\s+(?<actionFlag>\d)"
``` OPTIONAL - filter out invalid actionFlag values ```
| where actionFlag > 0 AND actionFlag < 4
``` Count the number of events for each actionFlag value ```
| stats count by actionFlag