[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 savāktos 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 trauksmains
vai pelna uzmanību. Datu "izvērtēšanas" uzdevumu var uzticēt
trigeru izteiksmēm.

Trigeru izteiksmes ļauj definēt robežvērtību 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" - vai arī tā statuss mainās uz PROBLEM.

Trigerim var būt šāds statuss:

|Statuss|Apraksts|
|-----|-----------|
|OK|Šis ir normāls 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 varētu vēlēties iestatīt robežvērtību piecu minūšu
vidējam kādiem datiem, 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īta robežvērtība '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 robežvērtību **kombināciju**. Skatiet arī: [Trigeris 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*), trigera 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ēķināšanas 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, kas atsaucas **tikai** uz trendu funkcijām, tiek izvērtēti vienu reizi katrā izteiksmē norādītajā mazākajā laika periodā. Skatiet arī [trendu 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 vai nu:

-   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ītajam novērtēšanas periodam nav datu, trigeris vai aprēķinātais vienums, kas izmanto šo funkciju, kļūst neatbalstīts.

Ņemiet vērā:

-   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 trigeris izteiksmē parādās nezināms operands, ja:

- tiek izmantots neatbalstīts vienums
- atbalstīta vienuma funkcijas izpilde 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})
