11. Настройки недостижимости/недоступности интерфейса узла сети
Обзор
Несколько параметров конфигурации parameters определяют, как должен вести себя сервер Zabbix, когда проверка агента (Zabbix, SNMP, IPMI, JMX) завершается неудачей и интерфейс узла сети становится недоступным.
Недоступный интерфейс
Интерфейс узла сети считается недоступным после неудачной проверки (ошибка сети, тайм-аут) агентами Zabbix, SNMP, IPMI или JMX. Начиная с Zabbix 6.2.0, активные проверки агента Zabbix также влияют на доступность интерфейса. Когда активные проверки становятся недоступными, они учитываются в общем статусе доступности интерфейса агента.
С момента, когда интерфейс становится недоступным, UnreachableDelay определяет, как часто он перепроверяется с использованием одного из элементов данных (включая правила LLD). Эти повторные проверки выполняются опросчиками недоступных узлов (или IPMI-опросчиками для проверок IPMI). По умолчанию интервал между последовательными проверками доступности составляет 15 секунд.
Проверки, выполняемые асинхронными опросчиками, не переносятся к опросчикам недоступных узлов.
В журнале сервера Zabbix недоступность обозначается сообщениями вроде:
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).
Параметр Timeout также влияет на то, как рано интерфейс будет перепроверен во время недоступности. Если Timeout установлен в 20 секунд, а UnreachableDelay — в 30 секунд, следующая проверка будет через 50 секунд после первой попытки.
Параметр UnreachablePeriod определяет общую продолжительность периода недоступности. По умолчанию UnreachablePeriod равен 45 секундам. Это значение должно быть в несколько раз больше, чем UnreachableDelay, чтобы обеспечить многократную перепроверку интерфейса до того, как он будет помечен как недоступный.
Внутренний элемент данных zabbix[host,active_agent,available] позволяет отслеживать доступность активных проверок в сценариях недоступности.
Перевод интерфейса обратно в доступное состояние
По окончании периода недостижимости интерфейс опрашивается заново, со снижением приоритета элемента данных, который перевел интерфейс в недостижимое состояние. Если устанавливается связь с интерфейсом, который был недостижимым, мониторинг автоматически возвращается к норме:
resuming Zabbix agent checks on host "New host": connection restored
После того как интерфейс становится доступным, опрос всех элементов данных немедленно не осуществляется узлом сети по двум причинам:
- это может создать слишком большую нагрузку на узел сети,
- время восстановления интерфейса не всегда совпадает с плановым опросом элемента данных согласно заданному расписанию проверок.
Поэтому, когда интерфейс становится доступным, опрос элементов данных производится не сразу, а перепланируется в соответствии с расписанием их следующих проверок.
Недоступный интерфейс
После того как UnreachablePeriod завершился, а интерфейс так и не стал доступным, он считается недоступным.
В журнале сервера это обозначается записями такого рода:
temporarily disabling Zabbix agent checks on host "New host": interface unavailable
При этом в веб-интерфейсе иконка доступности узла сети меняет свой цвет с зеленого/серого на желтый/красный (при наведении указателя мыши на иконку доступности узла сети можно видеть информацию о недоступности интерфейса):

Параметр UnavailableDelay определяет, как часто интерфейс проверяется повторно в течение его недоступности.
По умолчанию — раз в 60 секунд (таким образом, в этом случае «temporarily disabling» из файла журнала выше будет означать деактивацию проверок сроком на одну минуту).
Когда соединение c интерфейсом будет восстановлено, мониторинг тоже автоматически вернётся к норме:
enabling Zabbix agent checks on host "New host": interface became available