[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(Ping 在 03:30:01 失败)

⇒ 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(Ping 成功,时间为 03:30:01)

⇒ 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,因此不会触发警报。

检查示例中描述的八种模式,如果它们运行正常,则应该没有问题。希望这
能有所帮助。

概括

这次,我们在 Zabbix 中实现了“监控排除时间设置”,并使用“条件表达式生成器”进行了一个简单的测试。
即使您确认测试中没有问题,也请务必检查更改设置后图表是否也按预期运行!

如果您觉得这篇文章对您有帮助,请点个“赞”!
3
加载中...
3票,平均分:1.00/13
15,926
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

中川刚

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

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