如何在Splunk中按cls和mthd组合去重过滤搜索结果?
Splunk 重复事件过滤解决方案
要实现按cls和mthd字段组合去重,仅保留每组唯一组合的单条记录,直接使用Splunk内置的dedup命令即可,无需复杂正则或函数,具体修改后的查询语句如下:
基础去重(保留每组组合的第一条记录)
index=my_app environment=test source="/users/sahild/app.log" "fname" OR "lname" OR "dob" OR "address" | dedup cls mthd
按时间保留最新记录
如果需要保留每组cls+mthd组合中时间最新的事件,只需给dedup添加latest=true参数:
index=my_app environment=test source="/users/sahild/app.log" "fname" OR "lname" OR "dob" OR "address" | dedup cls mthd latest=true
关键说明
dedup是Splunk专门用于移除重复事件的命令,指定多个字段时,会以这些字段的组合值作为去重依据- 未加参数时,默认保留每组组合中最先出现的事件;添加
latest=true则按事件时间倒序,保留最新的一条 - 该命令处理大量重复数据效率较高,无需额外复杂逻辑
内容的提问来源于stack exchange,提问作者Sahil Dhuria
相关产品推荐
相关产品推荐

