Varios parámetros de configuración definen cómo debe comportarse el servidor Zabbix cuando una comprobación de agente (Zabbix, SNMP, IPMI, JMX) falla y la interfaz de un equipo se vuelve inaccesible.
Una interfaz de equipo se considera inaccesible después de una comprobación fallida (error de red, tiempo de espera) por parte de los agentes Zabbix, SNMP, IPMI o JMX. Desde Zabbix 6.2.0, las comprobaciones activas del agente Zabbix también afectan a la disponibilidad de la interfaz. Cuando las comprobaciones activas dejan de estar disponibles, contribuyen al estado general de disponibilidad de la interfaz del agente.
Desde el momento en que una interfaz se vuelve inaccesible, UnreachableDelay define con qué frecuencia se vuelve a comprobar utilizando una de las métricas (incluyendo reglas LLD). Estas comprobaciones se realizan mediante pollers de inaccesibilidad (o pollers IPMI para comprobaciones IPMI). Por defecto, el intervalo entre comprobaciones consecutivas de accesibilidad es de 15 segundos.
Las comprobaciones realizadas por pollers asíncronos no se trasladan a pollers de inaccesibilidad.
En el registro del servidor Zabbix, la inaccesibilidad se indica mediante mensajes como:
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
Los mensajes del registro especifican la métrica exacta que falló y su tipo (agente Zabbix).
El parámetro Timeout también afectará a la rapidez con la que se vuelve a comprobar una interfaz durante la inaccesibilidad. Si Timeout se establece en 20 segundos y UnreachableDelay en 30 segundos, la siguiente comprobación será a los 50 segundos después del primer intento.
El parámetro UnreachablePeriod define la duración total del período de inaccesibilidad. Por defecto, UnreachablePeriod es de 45 segundos. Este valor debe ser varias veces mayor que UnreachableDelay para asegurar que una interfaz se vuelva a comprobar varias veces antes de marcarse como no disponible.
Una métrica interna, zabbix[host,active_agent,available], permite monitorizar la disponibilidad de las comprobaciones activas en escenarios de inaccesibilidad.
Cuando finaliza el período de inaccesibilidad, la interfaz se sondea nuevamente, disminuyendo la prioridad para la métrica que puso la interfaz en estado de inaccesibilidad. Si la interfaz inaccesible reaparece, la monitorización vuelve a la normalidad automáticamente:
Una vez que la interfaz se vuelve disponible, el equipo no sondea todas sus métricas inmediatamente por dos razones:
Por lo tanto, después de que la interfaz se vuelve disponible, las métricas no se sondean inmediatamente, sino que se reprograman para su próxima ronda de sondeo.
Después de que finaliza el UnreachablePeriod y la interfaz no ha reaparecido, la interfaz se trata como no disponible.
En el registro del servidor se indica mediante mensajes como estos:
deshabilitando temporalmente las comprobaciones del agente Zabbix en el equipo "Nuevo equipo": interfaz no disponible
y en el frontend el icono de disponibilidad del equipo pasa de verde/gris a amarillo/rojo (los detalles de la interfaz no disponible pueden verse en el cuadro de información que se muestra cuando se posiciona el ratón sobre el icono de disponibilidad del equipo):
El parámetro UnavailableDelay define con qué frecuencia se comprueba una interfaz durante la indisponibilidad de la interfaz.
Por defecto es de 60 segundos (por lo que en este caso "deshabilitando temporalmente", según el mensaje del registro anterior, significará deshabilitar las comprobaciones durante un minuto).
Cuando se restablece la conexión con la interfaz, la monitorización vuelve a la normalidad automáticamente también: