基于Splunk查询生成昨日API响应成功率/失败率报表用于仪表盘
修改后的Splunk查询语句
index="db" "Market"=Country_name earliest=-1d@d latest=@d | rex "(?<API>getsim|Postsim|getset)" | eval API=lower(API) | rename ResultCode as RC | eval Status=case(RC=="200", "Success", 1==1, "Failure") | stats sum(eval(Status="Success")) as Success, sum(eval(Status="Failure")) as Failure by API, RC | eval total=Success+Failure | eval "Success%"=round((Success/total)*100, 2) . "%", "Failure%"=round((Failure/total)*100, 2) . "%" | fields API, RC AS "Response Code", "Success%", "Failure%" | sort API, "Response Code"
关键修改说明
- 昨日数据过滤:通过
earliest=-1d@d latest=@d限定查询范围为昨日全天(从昨日0点到今日0点),确保只统计目标时段数据。 - 可变API识别:用
rex正则从事件中提取API名称,再通过lower()统一转为小写,完美支持getsim、postsim、getset三种API的统计需求。 - 状态逻辑修正:重新定义成功/失败规则(返回码200标记为Success,其余为Failure),可根据实际业务规则调整
case语句中的判断条件。 - 格式适配仪表盘:按API和响应码分组统计,计算成功/失败占比并添加百分号格式,最终输出字段完全匹配需求的
API、Response Code、Success%、Failure%格式。
内容的提问来源于stack exchange,提问作者user3318024
相关产品推荐
相关产品推荐

