Splunk中如何获取inputlookup每行的首个/末个事件及统计事件数
Splunk 查询优化需求
已知20230922_id.csv数据如下:
id_ 123 234 345 456
当前执行的查询语句:
index=1234 application_name="app_name_xyz" app_region=apac "Total time to process request" | search [| inputlookup 20230922_id.csv | rename id_ as search | format ]
该查询会被转换为:
index=1234 application_name="app_name_xyz" app_region=apac "Total time to process request" | search 123 or 234 or 345 or 456
目前每个ID对应3个事件,总事件数12,符合预期。现需实现以下两个目标之一:
- 每个ID仅返回1个事件,总事件数变为4(已尝试两种无效方案)
- 若无法实现上述需求,生成按ID统计事件数的表格
已尝试的无效方案
方案一
index=1234 application_name="app_name_xyz" app_region=apac "Total time to process request" | search [| inputlookup 20230922_id.csv | rename id_ as search | head 1 | format ]
问题:仅筛选出第一个ID的事件,其余ID的事件全部被排除。
方案二
index=1234 application_name="app_name_xyz" app_region=apac "Total time to process request" | search [| inputlookup 20230922_id.csv | rename id_ as search | format ] |head 1
问题:仅返回所有匹配事件中的第一条,而非每个ID各返回一条。
解决方案
一、每个ID返回1个事件(取首个/末个)
要实现每个ID返回1条事件,需先从事件中提取出对应ID的字段(假设提取后字段名为id_,实际字段名不同请替换),再按ID分组后取每组的第一条或最后一条:
取每个ID的最新事件(按时间降序)
index=1234 application_name="app_name_xyz" app_region=apac "Total time to process request" | search [| inputlookup 20230922_id.csv | rename id_ as search | format ] | rex "(?<id_>\d+)" // 用正则从事件中提取ID,替换为实际匹配规则 | sort 0 - _time // 按时间降序排序,0表示不限制结果数 | dedup id_ // 保留每个id_对应的第一条事件
取每个ID的最早事件(按时间升序)
仅修改排序规则即可:
index=1234 application_name="app_name_xyz" app_region=apac "Total time to process request" | search [| inputlookup 20230922_id.csv | rename id_ as search | format ] | rex "(?<id_>\d+)" // 替换为实际的ID提取正则 | sort 0 _time | dedup id_
注意:如果事件中已存在对应ID的字段(如
request_id),直接用该字段替换id_即可,无需rex命令。
二、生成按ID统计事件数的表格
若无需单条事件,仅需统计每个ID的事件数量,使用stats命令即可:
index=1234 application_name="app_name_xyz" app_region=apac "Total time to process request" | search [| inputlookup 20230922_id.csv | rename id_ as search | format ] | rex "(?<id_>\d+)" // 提取ID字段,替换为实际正则 | stats count by id_
执行后将生成如下格式的统计结果:
| id_ | count |
|---|---|
| 123 | 2 |
| 234 | 3 |
| 345 | 4 |
| 456 | 2 |
内容的提问来源于stack exchange,提问作者AshwinK
相关产品推荐
相关产品推荐

