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

Splunk自定义触发条件告警:15分钟内失败率升1%的配置咨询

Splunk告警触发条件配置方案

基础绝对值告警设置(失败率超过1%触发)

1. 优化查询(可选,提升稳定性)

先调整查询语句,处理无数据或总请求为0的异常场景,避免告警逻辑出错:

index=*apiGateway* Consumer=* ServiceName=creditcard.* host=*gateway* HTTPStatus=* earliest=-15m@s 
| stats count as Total count(eval(HTTPStatus > 499)) as Failure 
| eval failureThreshold=round(Failure*100/Total, 2)  # 保留两位小数,避免精度干扰
| eval failureThreshold=if(isnull(failureThreshold) OR Total=0, 0, failureThreshold)  # 处理空值/无请求场景
| table failureThreshold

2. 配置触发条件

进入告警的触发条件配置页,选择「自定义」模式,直接输入判断逻辑:

failureThreshold > 1

根据你的告警执行频率(每5分钟一次),可设置「连续1次满足条件即触发」,或根据需求调整触发次数。


进阶环比告警设置(失败率较前15分钟上升1%触发)

如果需求是失败率相对上升1%(而非绝对值超过1%),需要修改查询引入历史数据对比:

# 先查询前15分钟的历史失败率
index=*apiGateway* Consumer=* ServiceName=creditcard.* host=*gateway* HTTPStatus=* earliest=-30m@s latest=-15m@s 
| stats count as Total_Hist count(eval(HTTPStatus > 499)) as Failure_Hist 
| eval failureThreshold_Hist=round(Failure_Hist*100/Total_Hist, 2)
# 再查询当前15分钟的失败率并合并结果
| append [
    search index=*apiGateway* Consumer=* ServiceName=creditcard.* host=*gateway* HTTPStatus=* earliest=-15m@s 
    | stats count as Total_Curr count(eval(HTTPStatus > 499)) as Failure_Curr 
    | eval failureThreshold_Curr=round(Failure_Curr*100/Total_Curr, 2)
  ]
# 计算失败率差值
| eval rateIncrease=failureThreshold_Curr - failureThreshold_Hist
| table rateIncrease

此时触发条件设置为:

rateIncrease > 1

注意事项

  • 确保查询返回结果中包含对应字段(failureThreshold或rateIncrease),否则触发条件无法识别
  • 测试时可手动构造高失败率请求,验证告警是否正常触发

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 20:30:46