[comment]: # (tags: trigger)

[comment]: # ({e02835c7-e02835c7})
# 3 Trigeri

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

[comment]: # ({f28c289a-d4a1b8b6})
#### Pārskats

Trigeri ir loģiskas izteiksmes, kas "izvērtē" no vienumiem iegūtos datus
un attēlo pašreizējo sistēmas stāvokli.

Lai gan vienumi tiek izmantoti sistēmas datu apkopošanai, ir ļoti nepraktiski
pastāvīgi sekot šiem datiem, gaidot nosacījumu, kas ir satraucošs
vai ir pelnījis uzmanību. Datu "izvērtēšanas" uzdevumu var uzticēt
trigeru izteiksmēm.

Trigeru izteiksmes ļauj definēt slieksni tam, kāds datu stāvoklis ir
"pieņemams". Tāpēc, ja ienākošie dati pārsniedz pieņemamo
stāvokli, trigeris tiek "aktivizēts" - jeb tā statuss tiek mainīts uz PROBLEM.

Trigerim var būt šāds statuss:

|Statuss|Apraksts|
|-----|-----------|
|OK|Šis ir parasts trigeris statuss.|
|Problem|Kaut kas ir noticis. Piemēram, procesora noslodze ir pārāk augsta.|
|Unknown|Trigeris vērtību nevar aprēķināt. Skatiet [Nezināms statuss](#unknown-status).|

Vienkāršā trigerī mēs varam vēlēties iestatīt slieksni kāda datu piecu minūšu
vidējam, piemēram, CPU noslodzei. To panāk, definējot trigeris izteiksmi, kur:

-   funkcija 'avg' tiek lietota vērtībai, kas saņemta vienuma atslēgā
-   tiek izmantots piecu minūšu izvērtēšanas periods
-   tiek iestatīts slieksnis '2'

```
    avg(/host/key,5m)>2
```

Šis trigeris tiks "aktivizēts" (kļūs par PROBLEM), ja piecu minūšu vidējā vērtība būs *lielāka* par 2.

Sarežģītākā trigerī izteiksme var ietvert **vairāku** funkciju un vairāku sliekšņu **kombināciju**. Skatiet arī: [Trigeru
izteiksme](/manual/config/triggers/expression).

Trigerus nevar izveidot vienumiem, kas atgriež vērtības ar bināro [datu tipu](/manual/config/items/item#configuration).

[comment]: # ({/f28c289a-d4a1b8b6})

[comment]: # ({b729742d-7c263ca6})
::: notetip
Pēc trigeris iespējošanas (mainot tā konfigurācijas statusu no *Disabled* uz *Enabled*), trigeris izteiksme tiek izvērtēta, tiklīdz kāds tajā esošais vienums saņem vērtību vai pienāk laiks apstrādāt [date and time](/manual/appendix/functions/time) un/vai [nodata()](/manual/appendix/functions/history#nodata) funkcijas.
:::

[comment]: # ({/b729742d-7c263ca6})

[comment]: # ({4d0d2ac7-a45a4e79})
Lielākā daļa trigeru funkciju tiek novērtētas, pamatojoties uz vienuma vērtības
[history](/manual/config/items/history_and_trends) datiem, savukārt dažas
trigeru funkcijas ilgtermiņa analītikai, piemēram, **trendavg()**,
**trendcount()** u.c., izmanto trendu datus.

[comment]: # ({/4d0d2ac7-a45a4e79})

[comment]: # ({3296f4fc-6781ee38})
#### Aprēķina laiks

Trigeris tiek pārrēķināts katru reizi, kad Zabbix serveris saņem jaunu vērtību, kas ir izteiksmes daļa. Kad tiek saņemta jauna vērtība, tiek pārrēķināta katra izteiksmē iekļautā funkcija (ne tikai tā, kas saņēma jauno vērtību).

Turklāt trigeris tiek pārrēķināts katru reizi, kad tiek saņemta jauna vērtība, **un** ik pēc 30 sekundēm, ja izteiksmē tiek izmantotas [datuma un laika](/manual/appendix/functions/time) un/vai [nodata()](/manual/appendix/functions/history#nodata) funkcijas.

[Datuma un laika](/manual/appendix/functions/time) un/vai [nodata()](/manual/appendix/functions/history#nodata) funkcijas Zabbix history syncer process pārrēķina ik pēc 30 sekundēm.

Trigeri, kuros tiek izmantotas **tikai** trend funkcijas, tiek izvērtēti vienu reizi katrā izteiksmē norādītajā mazākajā laika periodā. Skatiet arī [trend funkcijas](/manual/appendix/functions/trends).

[comment]: # ({/3296f4fc-6781ee38})

[comment]: # ({a7542b26-1fa7644e})
#### Novērtēšanas periods

Novērtēšanas periods tiek izmantots funkcijās, kas atsaucas uz vienuma vēsturi.
Tas ļauj norādīt interesējošo intervālu. To var norādīt kā laika periodu (30s, 10m, 1h) vai kā vērtību diapazonu (\#5 - pēdējām piecām vērtībām).

Novērtēšanas periods tiek mērīts līdz "tagad" - kur "tagad" ir trigeris pēdējais pārrēķina laiks (skatiet iepriekš [Aprēķina laiks](#calculation-time)); "tagad" nav servera "tagad" laiks.

Novērtēšanas periods nosaka vienu no šādiem:

-   Visas vērtības starp "tagad - laika periods" un "tagad" (vai, ja ir piemērota laika nobīde, starp "tagad - laika nobīde - laika periods" un "tagad - laika nobīde").
-   Norādīto vērtību skaitu no pagātnes līdz "tagad".

Ja norādītajā novērtēšanas periodā nav datu, trigeris vai aprēķinātais vienums, kas izmanto šo funkciju, kļūst neatbalstīts.

Ņemiet vērā, ka:

-   Ja trigerī tiek izmantota tikai viena funkcija (kas atsaucas uz datu vēsturi), "tagad" vienmēr ir pēdējā saņemtā vērtība. Piemēram, ja pēdējā vērtība tika saņemta pirms stundas, novērtēšanas periods tiks uzskatīts par spēkā esošu līdz pēdējai vērtībai pirms stundas.
-   Jauns trigeris tiek aprēķināts, tiklīdz tiek saņemta pirmā vērtība (vēstures funkcijas); tas tiks aprēķināts 30 sekunžu laikā funkcijām [date and time](/manual/appendix/functions/time) un [nodata()](/manual/appendix/functions/history#nodata). Tādējādi trigeris tiks aprēķināts pat tad, ja, iespējams, iestatītais novērtēšanas periods (piemēram, viena stunda) vēl nav pagājis kopš trigera izveides. Trigeris tiks aprēķināts arī pēc pirmās vērtības, pat ja novērtēšanas diapazons tika iestatīts, piemēram, uz desmit jaunākajām vērtībām.

[comment]: # ({/a7542b26-1fa7644e})

[comment]: # ({53f36bf7-cad1df72})
#### Nezināms statuss

Iespējams, ka trigeru izteiksmē parādās nezināms operands, ja:

- tiek izmantots neatbalstīts vienums
- atbalstīta vienuma funkcijas novērtēšana rada kļūdu

Šādā gadījumā trigeris parasti tiek novērtēts kā "nezināms" (lai gan ir daži izņēmumi). Plašāku informāciju skatiet sadaļā [Izteiksmes ar nezināmiem operandiem](/manual/config/triggers/expression#expressions-with-unknown-operands).

Ir iespējams [saņemt paziņojumu](/manual/config/events/sources#internal-events) par nezināmiem trigeriem.

[comment]: # ({/53f36bf7-cad1df72})
