3 Zależności wyzwalaczy
Omówienie
Czasami dostępność jednego hosta zależy od innego. Serwer znajdujący się za routerem stanie się niedostępny, jeśli router przestanie działać. Jeśli wyzwalacze są skonfigurowane dla obu urządzeń, możesz otrzymać powiadomienia o awarii dwóch hostów, podczas gdy winowajcą był tylko router.
W takiej sytuacji przydatna może być zależność między hostami. Po skonfigurowaniu zależności powiadomienia dotyczące zależnych hostów mogą zostać wstrzymane i wysłane może zostać tylko powiadomienie o problemie głównym.
Zabbix nie obsługuje bezpośrednio zależności między hostami, ale można je definiować za pomocą innej, bardziej elastycznej metody - zależności między wyzwalaczami. Wyzwalacz może zależeć od jednego lub większej liczby innych wyzwalaczy.
W naszym prostym przykładzie otwieramy formularz konfiguracji wyzwalacza serwera i ustawiamy jego zależność od odpowiedniego wyzwalacza routera. Przy takiej zależności stan wyzwalacza serwera nie zmieni się, dopóki wyzwalacz, od którego zależy, będzie w stanie „PROBLEM” - w związku z tym nie zostaną wykonane żadne akcje zależne ani wysłane żadne powiadomienia.
Jeśli zarówno serwer, jak i router są niedostępne oraz skonfigurowano zależność między wyzwalaczem „serwer niedostępny” a wyzwalaczem „router niedostępny”, Zabbix nie wykona akcji dla wyzwalacza zależnego.
Gdy nadrzędny wyzwalacz jest w stanie PROBLEM, jego wyzwalacze zależne mogą zgłaszać wartości, którym nie można ufać. Dlatego wyzwalacze zależne nie będą ponownie oceniane, dopóki nadrzędny wyzwalacz (w powyższym przykładzie router):
- nie powróci ze stanu „PROBLEM” do stanu „OK”;
- nie zmieni stanu z „PROBLEM” na „UNKNOWN”;
- nie zostanie zamknięty ręcznie, przez korelację lub za pomocą funkcji date and time i/lub nodata();
- nie zostanie rozwiązany przez wartość pozycji, która nie jest używana w wyzwalaczu zależnym;
- nie zostanie wyłączony, nie będzie mieć wyłączonej pozycji ani hosta z wyłączoną pozycją
We wszystkich wymienionych powyżej przypadkach wyzwalacz zależny (serwer) zostanie ponownie oceniony dopiero po otrzymaniu nowej metryki. Oznacza to, że wyzwalacz zależny może nie zostać zaktualizowany natychmiast.
Ponadto:
- Zależność wyzwalacza można dodać od wyzwalacza dowolnego hosta do dowolnego innego wyzwalacza hosta, o ile nie spowoduje to powstania zależności cyklicznej.
- Zależność wyzwalacza można dodać między jednym szablonem a innym. Jeśli wyzwalacz z szablonu A zależy od wyzwalacza z szablonu B, szablon A można powiązać z hostem (lub innym szablonem) tylko razem z szablonem B, natomiast szablon B można powiązać z hostem (lub innym szablonem) samodzielnie.
- Zależność wyzwalacza można dodać od wyzwalacza szablonu do wyzwalacza hosta. W takim przypadku powiązanie takiego szablonu z hostem utworzy wyzwalacz hosta zależny od tego samego szablonu wyzwalacza, od którego zależał wyzwalacz. Umożliwia to na przykład utworzenie szablonu, w którym niektóre wyzwalacze zależą od wyzwalaczy routera (hosta). Wszystkie hosty powiązane z tym szablonem będą zależeć od konkretnego routera.
- Nie można dodać zależności od wyzwalacza hosta do wyzwalacza szablonu.
- Zależność wyzwalacza można dodać od prototypu wyzwalacza do innego prototypu wyzwalacza (w ramach tej samej reguły wykrywania niskopoziomowego) lub do rzeczywistego wyzwalacza. Prototyp wyzwalacza nie może zależeć od prototypu wyzwalacza z innej reguły LLD ani od wyzwalacza utworzonego na podstawie prototypu wyzwalacza. Prototyp wyzwalacza hosta nie może zależeć od wyzwalacza z szablonu.
Konfiguracja
Aby zdefiniować zależność:
-
Otwórz kartę Zależności w formularzu konfiguracji wyzwalacza.
-
Kliknij Dodaj w sekcji Zależności i wybierz co najmniej jeden wyzwalacz, od którego będzie zależeć dany wyzwalacz.

-
Kliknij Aktualizuj.
Teraz na liście przy wyzwalaczu widoczna jest informacja o jego zależności.

Przykład kilku zależności
Na przykład host znajduje się za Router2, a Router2 znajduje się za Router1.
Zabbix - Router1 - Router2 - Host
Jeśli Router1 nie działa, to oczywiście host i Router2 są również niedostępne, jednak otrzymywanie trzech powiadomień o tym, że host, Router1 i Router2 nie działają, jest przesadą.
W takim przypadku definiujemy dwie zależności:
wyzwalacz 'Host is down' zależy od wyzwalacza 'Router2 is down'
wyzwalacz 'Router2 is down' zależy od wyzwalacza 'Router1 is down'
Przed zmianą stanu wyzwalacza 'Host is down' Zabbix sprawdzi odpowiednie zależności wyzwalaczy. Jeśli takie zależności zostaną znalezione i jeden z tych wyzwalaczy znajduje się w stanie 'Problem', stan wyzwalacza nie zostanie zmieniony, akcje nie zostaną wykonane i nie zostaną wysłane żadne powiadomienia.
Zabbix wykonuje to sprawdzenie rekurencyjnie. Jeśli Router1 lub Router2 są niedostępne, wyzwalacz hosta nie zostanie zaktualizowany.