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

如何在Splunk中统计工单总数及3天内同电路重复工单次数

Splunk 工单统计解决方案

以下是满足你需求的Splunk查询语句,包含工单总数统计和符合条件的重复工单次数统计:

// 替换为你的实际索引、数据源类型和工单时间字段
index=your_index sourcetype=your_ticket_source
| eval create_time=strptime(ticket_create_time, "%Y-%m-%d %H:%M:%S")
// 按电路ID分组,提取首个工单时间及所有工单时间列表
| stats earliest(create_time) as first_ticket_time values(create_time) as all_ticket_times by circuit_id
// 计算非首个工单与首个工单的时间差(单位:秒)
| eval time_diffs=mvmap(mvfilter(all_ticket_times != first_ticket_time), all_ticket_times - first_ticket_time)
// 判断该电路ID是否存在首个工单3天内的后续工单
| eval is_qualified=if(mvfind(time_diffs, "<=".tostring(3*86400)) != -1, 1, 0)
// 统计符合条件的电路ID数量(即重复工单次数)
| stats sum(is_qualified) as 重复工单数量
// 追加工单总数统计
| appendcols [
    search index=your_index sourcetype=your_ticket_source
    | stats count as 工单总数
]
// 整理输出字段
| table 工单总数 重复工单数量

关键步骤解释:

  1. 时间格式转换:用strptime将工单创建时间字段转换为Splunk可计算的时间戳,需根据你实际的时间格式调整第二个参数(比如%Y/%m/%d)。
  2. 分组提取时间:通过stats按circuit_id分组,获取每个电路的首个工单时间和所有工单时间列表。
  3. 计算时间差:用mvfilter排除首个工单时间,mvmap批量计算剩余工单与首个工单的时间差。
  4. 判断符合条件的电路:mvfind检查时间差列表中是否存在≤3天(3*86400秒)的值,存在则标记为1。
  5. 合并统计结果:appendcols将工单总数和重复工单次数合并到同一张结果表中。

注意事项:

  • 替换查询中your_index、your_ticket_source、ticket_create_time为你的实际数据源信息。
  • 如果一个电路ID下存在多个工单,只要首个工单后3天内出现第二个工单,该电路ID会被统计为1次,完全匹配你“同一电路ID下首个工单创建后3天内生成第二个工单的次数”的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:53:29