[ZABBIX3.4] 设置监控排除时间
这位是技术销售部的中川先生。
有时,由于日常备份和数据聚合进程,服务器负载会在特定时间段内增加,从而导致发出警报。
您无法停止这些进程,但又希望减少不必要的警报……
在这种情况下,您可以通过设置监控排除时间来减少不必要的警报。
设置监控排除时间
要设置特定时间段的排除项,请使用时间功能。
依次选择“设置”>“主机”>“选择目标主机”>“触发器”>“选择要设置监控排除时间的触发器”。
原始条件 + 且(排除开始时间或排除结束时间)

{hostname:icmpping[<target> ,<packets> ,<interval> ,<size> ,<timeout> ].max({$PING.RETRY.TH})}=0 和 (({hostname:icmpping[<target> ,<packets> ,<interval> ,<size> ,<timeout> ].time(0)} < 030000) 或 ({hostname:icmpping[<target> ,<packets> ,<interval> ,<size> ,<timeout> ].time(0)} > 033000))
-> 按照上述设置,只有当 ping 通信失败的时间段在 3:00 到 3:30 之间时,才会生成警报。
关于表达式生成器
条件表达式生成器 > 测试
条件表达式生成器允许您测试所创建的条件表达式中的多个模式。
输入项如下。
*数值(整数)项因监控类型而异。
| 数值(整数) | Ping 通信 [0 = 失败 1 = 成功] |
| HHMMSS | 小时、分钟、秒 |
每个ABC的条件表达式如下:
条件 B 在 00:00:00 至 02:59:59 之间返回 TRUE。
条件 C 在 03:30:01 至 23:59:59 之间返回 TRUE。
最终结果(底部项目)为真或假的条件
[A = 真,B 或 C = 真]
如果两个结果均为真,则底部的最终结果也将为真。
[A = 正确,B 或 C = 错误]
因为只有一个为真,所以最终结果为假。
[A = 错误,B 或 C = 正确]
因为只有一个为真,所以最终结果为假。
[A = 错误,B 或 C = 错误]
两者都为 FALSE,所以最终结果为 FALSE。
如果条件表达式的最终结果为真,则会发出警报;
如果最终结果为假,则不会发出警报。
我们将基于此进行运行测试。
使用条件表达式生成器进行测试
使用条件生成器检查监控排除时间设置是否正确。
=======================================================
示例 1(ping 通信在 02:59:59 失败)

⇒ A = TRUE(ping 通信失败)
B = TRUE(对应于 00:00:00 ~ 02:59:59)
C = FALSE(不对应于 03:30:01 ~ 23:59:59)
最终结果为 TRUE,因此触发警报。
示例 2(03:30:01 ping 通信失败)

⇒ A = TRUE(ping 通信失败)
B = FALSE(不在 00:00:00 和 02:59:59 之间)
C = TRUE(在 03:30:01 和 23:59:59 之间)
最终结果为 TRUE,因此触发警报。
示例 3(ping 通信在 03:00:00 失败)

⇒ A = TRUE(ping 通信失败)
B = FALSE(不在 00:00:00 和 02:59:59 之间)
C = FALSE(不在 03:30:01 和 23:59:59 之间)
最终结果为 FALSE,因此不会触发警报。
示例 4(ping 通信在 03:30:00 失败)

⇒ A = TRUE(ping 通信失败)
B = FALSE(不在 00:00:00 和 02:59:59 之间)
C = FALSE(不在 03:30:01 和 23:59:59 之间)
最终结果为 FALSE,因此不会触发警报。
示例 5(ping 通信成功,时间为 02:59:59)

⇒A = FALSE(ping 通信成功)
B = TRUE(对应于 00:00:00 ~ 02:59:59)
C = FALSE(不对应于 03:30:01 ~ 23:59:59)
最终结果为 FALSE,因此不会触发警报。
示例 6(03:30:01 ping 通信成功)

⇒ A = FALSE(ping 通信成功)
B = FALSE(不在 00:00:00 和 02:59:59 之间)
C = TRUE(在 03:30:01 和 23:59:59 之间)
最终结果为 FALSE,因此不会触发警报。
示例 7(ping 通信成功,时间为 03:00:00)

⇒ A = FALSE(ping 通信成功)
B = FALSE(不在 00:00:00 和 02:59:59 之间)
C = FALSE(不在 03:30:01 和 23:59:59 之间)
最终结果为 FALSE,因此不会触发警报。
示例 8(ping 通信成功,时间为 03:30:00)

⇒ A = FALSE(ping 通信成功)
B = FALSE(不在 00:00:00 和 02:59:59 之间)
C = FALSE(不在 03:30:01 和 23:59:59 之间)
最终结果为 FALSE,因此不会触发警报。
检查示例中编写的 8 种模式,如果它们运行正常,应该就没有问题了。希望这
能有所帮助。
概括
这次,我们设置了 ZABBIX 的“监控排除时间”,并使用“条件表达式生成器”进行了一个简单的测试。
即使您确认测试没有问题,更改设置后,也请务必检查图表是否按预期运行!
3