Zabbix触发器和监控项设置时间范围
一、实际业务场景
业务问题
最近在监控 ActiveMQ
的阻塞消息时,发现每天0点都有预警,然后进行排查,0 点确实是有阻塞消息,这个阻塞消息的存在,是因为 0点系统进行结算,会产生大量的消息,并且有一些结算任务,导致消息会有阻塞。但是这个阻塞是正常的,我不想进行预警,那么有以下方法可以禁止这个预警:
-
设置监控时间
就是在某个时间段不去获取该监控项的数据,这个方法好像是可以,但是隐隐感觉有些不妥。
-
设置触发器时间(推荐方法)
就是监控的数据我获取,但是在某个时间段该触发器无效。这个好像还不错。
-
设置用户报警媒介启用时间
就是设置该用户在某个时间段可以收到报警,某个时间段不接受报警。这个设置得背锅哦。
解决办法
经过上面的对比,我觉得还是 设置触发器时间比较适合该需求。所以我们设置触发器监控时间。设置为 0 点0分到 0点 10分,该监控项不预警。
使用到触发器设置范围,也觉得该对 zabbix 设置时间范围配置做个总的记录。
二、Zabbix触发器和监控项与用户预警设置时间范围配置流程
一、触发器设置时间范围
触发器设置时间范围需要将触发器条件和 触发器时间范围相结合,比如我们有一个需求,就是我们需要在 时间点 1点到 23点,检查agent 是否活跃,当在这个时间段如果 agent 不活跃的话就进行预警。
首先我们需要创建一个触发器,选择监控项为 agent.ping
,创建当 agent.ping=0
时候的表达式。
然后我们选择表达式构建构造器。选择上面一样的监控项,功能选择 time() 当前时间
设置时间范围,
注意时间范围的格式是 :HHMMSS,也就是6位数字。
这样就ok了。
二、监控项设置时间范围
在创建监控项里面的,自定义时间间隔,可以设置监控范围。
示例: 我想在星期一到星期五,全天监控,间隔是 30s, 周六到 周日,全天监控,间隔是 60s.
间隔 | 周期 |
---|---|
30 | 1-5,00:00-24:00 |
60 | 6-7,00:00-24:00 |
示例2:我想周一到周日全天监控,间隔30s,但是在每天的 0点到 0点10不监控。
间隔 | 周期 |
---|---|
30 | 1-7,00:10-24:00 |
0 | 6-7,00:00-00:10 |
如果灵活间隔设置为“0”,则在灵活间隔期间不轮询监控项,并在周期结束后根据默认更新间隔恢复轮询。
详细监控项自定义间隔见 官方文档
三、用户报警设置启用时间
该设置在用户基本资料的报警媒介里面。