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

Splunk零事件告警配置求助:无事件时未触发告警问题

Splunk无事件告警配置解决方案

修改后的搜索语句

index="abc" sourcetype=abc:Prod_logs (host="abc*") 
| bin span=15m _time
| stats count BY _time URL 
| eval Avg_count_15m = count  // 原搜索两次stats avg(count)冗余,单组count的平均值等于自身
| append [
    // 生成需要监控的URL列表
    | makeresults 
    | eval URL = split("/abc/summary,/xyz/billing", ",") 
    | mvexpand URL 
    // 生成告警时间范围内所有15分钟时间桶
    | addinfo 
    | eval _time = info_min_time 
    | bin span=15m _time 
    | eval end_time = info_max_time 
    | append [| makeresults | eval _time=end_time | bin span=15m _time] 
    | dedup _time 
    | sort _time 
    | streamstats current=f last(_time) as next_time 
    | where next_time!=_time OR _time=end_time 
    | fields _time URL 
]
// 合并实际计数与空组合,填充0值
| stats sum(count) as Avg_count_15m BY _time URL 
| fillnull value=0 Avg_count_15m
// 提取小时字段
| eval eventHour=strftime(_time,"%H")
// 阈值判断逻辑
| where (
    (URL="/abc/summary" AND Avg_count_15m < 1000 AND eventHour>02 AND eventHour<=05) OR
    (URL="/abc/summary" AND Avg_count_15m < 22000 AND eventHour>05 AND eventHour<=24) OR
    (URL="/xyz/billing" AND Avg_count_15m < 50 AND eventHour>=02 AND eventHour<=05) OR
    (URL="/xyz/billing" AND Avg_count_15m < 110 AND eventHour>=05 AND eventHour<=24) 
)

核心修改说明

  • 补全缺失的URL-时间桶组合:通过makeresults生成监控URL列表,结合addinfo获取告警时间范围,生成该范围内所有15分钟时间桶,两者做笛卡尔积得到所有可能的_time+URL条目,确保无事件时也能生成对应记录。
  • 合并统计并填充0:用stats sum(count)合并实际计数与空组合,再通过fillnull把空计数补为0,满足阈值判断的触发条件。
  • 简化冗余统计:原搜索中两次stats操作冗余,单_time+URL组的count值平均值等于自身,直接复用count即可。

额外优化建议

若监控URL数量较多,建议用lookup表管理规则:

  1. 新建CSV文件(如url_thresholds.csv),包含字段:URL, low_hour_start, low_hour_end, low_threshold, high_hour_start, high_hour_end, high_threshold
  2. 上传至Splunk作为lookup表
  3. 修改搜索语句,用inputlookup引入规则,替换硬编码的where条件,提升维护效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:03:10