11 Ustawienia nieosiągalnego/niedostępnego interfejsu hosta
Przegląd
Kilka parametrów konfiguracji parameters określa, jak serwer Zabbix powinien się zachować, gdy sprawdzenie agentem (Zabbix, SNMP, IPMI, JMX) zakończy się niepowodzeniem, a interfejs hosta stanie się niedostępny.
Niedostępny interfejs
Interfejs hosta jest uznawany przez Zabbix za niedostępny po nieudanym sprawdzeniu (błąd sieci, przekroczenie limitu czasu) przez agentów Zabbix, SNMP, IPMI lub JMX. Od Zabbix 6.2.0 aktywne sprawdzenia agenta Zabbix również wpływają na dostępność interfejsu. Gdy aktywne sprawdzenia stają się niedostępne, wpływają na ogólny status dostępności interfejsu agenta.
Od momentu, gdy interfejs staje się niedostępny, UnreachableDelay określa, jak często jest on ponownie sprawdzany przy użyciu jednej z pozycji (w tym reguł LLD). Te ponowne sprawdzenia są wykonywane przez pollery dla niedostępnych interfejsów (lub pollery IPMI dla sprawdzeń IPMI). Domyślnie odstęp między kolejnymi sprawdzeniami dostępności wynosi 15 sekund.
Sprawdzenia wykonywane przez asynchroniczne pollery nie są przenoszone do pollerów dla niedostępnych interfejsów.
W logu serwera Zabbix niedostępność jest sygnalizowana komunikatami takimi 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 (Zabbix agent).
Parametr Timeout wpływa również na to, jak wcześnie interfejs jest ponownie sprawdzany podczas niedostępnoś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 niedostępności. Domyślnie UnreachablePeriod wynosi 45 sekund. Ta wartość powinna być kilkukrotnie większa niż UnreachableDelay, aby zapewnić, że interfejs zostanie sprawdzony ponownie wielokrotnie, zanim zostanie oznaczony jako niedostępny.
Pozycja wewnętrzna, zabbix[host,active_agent,available], umożliwia monitorowanie dostępności aktywnych sprawdzeń w scenariuszach niedostępnoś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