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

如何使用Splunk查询创建按字段统计百分比的时间图表?

Splunk:将事件计数时间图表转换为百分比时间图表

问题背景

已有基础Splunk查询,可按小时统计similar_events和non_similar_events的事件计数并生成时间图表,现需将计数替换为占比百分比生成时间图表,基础查询如下:

index='xyz' sourcetype='abc' status='completed' 
    | timechart span=1hr count(eval(_raw like "similar")) as similar_events 
      count(eval(_raw like "non_similar")) as non_similar_events
    | eval total_events = 'similar_events' + 'non_similar_events'
    | eval similar_events_perc = ((similar_events/total_events)*100)."%"

解决方案

要生成正确的百分比时间图表,需注意避免除以0错误、保证百分比字段为数值类型(Splunk时间图表依赖数值数据渲染),完整查询如下:

index='xyz' sourcetype='abc' status='completed' 
| timechart span=1hr count(eval(_raw like "similar")) as similar_events 
  count(eval(_raw like "non_similar")) as non_similar_events
| eval total_events = similar_events + non_similar_events
| eval similar_events_perc = if(total_events=0, 0, round((similar_events/total_events)*100, 2))
| eval non_similar_events_perc = if(total_events=0, 0, round((non_similar_events/total_events)*100, 2))
| fields - similar_events, non_similar_events, total_events

关键步骤说明

  • 总事件数计算:将两个事件计数相加,得到每个1小时时间窗内的总事件量。
  • 百分比计算:
    • 用if(total_events=0, 0, ...)处理总事件数为0的场景,避免触发除以0的错误。
    • 用round(..., 2)将百分比保留两位小数,提升数据可读性。
    • 不直接拼接%"符号:因为Splunk时间图表需要数值类型数据,百分比格式可在可视化层设置。
  • 字段过滤:移除原始计数字段和总事件数字段,仅保留百分比字段用于图表渲染。

可视化设置

在Splunk可视化面板选择「时间图表」后,进入格式设置:

  • 找到Y轴设置,勾选「显示单位」并选择「百分比」,即可让图表Y轴显示%符号,同时保证数据的数值属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 22:22:15