# 3 Zależności wyzwalacza

#### Przegląd

Czasami dostępność jednego hosta zależy od innego. Serwer, który jest za
jakimś routerem stanie się niedostępny, jeżeli router przestanie
działać. Po skonfigurowaniu wyzwalaczy dla obu, można dostać
powiadomienia o nie działaniu obu hostów - podczas gdy zawinił jedynie
router.

W takich sytuacjach przydatne są zależności. Przy ustawionych
zależnościach powiadomienia o elementach zależnych nie powstaną i
wysłane zostanie tylko powiadomienie o głównym problemie.

Ponieważ Zabbix nie udostępnia bezpośrednio zależności pomiędzy hostami,
można je zdefiniować w inny, bardziej elastyczny sposób -zależnościami
wyzwalacza. Wyzwalacz może mieć jeden lub więcej wyzwalaczy, od których
zależy.

W naszym przykładzie otworzymy formularz konfiguracji wyzwalacza serwera
i ustawimy zależność od odpowiedniego wyzwalacza routera. Z taką
zależnością wyzwalacz serwera nie zmieni stanu tak długo, jak długo
wyzwalacz, od którego zależy jest w stanie 'Problem' - zatem nie będą
wykonane zależne akcje i nie zostaną wysłane powiadomienia.

Jeżeli zarówno serwer jak i router nie działa i istnieje zależność,
Zabbix nie wykona akcji dla zależnego wyzwalacza.

Należy zauważyć, że zdarzenia/akcje dla wyzwalaczy zależnych nie będą
tłumione, gdy wyzwalacz, od których zależą jest wyłączony, ma wyłączone
pozycje lub wyłączony host pozycji.

Również:

-   Zależność wyzwalacza można dodać z jednego wyzwalacza hosta do
    dowolnego innego wyzwalacza hosta, tak długo jak nie tworzą
    zależności cyklicznych.
-   Zależność wyzwalacza można dodać z szablonu do szablonu. Jeżeli
    wyzwalacz z szablonu A zależy od wyzwalacza z szablonu B, szablon A
    można podłączać do hosta (lob innego szablonu) razem z szablonem B,
    ale szablon B można podłączać do hosta (lub innego szablonu)
    indywidualnie.
-   Zależność wyzwalacza można dodać z wyzwalacza szablonu do wyzwalacza
    hosta. W tym przypadku, podłączenie takiego szablonu do hosta
    utworzy wyzwalacz hosta, który zależy od tego samego szablonu
    wyzwalacza, od którego zależy wyzwalacz. Pozwala to na przykład,
    mieć szablon, w którym niektóre wyzwalacze zależą od wyzwalaczy
    routera (hosta). Wszystkie hosty podłączone do tego szablonu będą
    zależeć od tego specyficznego routera.
-   Nie można dodawać zależności wyzwalaczy z wyzwalacza hosta do
    wyzwalacza szablonu.

#### Konfiguracja

Żeby zdefiniować zależność, należy otworzyć [formularz
konfiguracji](trigger#konfiguracja) wyzwalacza. Kliknąć na *Dodaj* i
wybrać jeden lub więcej wyzwalaczy, od których zależy wyzwalacz.

![](../../../../assets/pl/manual/config/triggers/dependency.png)

Kliknąć *Zapisz*. Od teraz wyzwalacz na liście będzie miał pokazane
swoje zależności.

![](../../../../assets/pl/manual/config/triggers/dependency2.png)

##### Przykład kilku zależności

Na przykład, Host jest za routerem Router2 a Router2 jest za Router1.

    Zabbix - Router1 - Router2 - Host

Jeżeli nie działa Router1, wtedy oczywiście Host i Router2 są również
niedostępne, ale nie chcemy otrzymywać trzech powiadomień o tym, że nie
działa Host, Router1 i Router2.

Wobec tego definiujemy dwie zależności:

    Wyzwalacz 'Host nie działa' zależy od wyzwalacza 'Router2 nie działa'
    Wyzwalacz 'Router2 nie działa' zależy od wyzwalacza 'Router1 nie działa'

Przed zmianą stanu wyzwalacza 'Host nie działa', Zabbix sprawdzi
odpowiednie zależności wyzwalaczy. Jeżeli znajdzie je, i jeden z
wyzwalaczy będzie w stanie 'Problem', to stan wyzwalacza nie zmieni się
a zatem nie zostaną wykonane akcje i nie będą wysłane powiadomienia.

Zabbix wykonuje te sprawdzenia rekursywnie. Jeżeli Router1 lub Router2
są niedostępne, wyzwalacz Hosta nie zostanie zaktualizowany.
