若干配置 parameters 定义了当 agent 检查(Zabbix、SNMP、IPMI、JMX)失败且 一个主机 接口不可达时,Zabbix 服务器应如何响应。
当Zabbix、SNMP、IPMI或JMX agents检测失败(网络错误、超时)时,一个主机接口将被视为不可达。从Zabbix 6.2.0开始,主动式Zabbix agent检查也会影响接口可用性。当主动检查不可用时,它们会参与agent接口的整体可用性状态计算。
从接口变为不可达的那一刻起,unreachabledelay定义了使用监控项(包括LLD规则)重新检查该接口的频率。 这些重新检查由不可达采集器(或IPMI采集器执行IPMI检查)执行。 默认情况下,连续可达性检查之间的间隔为15秒。
异步采集器执行的检查不会转移到不可达采集器。
在Zabbix server日志中,不可达状态会通过如下消息标识:
Zabbix agent item "system.cpu.load[percpu,avg1]" on host "New host" failed: first network error, wait for 15 seconds
Zabbix agent item "system.cpu.load[percpu,avg15]" on host "New host" failed: another network error, wait for 15 seconds
日志消息会明确指定失败的监控项及其类型(Zabbix agent)。
Timeout参数也会影响接口在不可达期间的重新检查时机。如果Timeout设为20秒且UnreachableDelay为30秒,则下一次检查将在首次尝试后50秒进行。
UnreachablePeriod参数定义了不可达状态的总持续时间。默认UnreachablePeriod为45秒。 该值应数倍于UnreachableDelay,以确保接口在被标记为不可用前经过多次重新检查。
内置监控项zabbix[主机,active_agent,available]可用于监控不可达场景下主动检查的可用性。
当不可达周期结束后,接口会再次被轮询,同时降低导致接口进入不可达状态的监控项的优先级。如果不可达的接口重新出现,监控将自动恢复正常:
一旦接口变为可用,主机不会立即轮询其所有监控项,原因有两个:
因此,在接口变为可用后,监控项不会立即被轮询,而是被重新安排到下一轮轮询中。
不可达周期结束后,如果接口仍未重新出现,则该接口将被视为不可用。
在服务器日志中,会显示如下消息:
并且在 frontend 主机 可用性图标从绿色/灰色变为黄色/红色(将鼠标悬停在 主机 可用性图标上时,提示框中会显示不可用接口的详细信息):
UnavailableDelay 参数定义了在接口不可用期间对接口进行检查的频率。
默认情况下是 60 秒(因此在这种情况下,从上面的日志消息来看,“暂时禁用”意味着禁用检查一分钟)。
当接口的连接恢复后,监控也会自动恢复正常: