Trigeru atkarības

Trigeru atkarības var izmantot, lai izvairītos no brīdinājumiem, kas nav saistīti ar pamatcēloni.

Skatiet visas labākās prakses.

Pārskats

Dažkārt viena hosta pieejamība ir atkarīga no cita. Serveris, kas atrodas aiz maršrutētāja, kļūs nesasniedzams, ja maršrutētājs pārstās darboties. Ja abiem ir konfigurēti trigeri, jūs varat saņemt paziņojumus par diviem nedarbojošiem hostiem, lai gan patiesībā vainīgs bija tikai maršrutētājs.

Šādā gadījumā var noderēt noteikta atkarība starp hostiem. Ja atkarība ir iestatīta, atkarīgo objektu paziņojumi var tikt aizturēti un nosūtīts tikai paziņojums par pamatproblēmu.

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

Tātad mūsu vienkāršajā piemērā mēs atveram servera trigeru 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, kamēr trigeris, no kura tas ir atkarīgs, atrodas stāvoklī 'PROBLEM' — un tādējādi netiks izpildītas nekādas atkarīgās darbības un netiks nosūtīti paziņojumi.

Ja gan serveris, gan maršrutētājs nedarbojas un atkarība ir iestatīta, Zabbix neizpildīs darbības atkarīgajam trigerim.

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

  • atgriežas no stāvokļa 'PROBLEM' uz 'OK';
  • maina savu stāvokli no 'PROBLEM' uz 'UNKNOWN';
  • tiek aizvērts manuāli, ar korelācijas palīdzību vai izmantojot date and time un/vai nodata() funkcijas;
  • tiek atrisināts ar tāda vienuma vērtību, kas nav iesaistīts atkarīgajā trigerī;
  • tiek atspējots, tam ir atspējots vienums vai atspējots vienuma hosts

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

Papildus:

  • Trigera atkarību var pievienot no jebkura hosta trigera uz jebkuru citu hosta trigeri, ja vien tas neizraisa 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 var piesaistīt hostam (vai citai veidnei) tikai kopā ar veidni B, bet veidni B var piesaistīt hostam (vai citai veidnei) arī atsevišķi.
  • Trigera atkarību var pievienot no veidnes trigera uz hosta trigeri. Šajā gadījumā, piesaistot šādu veidni hostam, tiks izveidots hosta trigeris, kas ir atkarīgs no tās pašas trigera veidnes, no kuras bija atkarīgs sākotnējais trigeris. Tas ļauj, piemēram, izveidot veidni, kurā daži trigeri ir atkarīgi no maršrutētāja (hosta) trigeriem. Visi hosti, kas piesaistīti šai veidnei, būs atkarīgi no šī konkrētā maršrutētāja.
  • Trigera atkarību nevar pievienot no hosta trigera uz veidnes trigeri.
  • Trigera atkarību var pievienot no trigera prototipa uz citu trigera prototipu (viena un tā paša zema līmeņa atklāšanas noteikuma ietvaros) vai reālu trigeri. Trigera prototips nevar būt atkarīgs no trigera prototipa no cita LLD noteikuma vai no trigera, kas izveidots no trigera prototipa. Hosta trigera prototips nevar būt atkarīgs no trigera no veidnes.

Konfigurācija

Lai definētu atkarību, atveriet trigera konfigurācijas formā cilni Atkarības. Noklikšķiniet uz Pievienot blokā “Atkarības” un atlasiet vienu vai vairākus trigerus, no kuriem šis trigeris būs atkarīgs.

Noklikšķiniet uz Atjaunināt. Tagad trigerim sarakstā ir redzama norāde par tā atkarību.

Vairāku atkarību piemērs

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

Zabbix - Router1 - Router2 - Host

Ja Router1 nedarbojas, tad ir acīmredzams, ka arī hosts un Router2 nav sasniedzami, tomēr saņemt trīs paziņojumus par to, ka hosts, Router1 un Router2 visi nedarbojas, ir pārmērīgi.

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

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 trigeru atkarības. Ja tādas tiks atrastas un viens no šiem trigeriem būs Problem stāvoklī, tad trigera stāvoklis netiks mainīts, darbības netiks izpildītas un paziņojumi netiks nosūtīti.

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