[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的条件表达式如下:

当 ping 通信失败时,条件 A 返回 TRUE。
条件 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
加载中...
3票,平均分:1.00/13
15,723
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

中川刚

我于2017年8月加入公司
,在基础设施团队工作了大约一年半,目前在技术销售部门。
我的爱好是在网上逛街。

■ 资质认证
LPIC1
AWS 认证云从业者