3 Trigeri
Pārskats
Trigeri ir loģiskas izteiksmes, kas "novērtē" vienumu apkopotos datus un atspoguļo pašreizējo sistēmas stāvokli.
Lai gan vienumi tiek izmantoti sistēmas datu apkopošanai, ir ļoti nepraktiski visu laiku sekot šiem datiem, gaidot nosacījumu, kas rada trauksmi vai kam jāpievērš uzmanība. Datu "novērtēšanu" var uzticēt trigeru izteiksmēm.
Trigeru izteiksmes ļauj definēt slieksni, kas nosaka, 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 maina savu statusu uz PROBLEM.
Trigerim var būt šāds statuss:
| Statuss | Apraksts |
|---|---|
| OK | Tas ir normāls trigera statuss. |
| Problem | Ir noticis kaut kas nevēlams. Piemēram, procesora noslodze ir pārāk augsta. |
| Unknown | Trigera vērtību nevar aprēķināt. Skatiet sadaļu Nezināms statuss. |
Vienkāršā trigerī var būt nepieciešams iestatīt slieksni kādu datu, piemēram, CPU noslodzes, piecu minūšu vidējai vērtībai. To panāk, definējot trigera izteiksmi, kurā:
- vienuma atslēgā saņemtajai vērtībai tiek lietota funkcija 'avg'
- novērtēšanai tiek izmantots piecu minūšu 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ī: Trigera izteiksme.
Trigerus nevar izveidot vienumiem, kas atgriež vērtības ar bināru datu tipu.
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 un/vai nodata() funkcijas.
Lielākā daļa trigeru funkciju tiek novērtētas, pamatojoties uz vienuma vērtības history datiem, savukārt dažas trigeru funkcijas ilgtermiņa analītikai, piemēram, trendavg(), trendcount() u.c., izmanto trendu datus.
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 un/vai nodata() funkcijas.
Datuma un laika un/vai 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.
Izvērtēšanas periods
Izvērtēšanas periods tiek izmantots funkcijās, kas atsaucas uz vienuma vēsturi. Tas ļauj norādīt mūs interesējošo intervālu. To var norādīt kā laika periodu (30s, 10m, 1h) vai kā vērtību diapazonu (#5 - piecas jaunākās vērtības).
Izvērtēšanas periods tiek mērīts līdz "tagad" — kur "tagad" ir trigeris jaunākais pārrēķina laiks (skatiet sadaļu Pārrēķina laiks iepriekš); "tagad" nav servera pašreizējais laiks.
Izvērtēšanas periods norāda vienu no šīm iespējām:
- Visas vērtības starp "tagad - laika periods" un "tagad" (vai, ja tiek piemērota laika nobīde, starp "tagad - laika nobīde - laika periods" un "tagad - laika nobīde").
- Norādītais vērtību skaits no pagātnes līdz "tagad".
Ja norādītajā izvērtēšanas periodā 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 vēstures datiem), "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, izvērtēšanas periods tiks uzskatīts par tādu, kas beidzas ar pēdējo vērtību pirms stundas.
- Jauns trigeris tiek aprēķināts, tiklīdz tiek saņemta pirmā vērtība (vēstures funkcijas); funkcijām date and time un nodata() tas tiks aprēķināts 30 sekunžu laikā. Tādējādi trigeris tiks aprēķināts, pat ja kopš trigera izveides vēl nav pagājis iestatītais izvērtēšanas periods (piemēram, viena stunda). Trigeris tiks aprēķināts arī pēc pirmās vērtības saņemšanas, pat ja izvērtēšanas diapazons, piemēram, bija iestatīts uz desmit jaunākajām vērtībām.
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.
Ir iespējams saņemt paziņojumu par nezināmiem trigeriem.