11 Ustawienia nieosiągalnego/niedostępnego interfejsu hosta
Przegląd
Kilka parametrów konfiguracji określa, jak serwer Zabbix powinien się zachować, gdy sprawdzenie przez agent (Zabbix, SNMP, IPMI, JMX) zakończy się niepowodzeniem, a interfejs hosta stanie się nieosiągalny.
Nieosiągalny interfejs
Interfejs hosta jest traktowany jako nieosiągalny po nieudanym sprawdzeniu (błąd sieciowy, przekroczenie limitu czasu) przez agenty Zabbix, SNMP, IPMI lub JMX. Od wersji Zabbix 6.2.0 aktywne sprawdzenia agenta Zabbix również wpływają na dostępność interfejsu. Gdy aktywne sprawdzenia stają się niedostępne, mają wpływ na ogólny status dostępności interfejsu agenta.
Od momentu, gdy interfejs staje się nieosiągalny, UnreachableDelay określa, jak często jest on sprawdzany ponownie przy użyciu jednej z pozycji (w tym reguł LLD).
Te ponowne sprawdzenia są wykonywane przez unreachable pollers (lub IPMI pollers w przypadku sprawdzeń IPMI).
Domyślnie odstęp między kolejnymi sprawdzeniami osiągalności wynosi 15 sekund.
Sprawdzenia wykonywane przez asynchroniczne pollery nie są przenoszone do unreachable pollers.
W logu serwera Zabbix nieosiągalność jest wskazywana przez komunikaty takie jak:
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
Komunikaty logu określają dokładną pozycję, która zakończyła się niepowodzeniem, oraz jej typ (agent Zabbix).
Parametr Timeout również wpływa na to, jak wcześnie interfejs jest sprawdzany ponownie w czasie nieosiągalności. Jeśli Timeout jest ustawiony na 20 sekund, a UnreachableDelay na 30 sekund, następne sprawdzenie nastąpi po 50 sekundach od pierwszej próby.
Parametr UnreachablePeriod określa całkowity czas trwania okresu nieosiągalności.
Domyślnie wartość UnreachablePeriod wynosi 45 sekund.
Ta wartość powinna być kilkukrotnie większa niż UnreachableDelay, aby zapewnić wielokrotne ponowne sprawdzenie interfejsu przed oznaczeniem go jako niedostępnego.
Wewnętrzna pozycja zabbix[host,active_agent,available] umożliwia monitorowanie dostępności aktywnych sprawdzeń w scenariuszach nieosiągalności.
Przełączanie interfejsu z powrotem na dostępny
Po zakończeniu okresu niedostępności interfejs jest ponownie odpytywany, ze zmniejszonym priorytetem dla pozycji, która spowodowała przejście interfejsu w stan niedostępności. Jeśli niedostępny interfejs pojawi się ponownie, monitorowanie automatycznie wraca do normy:
wznowienie kontroli Zabbix agent na hoście "New host": połączenie przywrócone
Gdy interfejs staje się dostępny, host nie odpytuje natychmiast wszystkich swoich pozycji z dwóch powodów:
- Mogłoby to przeciążyć host.
- Czas przywrócenia interfejsu nie zawsze pokrywa się z planowanym czasem harmonogramu odpytywania pozycji.
Dlatego po przywróceniu dostępności interfejsu pozycje nie są odpytywane natychmiast, lecz są przeplanowywane na następną rundę odpytywania.
Niedostępny interfejs
Po zakończeniu okresu UnreachablePeriod, jeśli interfejs nie pojawi się ponownie, jest on traktowany jako niedostępny.
W logu serwera jest to sygnalizowane komunikatami takimi jak:
temporarily disabling Zabbix agent checks on host "New host": interface unavailable
a we frontend ikona dostępności hosta zmienia kolor z zielonego/szarego na żółty/czerwony (szczegóły niedostępnego interfejsu można zobaczyć w dymku podpowiedzi, który jest wyświetlany po najechaniu kursorem na ikonę dostępności hosta):

Parametr UnavailableDelay określa, jak często interfejs jest sprawdzany w czasie jego niedostępności.
Domyślnie jest to 60 sekund (więc w tym przypadku „temporarily disabling” z komunikatu logu powyżej będzie oznaczać wyłączenie sprawdzania na jedną minutę).
Gdy połączenie z interfejsem zostanie przywrócone, monitorowanie również automatycznie wraca do normy:
enabling Zabbix agent checks on host "New host": interface became available