求Splunk查询语句:统计仪表板中name与number字段的使用次数
Splunk查询:统计name/number字段使用次数
需求说明
统计仪表板请求中name或number字段的使用次数(非空即判定为使用),输出包含计数的表格。
示例日志数据
timestamp="2022-11-07 02:06:38.427" loglevel="INFO" pid="1" thread="http-nio-8080-exec-10" appname="my-test-app" URI="/testapp/v1/mytest-app/dashboard-service" RequestPayload="{\"name\":\"test\",\"number\":\"\"}"
查询语句
情况1:单独统计name字段使用次数
index=<你的索引名> URI="/testapp/v1/mytest-app/dashboard-service" | spath input=RequestPayload | where name!="" | stats count AS "Name使用次数" | addcoltotals labelfield="统计项" label="总计"
情况2:单独统计number字段使用次数
index=<你的索引名> URI="/testapp/v1/mytest-app/dashboard-service" | spath input=RequestPayload | where number!="" | stats count AS "Number使用次数" | addcoltotals labelfield="统计项" label="总计"
情况3:同时展示两个字段的计数(含0值)
index=<你的索引名> URI="/testapp/v1/mytest-app/dashboard-service" | spath input=RequestPayload | eval name_used=if(name!="",1,0) | eval number_used=if(number!="",1,0) | stats sum(name_used) AS "Name使用次数" sum(number_used) AS "Number使用次数" | addcoltotals labelfield="统计项" label="总计"
关键步骤解释
spath input=RequestPayload:解析JSON格式的请求体,提取name和number字段where <字段>!="":过滤出目标字段非空的请求,判定为该字段被使用stats count/stats sum(...):统计符合条件的请求次数addcoltotals:为表格添加总计行,提升可读性
内容的提问来源于stack exchange,提问作者Hanuman
相关产品推荐
相关产品推荐

