[comment]: # ({d5d0048d-d5d0048d})
# 3 Trigeru atkarības

[comment]: # ({/d5d0048d-d5d0048d})

[comment]: # ({4ad92f53-26bda053})
### Pārskats

Dažkārt viena hosts pieejamība ir atkarīga no cita.
Serveris, kas atrodas aiz maršrutētāja, kļūs nesasniedzams, ja maršrutētājs pārtrauks darboties.
Ja abiem ir konfigurēti trigeri, jūs varat saņemt paziņojumus par to, ka abi hosts ir nedarbspējīgi, lai gan vainīgs bija tikai maršrutētājs.

Šādā gadījumā var noderēt kāda atkarība starp hosts.
Ja ir iestatīta atkarība, var aizturēt atkarīgo objektu paziņojumus un nosūtīt tikai paziņojumu par pamatproblēmu.

Lai gan Zabbix tieši neatbalsta atkarības starp hosts, tās var definēt ar citu, elastīgāku metodi - trigeru atkarībām.
Trigerim var būt viens vai vairāki trigeri, no kuriem tas ir atkarīgs.

Tātad mūsu vienkāršajā piemērā mēs atveram servera trigera konfigurācijas formu un iestatām, ka tas ir atkarīgs no attiecīgā maršrutētāja trigera.
Ar šādu atkarību servera trigeris nemainīs savu stāvokli tik ilgi, kamēr trigeris, no kura tas ir atkarīgs, ir 'PROBLEM' stāvoklī - un tādējādi netiks veiktas atkarīgās darbības un netiks nosūtīti paziņojumi.

Ja gan serveris, gan maršrutētājs ir nedarbspējīgi un ir iestatīta atkarība starp "server down" trigeri un "router down" trigeri, Zabbix neveiks darbības atkarīgajam trigerim.

Kamēr vecāktrigeris ir PROBLEM stāvoklī, tā atkarīgie var ziņot vērtības, kurām nevar uzticēties.
Tāpēc atkarīgie trigeri netiks pārvērtēti, līdz vecāktrigeris (iepriekš minētajā piemērā maršrutētājs):

-   atgriežas no 'PROBLEM' uz 'OK' stāvokli;
-   maina savu stāvokli no 'PROBLEM' uz 'UNKNOWN';
-   tiek aizvērts manuāli, korelācijas ceļā vai ar [date and time](/manual/appendix/functions/time) un/vai [nodata()](/manual/appendix/functions/history#nodata) funkciju palīdzību;
-   tiek atrisināts ar tāda vienuma vērtību, kas nav iesaistīts atkarīgajā trigerī;
-   ir atspējots, tam ir atspējots vienums vai atspējots vienuma hosts

Visos iepriekš minētajos gadījumos atkarīgais trigeris (serveris) tiks pārvērtēts tikai tad, kad tam tiks saņemta jauna metrika.
Tas nozīmē, ka atkarīgais trigeris var netikt atjaunināts nekavējoties.

Arī:

-   Trigera atkarību var pievienot no jebkura hosts trigera uz jebkuru citu hosts trigeri, ja vien tas nerada ciklisku atkarību.
-   Trigera atkarību var pievienot no vienas veidnes uz citu.
Ja kāds trigeris no veidnes A ir atkarīgs no kāda trigera no veidnes B, veidni A drīkst piesaistīt hosts (vai citai veidnei) tikai kopā ar veidni B, bet veidni B drīkst piesaistīt hosts (vai citai veidnei) arī atsevišķi.
-   Trigera atkarību var pievienot no veidnes trigera uz hosts trigeri.
Šajā gadījumā, piesaistot šādu veidni hosts, tiks izveidots hosts trigeris, kas būs atkarīgs no tā paša trigera veidnes, no kuras bija atkarīgs trigeris.
Tas ļauj, piemēram, izveidot veidni, kurā daži trigeri ir atkarīgi no maršrutētāja (hosts) trigeriem.
Visi hosts, kas piesaistīti šai veidnei, būs atkarīgi no konkrētā maršrutētāja.
-   Trigera atkarību nedrīkst pievienot no hosts trigera uz veidnes trigeri.
-   Trigera atkarību var pievienot no trigera prototipa uz citu trigera prototipu (tajā pašā zema līmeņa atklāšanas noteikumā) vai reālu trigeri.
Trigera prototips nedrīkst būt atkarīgs no trigera prototipa no cita LLD noteikuma vai no trigera, kas izveidots no trigera prototipa.
Hosts trigera prototips nevar būt atkarīgs no trigera no veidnes.

[comment]: # ({/4ad92f53-26bda053})

[comment]: # ({f09d14f7-c4578b73})
### Konfigurācija

Lai definētu atkarību:

1. Atveriet cilni *Dependencies* trigeru [konfigurācijas formā](/manual/config/triggers/trigger#configuration).
2. Noklikšķiniet *Add* sadaļā *Dependencies* un atlasiet vienu vai vairākus trigerus, no kuriem šis trigeris būs atkarīgs.

    ![](../../../../assets/en/manual/config/triggers/dependency.png){width="600"}

3. Noklikšķiniet *Update*.

Tagad trigeru sarakstā ir redzama tā atkarība.

![](../../../../assets/en/manual/config/triggers/dependency_list.png)

[comment]: # ({/f09d14f7-c4578b73})

[comment]: # ({6292d334-4dc2ce6b})
##### Vairāku atkarību piemērs

Piemēram, hosts atrodas aiz Router2, bet Router2 atrodas aiz Router1.

```default
Zabbix - Router1 - Router2 - Host
```

Ja Router1 nedarbojas, tad acīmredzami arī hosts un Router2 nav sasniedzami, taču trīs paziņojumu saņemšana par to, ka hosts, Router1 un Router2 visi nedarbojas, ir pārmērīga.

Tāpēc šajā gadījumā mēs definējam divas atkarības:

```default
trigeris 'Host is down' ir atkarīgs no trigera 'Router2 is down'
trigeris 'Router2 is down' ir atkarīgs no trigera 'Router1 is down'
```

Pirms mainīt trigera 'Host is down' statusu, Zabbix pārbaudīs atbilstošās trigera atkarības.
Ja tādas tiek atrastas un viens no šiem trigeriem ir stāvoklī 'Problem', trigera statuss netiks mainīts, darbības netiks izpildītas un paziņojumi netiks nosūtīti.

Zabbix veic šo pārbaudi rekursīvi.
Ja Router1 vai Router2 nav sasniedzams, Host trigeris netiks atjaunināts.

[comment]: # ({/6292d334-4dc2ce6b})
