Splunk查询需求:保留原始行并新增Requester_Id计数字段
解决Splunk保留原始事件行并添加Requester_Id计数的问题
原查询使用stats命令会按Requester_Id聚合合并行,既丢失了原始事件的独立行信息,也没正确展示计数字段。要实现保留所有原始行同时新增计数的需求,换用eventstats命令即可:
修改后的查询(字段已正确提取时)
| eventstats count as Requester_Count by Requester_Id | table Type_of_Call LOB DateTime_Stamp Policy_Number Requester_Id Requester_Count Last_Name State City Zip
关键说明:
eventstats的作用是对符合条件的事件计算统计值,并将统计结果追加到每一行原始事件中,不会合并任何行,完全满足保留所有原始事件的要求。count as Requester_Count将统计的Requester_Id出现次数命名为Requester_Count,便于区分识别。- 最后通过
table命令指定要展示的字段,记得把新增的Requester_Count包含进去。
如果日志字段未自动提取(针对示例日志)
如果你的日志字段还没从MESSAGE字段中解析出来,需要先添加字段提取逻辑,比如用rex命令:
| rex field=MESSAGE "Type_of_Call = (?<Type_of_Call>[^ ]+) LOB = (?<LOB>[^ ]+) DateTime_Stamp = (?<DateTime_Stamp>[^ ]+) Policy_Number = (?<Policy_Number>[^ ]+) Requester_Id = (?<Requester_Id>[^ ]+) Last_Name = (?<Last_Name>[^ ]+) State = (?<State>[^ ]+) City = (?<City>[^ ]+) Zip (?<Zip>[^"]+)" | eventstats count as Requester_Count by Requester_Id | table Type_of_Call LOB DateTime_Stamp Policy_Number Requester_Id Requester_Count Last_Name State City Zip
这段rex命令会从MESSAGE字段中提取出各个键值对对应的字段,确保后续的eventstats能正确基于Requester_Id统计次数。
内容的提问来源于stack exchange,提问作者ashu mallik
相关产品推荐
相关产品推荐

