如何在Zabbix中实现仅当多告警同时存在时才触发通知?
实现Zabbix多告警同时触发才告警的方案
你要的这个需求完全可以通过Zabbix触发器的逻辑与表达式结合trigger()函数实现,不需要用依赖触发器(依赖是用来抑制告警的,确实不适合你的场景),具体步骤如下:
- 先获取告警A、B、C对应的触发器ID:在Zabbix前端进入「配置」→「触发器」,找到每个触发器后点击进入详情页,URL里的
triggerid=后面的数字就是ID,比如10086这种。 - 创建新的触发器D,在「表达式」里输入:
trigger("触发器A的ID", "PROBLEM") and trigger("触发器B的ID", "PROBLEM") and trigger("触发器C的ID", "PROBLEM")
把里面的ID替换成你实际的A、B、C触发器ID即可。
- 给触发器D配置对应的动作(通知规则),确保当它触发时能给你发送告警通知。
补充说明
- 这个表达式的逻辑很直接:只有当A、B、C三个触发器都处于「PROBLEM」(告警触发)状态时,触发器D才会触发告警。只要其中任意一个恢复正常,D就会自动变为OK状态。
- 如果你的需求是「至少N个告警同时触发就告警」,可以用
count()函数调整,比如要至少2个触发:
count(trigger("A的ID", "PROBLEM"), trigger("B的ID", "PROBLEM"), trigger("C的ID", "PROBLEM"), 2)
- 注意要确认触发器ID的准确性,填错的话会导致逻辑判断失效。
内容的提问来源于stack exchange,提问作者nim865
相关产品推荐
相关产品推荐

