如何在Splunk中创建外部API耗时统计报告(日志解析修复)
Splunk外部API耗时统计报告实现方案
直接使用以下Splunk搜索语句即可生成你需要的报告格式:
index=my_index message="*time-taken*" | rex field=message "service=(?<service>[^:]+):status=(?<status>\d+):time-taken=(?<time_taken>\d+)" | eval date=strftime(_time, "%Y-%m-%d") | stats max(time_taken) AS "max(time-taken)", avg(time_taken) AS "avg(time-taken)" BY date, service | table date service "max(time-taken)" "avg(time-taken)"
关键步骤说明:
- 字段提取:
rex命令通过正则精准解析日志,从message中提取出service(服务地址)、time_taken(耗时)等字段,完全适配你提供的service=xxx:status=xxx:time-taken=xxx日志结构。 - 日期格式化:
eval命令将Splunk默认的时间戳_time转换为YYYY-MM-DD格式的日期字段,匹配报告的日期列需求。 - 统计计算:
stats命令按日期和服务分组,自动计算每组的最大耗时与平均耗时。 - 结果展示:
table命令按你指定的顺序排列字段,输出符合要求的报告格式。
内容的提问来源于stack exchange,提问作者Spartan
相关产品推荐
相关产品推荐

