如何在Splunk中通过单条告警实现不同阈值触发不同通知渠道
可以实现,无需创建多条独立告警规则,通过Splunk内置的字段标记+分条件告警动作即可实现单规则多阈值不同通知的需求。
具体操作步骤
1. 编写带等级标记的搜索语句
先在你的监控搜索语句中新增阈值等级标记字段,示例SPL如下,你可以替换成自己的实际业务统计逻辑:
# 替换为你实际的基础搜索逻辑,最终统计出待监控的指标字段,这里示例为error_count index=your_business_index sourcetype=your_log_type | stats count as error_count | eval alert_level = case(error_count >= 120, "critical", error_count >= 90, "warning", 1=1, "normal") # 过滤出需要触发告警的等级,低于90的直接忽略不触发告警 | search alert_level IN ("warning", "critical")
注意:case判断的顺序必须高阈值在前、低阈值在后,避免高阈值场景被错误匹配到低等级标签。
2. 配置告警基础触发规则
保存搜索为告警时,触发条件选择「自定义」,填写规则:search alert_level IN ("warning", "critical"),触发频率按你的业务需求配置即可。
3. 配置分条件触发的通知动作
在告警动作区域分别添加两个通知动作,每个动作单独配置触发条件:
- 添加Slack通知动作:找到动作配置中的「触发条件」选项,选择「自定义」,填写判断规则:
search alert_level="warning",其余Slack webhook、消息模板按你的要求配置即可,该动作只会在指标达到90且低于120时触发。 - 添加邮件通知动作:同样配置自定义触发条件为
search alert_level="critical",其余收件人、邮件内容模板按要求配置即可,该动作只会在指标达到120及以上时触发。
可选优化
如果需要避免同等级告警重复触发,可以在告警的「抑制规则」中选择按alert_level字段分组抑制,设置你需要的抑制周期即可。
内容的提问来源于stack exchange,提问作者knowledge20
相关产品推荐
相关产品推荐

