如何判断Zabbix触发器是否激活及查找数据库未关闭事件标识
Zabbix事件关闭状态的标识位置
Zabbix数据库里,判断事件是否关闭主要看这两个关键位置:
1. events表的status字段
events是存储所有事件的核心表,其中status字段直接标记事件状态:
status = 0:事件处于活动状态(未关闭,对应你场景中复制延迟超40GB时生成的value=1记录)status = 1:事件已解决/关闭(当延迟回落到40GB以下生成value=0记录后,原value=1的事件status会被更新为1)
2. events表的r_eventid字段
当触发器从问题状态恢复时,生成的value=0恢复事件,其r_eventid字段会指向对应的value=1问题事件的eventid。通过这个字段可以精准关联一对“触发-恢复”事件,方便你计算两者的时间差(用恢复事件的clock字段减去问题事件的clock字段即可)。
针对你的统计需求补充
你要每日统计延迟超40GB的时长,需要注意:
- 如果前一日生成的
value=1事件status还是0,说明当前延迟仍超40GB,统计时要把该事件的clock到当日结束的时长纳入计算。 - 对已关闭的事件(
status=1),直接通过r_eventid关联的恢复事件计算时长即可。 - 可以用
source=0(触发器事件)和object=0(触发器)过滤出你配置的触发器相关事件,避免统计其他无关事件。
内容的提问来源于stack exchange,提问作者Gerzzog
相关产品推荐
相关产品推荐

