我有以下防止代理连接扑(它必须坚实的20分钟之前,标记为确定)。
从Zabbix Trigger Hysteresis – 不正确的触发器expression式中更正语法后,我有以下几点:
({TRIGGER.VALUE}=0 and {Template App Zabbix Agent:agent.ping.nodata(5m)}=1) or ({TRIGGER.VALUE}=1 and {Template App Zabbix Agent:agent.ping.min(20m)}=1)
在没有数据的情况下,它会在最初启动,但不会恢复。 目前我正在使用v3.0.9,所以现在尝试使用上面的代码。
我查了下目标最新的代理数据,可以看到代理ping的确是1个20多分钟。
任何想法,我做错了,请吗?
我做了一些实验:
如果可以访问,agent.ping将写入“1”值,如果不可访问,则不会写入任何内容; 所以即使你的代理不可达2个小时,最后的值是1.这意味着.min(),.avg()等…始终工作在“1”值列表。
.nodata()函数对篮板也没有帮助:只有在整个时间间隔内没有收到任何数据时才返回“1”,否则返回“0”。
例如,一个60秒的项目中的数据(20米)将会返回:
我find了解决办法,假设您每60秒检查一次代理可访问性:
({TRIGGER.VALUE}=0 and {Template App Zabbix Agent:agent.ping.nodata(5m)}=1) or ({TRIGGER.VALUE}=1 and {Template App Zabbix Agent:agent.ping.count(20m,1)}<20)
expression式将在5分钟不可触及之后触发,并且只有当在过去的20分钟中具有20个“1”值时才会恢复。
不太优雅,但它的作品。