3 Trigeri
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. |
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.
Trigerus nevar izveidot vienumiem, kas atgriež vērtības ar bināro 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.
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); "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 un 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.
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.