Zabbix事件告警监控:如何实现对相同部件触发器告警及恢复的强关联

举报
乐维社区 发表于 2024/05/29 14:54:38 2024/05/29
【摘要】 有一定Zabbix使用经验的小伙伴可能会发现,接收告警事件时,其中可能包含着大量不同的部件名,同一部件的事件在逻辑上具有很强关联性,理论上应保持一致的告警/恢复状态,但Zabbix默认并未对它们进行关联,直接后果是运维人员只能进行大量重复操作,进而对部件的状态进行校正。实际上,虽然Zabbix默认未对相同部件进行关联,但却可以通过手动配置实现关联操作。本文将深入探讨Zabbix在处理相同部件...

有一定Zabbix使用经验的小伙伴可能会发现,接收告警事件时,其中可能包含着大量不同的部件名,同一部件的事件在逻辑上具有很强关联性,理论上应保持一致的告警/恢复状态,但Zabbix默认并未对它们进行关联,直接后果是运维人员只能进行大量重复操作,进而对部件的状态进行校正。

实际上,虽然Zabbix默认未对相同部件进行关联,但却可以通过手动配置实现关联操作。本文将深入探讨Zabbix在处理相同部件触发器的告警和恢复过程中的强关联机制。通过这种机制,我们可以确保一旦触发器状态发生变化,相关的告警能够被准确触发,并且在问题解决后,告警状态能够及时恢复,从而避免无效告警的干扰和资源的浪费。


例如,当前监控中有对硬件设备事件采集监控项(数据如下),要对其配置触发器告警,但是每个事件中包含告警对应的部件名,希望对相同部件的告警实现告警-恢复事件的自动关联。

数据字段解析:

监控取值中,第4位为告警状态,"Assertion"表示告警产生,"Deassertion"表示告警恢复。


配置思路:

方法一(建议):

参考方法二中基础配置,额外补充事件匹配-标签

标记中“值“参数支持写法如下

{{ITEM.VALUE}.regsub(pattern, output)}

{{ITEM.VALUE}.iregsub(pattern, output)}

{{#LLDMACRO}.regsub(pattern, output)}

{{#LLDMACRO}.iregsub(pattern, output)}

图中示例写法:

{{ITEM.VALUE}.regsub("tion\"\,\s*\"\s*(\S+)\s*\(",\1)}

测试数据如下:

测试结果

从结果中可以看到,部件名称被正则截取到标记中。

同时,只有DIMM110 是既存在Assertion记录,又存在”Deassertion”记录的,所以只有DIMM110部件的告警是恢复了的。

 

优点:

  1. 配置简单,仅配置一条即可
  2. 告警事件不遗漏,多个部件告警信息,则产生多个告警事件
  3. 可以实现单个部件的告警、恢复记录的关联,不会因为其他此部件的恢复记录,触发其他部件告警的恢复操作

缺点:

  1. 配置逻辑较复杂,涉及标记、正则、内置宏等多方面

 

方法二:

配置单个触发器,如下2

  • 将告警最新值带进告警标题中,区分具体告警部件等信息。
  • 检测到关键字"Assertion"则告警
  • 检测到关键字"Deassertion"则恢复
  • 问题事件生成模式:多重:触发器未恢复的情况下可以多次产生告警;单个:多次规则匹配,如果已经产生的告警为恢复的情况下,不会重新产生新告警。效果如下
  • 3

优点:

  1. 配置简单,仅配置一条即可
  2. 告警事件不遗漏,多个部件告警信息,则产生多个告警事件

缺点:

  1. 一个部件告警恢复,则其他部件告警一并恢复,如4 —— 仅DIMM131部件恢复,其他部件的告警也被恢复了,其实并没有

方法三:

对每个部件添加一个触发器(如下5):

DIMM110部件告警触发器:

触发表达式:监控值包含DIMM110 且 包含关键字 "Assertion"

恢复表达式:监控值包含DIMM110 且 包含关键字 "Deassertion"

反复操作,添加DIMM111、DIMM120、DIMM121等多个触发器。

优点:

  1. 可以实现单个部件的告警、恢复记录的关联,不会因为其他此部件的恢复记录,触发其他部件告警的恢复操作

缺点:

  1. 配置工作量巨大,每个部件都需要定义一个对应触发器
  2. 可能会丢失、遗漏告警,因为可能部件关键字未加入触发器中

 

结论:

上述三种方法可以看出,逻辑上方法二、方法三更加简单明了,但是皆有不满足场景需求的情况;方法一则更贴合场景需求,且善用触发器的标记功能,也更利于监控平台的维护管理。参考该第一方法,可延伸较多场景,如日志事件告警恢复ID关联、snmptrap端口up\down数据告警关联、硬件事件相同部件名告警恢复关联、远程登入登出记录关联等。

以上就是这一期Zabbix技术分享。大家好,我是乐乐,专注运维技术研究与分享,关注我学习更多Zabbix使用技巧,更多问题也欢迎到乐维社区进行留言。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。