通常,在Zabbix中正常事件会关闭所有的问题事件,但在某些情况下需要更的细致的方法。例如,当监控日志文件时,在日志文件中想要发现某些问题,并将它们单独关闭,而不是一起关闭。
当触发器配置页面的“多重问题事件生成”选项为启用的情况下,通常适用于日志监控、主动采集(trap)处理等。
在Zabbix中,可以根据事件标签关联问题事件。标签用于提取值并为问题事件创建标识。利用这一点,问题也可以根据匹配的标签进行关闭。
换言之,相同的触发器可以创建由事件标签标识的的不同事件。因此,可以单独地标识问题事件,并基于事件标签地标识单独关闭。
事件关联可以被定义在:
在日志监控中,可能会遇到下面类似地输出:
Line1: Application 1 stopped
Line2: Application 2 stopped
Line3: Application 1 was restarted
Line4: Application 2 was restarted
事件关联地想法是将从“Line1”的问题事件到“Line3”的恢复事件,和从“Line2”的问题事件到“Line4”的恢复事件相匹配,并能逐个关闭这些问题:
Line1: Application 1 stopped
Line3: Application 1 was restarted #problem from Line 1 closed
Line2: Application 2 stopped
Line4: Application 2 was restarted #problem from Line 2 closed
为此,需要将通过标签将这些事件相关联,例如,可以标识为“Application 1”和“Application 2”。这个过程也可以将正则表达式应用于日志中来提取标签的值。然后,当事件创建时,他们分别给标识为“Application 1”和“Application 2”,并且问题可以与解决方法相匹配
在触发器的配置界面配置事件关联:
如果配置成功,能偶看到标记的“application ”的问题事件,并与监测中 → 问题页面看到结果相匹配
当为不相关的问题创建相似的事件标签时,有一些警告信息是关于配置错误的:
* 实际上标签和标签的值只有在触发器触发时才会显示。如果所使用的正则表达式无效的话,则会使用默认的字段“UNKNOWN”进行替换。如果错过了标签值“UNKNOWN”的初始问题事件,那么可能会出现与标签值“UNKNOWN”的后续正常事件,并有可能导致关闭不应该关闭的问题事件。
在略微不同的情况下,可能会有不同的触发器来触发问题和解决问题。例如,日志触发器可能会报告应用程序有问题,而轮询触发器可能会报告应用程序还处于运行状态。
利用事件标签,可以将日志触发器标记为“Status: Down”,而轮询触发器将标记为“Status: Up”。然而,在全局关联规则中,可以关联这些触发器并将动作的操作分配给此关联。例如关闭旧事件或关闭新事件。
配置事件的全局关联规则: