You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于requestID在Splunk中按企业和API路径统计请求耗时

Splunk 按企业维度统计/org接口请求耗时方案

需求说明

  • 单请求总耗时计算规则:同一个requestId关联的所有日志条目中,最后一条日志时间戳与第一条日志时间戳的差值
  • 统计范围:path="/org"的接口请求
  • 统计维度:请求所属企业
  • 输出指标:各企业对应请求的平均耗时(Avg)、最小耗时(Min)、最大耗时(Max)

现有日志样例

Entry 1 00:00:00 {company:"A",requestId:123, path:"/org"}
Entry 2 00:00:01: {company:"A",requestId:123}
Entry 3 00:00:01: {company:"B",requestId:111, path:"/org"}
Entry 4 00:00:05: {company:"B",requestId:111, url:...}
Entry 5 00:00:08: {company:"B",requestId:111, url:...}
Entry 6 00:00:10: {company:"B",requestId:111}
Entry 7 00:01:00: {company:"A",requestId:123, url:...}
Entry 8 00:02:00: {company:"A",requestId:123}

目标输出格式

OrgAvgMinMax
Company A........
Company B........

可用Splunk检索语句

# 筛选/org接口相关日志,自动提取JSON结构字段
path="/org"
| spath
# 关联同requestId下的所有链路日志,避免漏算后续不带path字段的请求日志
| eventstats values(path) as req_paths by requestId
| where in(req_paths, "/org")
# 按单请求维度计算总耗时,补全同请求下缺失的企业字段
| stats min(_time) as first_time, max(_time) as last_time, values(company) as company by requestId
| eval duration = last_time - first_time
# 按企业维度聚合计算耗时指标
| stats avg(duration) as Avg, min(duration) as Min, max(duration) as Max by company
# 格式化输出匹配要求表头
| eval Org = "Company ".company
| table Org, Avg, Min, Max

注意事项

  • 默认输出的耗时单位为秒,如需毫秒级结果,可将eval duration行修改为| eval duration = (last_time - first_time)*1000
  • 如果日志中的company/requestId/path字段未被Splunk自动识别,可在spath行后添加rex正则提取逻辑适配你的日志格式
  • 关联逻辑覆盖了同请求下部分日志缺失企业、路径字段的场景,保证耗时计算不会遗漏链路节点

内容的提问来源于stack exchange,提问作者Peter Jones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:30:17