4 Vēstures funkcijas
Šeit uzskaitītās funkcijas tiek atbalstītas:
Funkcijas ir uzskaitītas bez papildu informācijas. Noklikšķiniet uz funkcijas, lai skatītu pilnu informāciju.
| Function | Description |
|---|---|
| change | Starpība starp iepriekšējo un jaunāko vērtību. |
| changecount | Izmaiņu skaits starp blakus esošām vērtībām noteiktajā novērtēšanas periodā. |
| count | Vērtību skaits noteiktajā novērtēšanas periodā. |
| countunique | Unikālo vērtību skaits noteiktajā novērtēšanas periodā. |
| find | Atrod vērtības atbilstību noteiktajā novērtēšanas periodā. |
| first | Pirmā (vecākā) vērtība noteiktajā novērtēšanas periodā. |
| firstclock | Pirmās (vecākās) vērtības laikspiedols noteiktajā novērtēšanas periodā. |
| fuzzytime | Pārbauda, cik ļoti pasīvā aģenta laiks atšķiras no Zabbix servera/starpniekservera laika. |
| last | Jaunākā vērtība. |
| lastclock | N-tās jaunākās vērtības laikspiedols noteiktajā novērtēšanas periodā. |
| logeventid | Pārbauda, vai pēdējā žurnāla ieraksta notikuma ID atbilst regulārai izteiksmei. |
| logseverity | Pēdējā žurnāla ieraksta žurnāla nopietnības līmenis. |
| logsource | Pārbauda, vai pēdējā žurnāla ieraksta žurnāla avots atbilst regulārai izteiksmei. |
| logtimestamp | Žurnāla ziņojuma laikspiedols N-tās jaunākās žurnāla vienuma vērtībai. |
| monodec | Pārbauda, vai vērtības ir monotoniski samazinājušās. |
| monoinc | Pārbauda, vai vērtības ir monotoniski pieaugušas. |
| nodata | Pārbauda, vai nav saņemti dati. |
| percentile | Perioda P-tā procentile, kur P (procentos) ir norādīts ar trešo parametru. |
| rate | Vidējais pieauguma temps sekundē monotoniski pieaugošam skaitītājam noteiktajā laika periodā. |
Kopīgie parametri
/host/keyir kopīgs obligāts pirmais parametrs funkcijām, kas atsaucas uz hosta vienuma vēsturi(sec|#num)<:time shift>ir kopīgs otrais parametrs funkcijām, kas atsaucas uz hosta vienuma vēsturi, kur:- sec - maksimālais izvērtēšanas periods sekundēs (var izmantot laika sufiksus), vai
- #num - maksimālais izvērtēšanas diapazons pēdējās savāktajās vērtībās (ja priekšā ir hash zīme)
- time shift (neobligāts) ļauj pārvietot izvērtēšanas punktu atpakaļ laikā. Skatiet papildu informāciju par time shift norādīšanu.
Funkciju informācija
Dažas vispārīgas piezīmes par funkciju parametriem:
- Funkciju parametrus atdala ar komatu
- Neobligātie funkciju parametri (vai parametru daļas) ir norādīti ar
<> - Katras funkcijas specifiskie parametri ir aprakstīti pie attiecīgās funkcijas
- Parametri
/hosts/keyun(sec|#num)<:time shift>nekad nedrīkst būt pēdiņās
change(/host/key)
Atšķirības apjoms starp iepriekšējo un jaunāko vērtību.
Atbalstītie vērtību tipi: Float, Integer, String, Text, Log.
Virkņu gadījumā atgriež: 0 - vērtības ir vienādas; 1 - vērtības atšķiras.
Parametri: skatiet kopīgos parametrus.
Komentāri:
- Tiks aprēķināta skaitliskā starpība, kā redzams šajos ienākošo piemērvērtību piemēros ('iepriekšējā' un 'jaunākā' vērtība = starpība):
'1' un '5' =+4
'3' un '1' =-2
'0' un '-2.5' =-2.5. - Trigeros noder pēkšņu lēcienu (vai kritumu), skaitītāju atiestatīšanas un skaitlisku stāvokļu pāreju noteikšanai.
- Skatiet arī: abs salīdzinājumam.
Piemēri:
change(/host/system.uptime)<0 #system uptime change has been negative since the last value (indicating a reboot)
change(/host/system.cpu.load[all,avg1])>2 #CPU load (for one minute) has jumped by more than 2 since the last value
change(/host/vfs.fs.size[/,free])<-1G #free disk space has dropped by more than 1 GB between checks
changecount(/host/key,(sec|#num)<:time shift>,<mode>)
Izmaiņu skaits starp blakus esošām vērtībām noteiktajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer, String, Text, Log.
Parametri:
- Skatiet kopīgos parametrus
- mode (jābūt dubultpēdiņās) — iespējamās vērtības: all — skaitīt visas izmaiņas (noklusējums); dec — skaitīt samazinājumus; inc — skaitīt palielinājumus
Komentāri:
- Ne-skaitlisku vērtību tipiem parametrs mode tiek ignorēts.
- Trigeros noderīgs biežu stāvokļa izmaiņu uztveršanai (kas norāda uz nestabilitāti).
Piemēri:
changecount(/host/icmpping,10m)>5 #ping status has changed more than 5 times in 10 minutes
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 #operational state of eth0 has changed more than 5 times in an hour
changecount(/host/proc.num[httpd],15m)>10 #the number of httpd processes has changed more than 10 times in 15 minutes
changecount(/host/key,#10,"inc") #the number of value increases (relative to the adjacent value) among the last 10 values
changecount(/host/key,24h,"dec") #the number of value decreases (relative to the adjacent value) for the last 24 hours until now
count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
Noteikto novērtēšanas periodu ietvaros esošo vērtību skaits.
Atbalstītie vērtību tipi: Float, Integer, String, Text, Log.
Parametri:
- Skatiet kopējos parametrus
- operator (jābūt ietvertam dubultpēdiņās)
Atbalstītie
operatori:
eq - vienāds (noklusējums integer, float)
ne - nav vienāds
gt - lielāks par
ge - lielāks vai vienāds ar
lt - mazāks par
le - mazāks vai vienāds ar
like (noklusējums string, text, log) - atbilst, ja satur paraugu (reģistrjutīgs)
bitand - bitu līmeņa AND
regexp - atbilst dotajai regulārajai izteiksmeipattern(reģistrjutīgs)
iregexp - atbilst dotajai regulārajai izteiksmeipattern(reģistrnejutīgs) - pattern - nepieciešamais paraugs (string argumentiem jābūt ietvertiem dubultpēdiņās)
Piezīmes:
- Float vienumi atbilst ar precizitāti 2.22e-16.
- like netiek atbalstīts kā operators integer vērtībām.
- like un bitand netiek atbalstīti kā operatori float vērtībām.
- String, text un log vērtībām tiek atbalstīti tikai eq, ne, like, regexp un iregexp operatori.
- Ja kā operators tiek izmantots bitand, ceturto
patternparametru var norādīt kā divus skaitļus, kas atdalīti ar '/': skaitlis_salīdzināšanai/ar_masu. count() aprēķina "bitwise AND" no vērtības un maskas un salīdzina rezultātu ar skaitlis_salīdzināšanai. Ja "bitwise AND" rezultāts ir vienāds ar skaitlis_salīdzināšanai, vērtība tiek skaitīta.
Ja skaitlis_salīdzināšanai un mask ir vienādi, jānorāda tikai mask (bez '/'). - Ja kā operators tiek izmantots regexp vai iregexp, ceturtais
patternparametrs var būt parasta vai globāla regulārā izteiksme (sākas ar '@'). Globālo regulāro izteiksmju gadījumā reģistrjutība tiek mantota no globālo regulāro izteiksmju iestatījumiem. Regulārās izteiksmes atbilstības nolūkos float vērtības vienmēr tiks attēlotas ar 4 decimāldaļām aiz '.'. Ņemiet vērā arī to, ka lieliem skaitļiem atšķirība starp decimālo (datubāzē saglabāto) un bināro (Zabbix serveris izmantoto) attēlojumu var ietekmēt 4. decimāldaļu.
Piemēri:
count(/host/icmpping,30m,,"0")>5 #ping ir neveiksmīgs vairāk nekā 5 reizes 30 minūšu laikā
count(/host/key,10m,"like","error") #vērtību skaits pēdējo 10 minūšu laikā līdz šim brīdim, kas satur 'error'
count(/host/key,10m,,12) #vērtību skaits pēdējo 10 minūšu laikā līdz šim brīdim, kas ir vienādas ar '12'
count(/host/key,10m,"gt",12) #vērtību skaits pēdējo 10 minūšu laikā līdz šim brīdim, kas ir lielākas par '12'
count(/host/key,#10,"gt",12) #vērtību skaits pēdējo 10 vērtību ietvaros līdz šim brīdim, kas ir lielākas par '12'
count(/host/key,10m:now-1d,"gt",12) #vērtību skaits starp 24 stundām un 10 minūtēm un 24 stundām pirms šī brīža, kas bija lielākas par '12'
count(/host/key,10m,"bitand","6/7") #vērtību skaits pēdējo 10 minūšu laikā līdz šim brīdim, kurām 3 vismazāk nozīmīgajos bitos ir '110' (bināri)
count(/host/key,10m:now-1d) #vērtību skaits starp 24 stundām un 10 minūtēm un 24 stundām pirms šī brīža
countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
Noteikto novērtēšanas periodu laikā unikālo vērtību skaits.
Atbalstītie vērtību tipi: Float, Integer, String, Text, Log.
Parametri:
- Skatiet kopīgos parametrus
- operator (jābūt ietvertam dubultpēdiņās).
Atbalstītie
operatori:
eq - vienāds (noklusējums integer, float)
ne - nav vienāds
gt - lielāks par
ge - lielāks vai vienāds ar
lt - mazāks par
le - mazāks vai vienāds ar
like (noklusējums string, text, log) - atbilst, ja satur paraugu (reģistrjutīgs)
bitand - bitu līmeņa AND
regexp - atbilst dotajai regulārajai izteiksmei, reģistrjutīgi, kas norādītapattern
iregexp - atbilst dotajai regulārajai izteiksmei, nereģistrjutīgi, kas norādītapattern - pattern - nepieciešamais paraugs (string argumentiem jābūt ietvertiem dubultpēdiņās)
Piezīmes:
- Float vienumi atbilst ar precizitāti 2.22e-16.
- like netiek atbalstīts kā operators integer vērtībām.
- like un bitand netiek atbalstīti kā operatori float vērtībām.
- String, text un log vērtībām tiek atbalstīti tikai eq, ne, like, regexp un iregexp operatori.
- Ja kā operators ir bitand, ceturto
patternparametru var norādīt kā divus skaitļus, kas atdalīti ar '/': number_to_compare_with/mask. countunique() aprēķina "bitwise AND" no vērtības un mask un salīdzina rezultātu ar number_to_compare_with. Ja "bitwise AND" rezultāts ir vienāds ar number_to_compare_with, vērtība tiek skaitīta.
Ja number_to_compare_with un mask ir vienādi, jānorāda tikai mask (bez '/'). - Ja kā operators ir regexp vai iregexp, ceturtais
patternparametrs var būt parasta vai globāla (sākas ar '@') regulārā izteiksme. Globālo regulāro izteiksmju gadījumā reģistrjutība tiek mantota no globālo regulāro izteiksmju iestatījumiem. Regulārās izteiksmes atbilstības nolūkos float vērtības vienmēr tiks attēlotas ar 4 decimāldaļām aiz '.'. Ņemiet vērā arī to, ka lieliem skaitļiem atšķirība decimālajā (glabātajā datubāzē) un binārajā (lietotajā Zabbix serveris) attēlojumā var ietekmēt 4. decimāldaļu.
Piemēri:
countunique(/host/key,10m) #unikālo vērtību skaits pēdējo 10 minūšu laikā līdz šim brīdim
countunique(/host/key,10m,"like","error") #unikālo vērtību skaits pēdējo 10 minūšu laikā līdz šim brīdim, kas satur 'error'
countunique(/host/key,10m,,12) #unikālo vērtību skaits pēdējo 10 minūšu laikā līdz šim brīdim, kas ir vienādas ar '12'
countunique(/host/key,10m,"gt",12) #unikālo vērtību skaits pēdējo 10 minūšu laikā līdz šim brīdim, kas ir lielākas par '12'
countunique(/host/key,#10,"gt",12) #unikālo vērtību skaits pēdējo 10 vērtību laikā līdz šim brīdim, kas ir lielākas par '12'
countunique(/host/key,10m:now-1d,"gt",12) #unikālo vērtību skaits starp 24 stundām un 10 minūtēm un 24 stundas atpakaļ no šī brīža, kas bija lielākas par '12'
countunique(/host/key,10m,"bitand","6/7") #unikālo vērtību skaits pēdējo 10 minūšu laikā līdz šim brīdim, kurām 3 vismazāk nozīmīgajos bitos ir '110' (bināri)
countunique(/host/key,10m:now-1d) #unikālo vērtību skaits starp 24 stundām un 10 minūtēm un 24 stundas atpakaļ no šī brīža
find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
Atrod vērtības atbilstību noteiktajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer, String, Text, Log.
Atgriež: 1 - atrasts; 0 - citādi.
Parametri:
- Skatiet kopīgos parametrus
- sec vai #num (neobligāti) - ja nav norādīts, pēc noklusējuma tiek izmantota jaunākā vērtība
- operator (jābūt dubultpēdiņās)
Atbalstītie
operatori:
eq - vienāds (noklusējums integer, float)
ne - nav vienāds
gt - lielāks
ge - lielāks vai vienāds
lt - mazāks
le - mazāks vai vienāds
like (noklusējums string, text, log) - atbilst, ja saturpatternnorādīto virkni (reģistrjutīgs)
bitand - bitu AND
regexp - reģistrjutīga atbilstība regulārajai izteiksmei, kas norādītapattern
iregexp - reģistrnejutīga atbilstība regulārajai izteiksmei, kas norādītapattern - pattern - nepieciešamais paraugs (virknes argumentiem jābūt dubultpēdiņās); Perl Compatible Regular Expression (PCRE) regulārā izteiksme, ja
operatorir regexp, iregexp
Piezīmes:
- Ja tiek apstrādāta vairāk nekā viena vērtība, tiek atgriezts '1', ja ir vismaz viena atbilstoša vērtība.
- like netiek atbalstīts kā operators integer vērtībām.
- like un bitand netiek atbalstīti kā operatori float vērtībām.
- String, text un log vērtībām tiek atbalstīti tikai eq, ne, like, regexp un iregexp operatori.
- Ja kā operators ir regexp vai iregexp, ceturtais
patternparametrs var būt parasta vai globāla (sākas ar '@') regulārā izteiksme. Globālo regulāro izteiksmju gadījumā reģistrjutība tiek mantota no globālo regulāro izteiksmju iestatījumiem.
Piemēri:
find(/host/key,10m,"like","error") #atrod vērtību, kas pēdējo 10 minūšu laikā līdz šim brīdim satur 'error'
find(/host/agent.version,,"like","beta")=1 #Zabbix aģents ir beta versijā, tas ir jājaunina
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #atrasta iekšējā tīmekļa servera kļūda
first(/host/key,sec<:time shift>)
Pirmā (vecākā) vērtība definētajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer, String, Text, Log.
Parametri:
- Skatiet kopīgos parametrus
Skatiet arī last().
Piemērs:
first(/host/key,1h) #retrieve the oldest value within the last hour until now
firstclock(/host/key,sec<:laika nobīde>)
Vecākās vērtības laikspiedols definētajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer, String, Text, Log.
Parametri:
- Skatiet kopīgos parametrus.
Funkcija neizdodas ar kļūdu, ja norādītajā periodā nav savākti dati.
Skatiet arī lastclock().
Piemēri:
firstclock(/host/key,1h) #iegūt vecākās vērtības laikspiedolu pēdējās stundas laikā
firstclock(/host/key,1h:now-24h) #iegūt vecākās vērtības laikspiedolu pēdējās stundas laikā pirms dienas
fuzzytime(/host/key,sec)
Pārbauda, cik ļoti pasīvā aģenta laiks atšķiras no Zabbix servera/starpniekservera laika.
Atbalstītie vērtību tipi: Float, Integer.
Atgriež: 1 - starpība starp pasīvā vienuma vērtību (kā laikspiedolu) un Zabbix servera/starpniekservera laikspiedolu (vērtības savākšanas pulksteni) ir mazāka vai vienāda ar sec sekundēm; 0 - citādi.
Parametri:
- Skatiet kopīgos parametrus.
Komentāri:
- Parasti tiek izmantota kopā ar 'system.localtime' vienumu, lai pārbaudītu, vai vietējais laiks ir sinhronizēts ar Zabbix servera vietējo laiku. Piezīme, ka 'system.localtime' Zabbix aģentam ir jākonfigurē kā pasīvā pārbaude; Zabbix agent 2 to var konfigurēt kā aktīvu pārbaudi.
- To var izmantot arī ar
vfs.file.time[/path/file,modify]atslēgu, lai pārbaudītu, vai fails ilgu laiku nav saņēmis atjauninājumus. - Šo funkciju nav ieteicams izmantot sarežģītās trigeru izteiksmēs (ar vairākiem vienumiem), jo tā var radīt negaidītus rezultātus (laika starpība tiks mērīta ar visjaunāko metriku), piemēram,
fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0.
Piemēri:
fuzzytime(/host/system.localtime,5m)=0 #klienta vietējais laiks atšķiras no Zabbix servera/starpniekservera laika par vairāk nekā 5 minūtēm
fuzzytime(/host/system.localtime,5m)=0 and nodata(/host/system.localtime,10m)=0 #klienta vietējais laiks atšķiras no Zabbix servera/starpniekservera laika par vairāk nekā 5 minūtēm (vienlaikus pārliecinoties, ka vienums nav pārtraucis datu ziņošanu)
last(/host/key,<#num<:time shift>>)
Pēdējā vērtība.
Atbalstītie vērtību tipi: Float, Integer, String, Text, Log.
Parametri:
- Skatiet kopīgos parametrus
- #num (neobligāts) - N-tā pēdējā vērtība
Komentāri:
- Ņemiet vērā, ka ar jaucējzīmi apzīmēts laika periods (#N) šeit darbojas citādi nekā daudzās citās funkcijās.
Piemēram:
last(/host/key)vienmēr ir vienāds arlast(/host/key,#1);last(/host/key,#3)- trešā pēdējā vērtība (nevis pēdējās trīs vērtības). - Zabbix negarantē precīzu vērtību secību, ja vēsturē vienas sekundes laikā pastāv vairāk nekā divas vērtības.
- Skatiet arī first().
Piemēri:
last(/host/key) #iegūt pēdējo vērtību
last(/host/key,#2) #iegūt iepriekšējo vērtību
last(/host/key,#1)<>last(/host/key,#2) #pēdējās divas vērtības atšķiras
lastclock(/host/key,<#num<:time shift>>)
N-tās jaunākās vērtības laikspiedols noteiktajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer, String, Text, Log.
Parametri:
- Skatiet kopīgos parametrus;
- #num (neobligāts) — N-tā jaunākā vērtība.
Funkcija neizdodas ar kļūdu, ja norādītajā periodā nav savākti dati vai nav savākta N-tā vērtība.
Skatiet arī firstclock().
Piemēri:
lastclock(/host/key) #iegūt jaunākās vērtības laikspiedolu
lastclock(/host/key,#2) #iegūt 2. jaunākās vērtības laikspiedolu
now()-lastclock(/host/heartbeat.item)>300 #kopš heartbeat vienuma atjaunināšanas ir pagājušas vairāk nekā 5 minūtes
lastclock(/host/system.cpu.load[all,avg1])-lastclock(/host/system.cpu.load[all,avg1],#2)>300 #atjaunināšanas intervāls starp pēdējām divām vērtībām pārsniedz 5 minūtes
((now()-lastclock(/host/system.cpu.load[all,avg1])<120 and last(/host/system.cpu.load[all,avg1])>5)) #CPU vērtība ir augsta un vērtība ir svaiga (mazāk nekā 2 minūtes)
logeventid(/host/key,<#num<:time shift>>,<pattern>)
Pārbauda, vai pēdējā žurnāla ieraksta notikuma ID atbilst regulārajai izteiksmei.
Atbalstītie vērtību tipi: Log.
Atgriež: 0 - neatbilst; 1 - atbilst.
Parametri:
- Skatiet kopīgos parametrus
- #num (neobligāts) - N-tākais jaunākais vērtības ieraksts
- pattern (neobligāts) - regulārā izteiksme, kas apraksta nepieciešamo rakstu, Perl Compatible Regular Expression (PCRE) stilā (virknes argumentiem jābūt ietvertiem dubultpēdiņās)
Piemēri:
logeventid(/host/eventlog[Security],,"^4625$")=1 #atrasts žurnāla ieraksts ar ID, kas atbilst "4625" (neizdevusies autentifikācija)
logeventid(/host/eventlog[System],,"^(6008|41)$")=1 #atrasts žurnāla ieraksts ar ID, kas atbilst "6008" vai "41"
logseverity(/host/key,<#num<:time shift>>)
Pēdējā žurnāla ieraksta žurnāla smaguma pakāpe.
Atbalstītie vērtību tipi: Log.
Atgriež: 0 - noklusējuma smaguma pakāpe; N - smaguma pakāpe (vesels skaitlis, noderīgs Windows notikumu žurnāliem: 1 - Informācija, 2 - Brīdinājums, 4 - Kļūda, 7 - Neveiksmīga auditēšana, 8 - Veiksmīga auditēšana, 9 - Kritiska, 10 - Detalizēta).
Parametri:
- Skatiet kopīgos parametrus
- #num (neobligāts) - N-tā jaunākā vērtība
Zabbix ņem žurnāla smaguma pakāpi no Windows notikumu žurnāla lauka Information.
Piemēri:
logseverity(/host/log[/var/log/syslog],10m)>3 #a log entry with severity above "3" found
logseverity(/host/eventlog[System],10m)=4 #a log entry with severity equaling "Error" found
logsource(/host/key,<#num<:time shift>>,<pattern>)
Pārbauda, vai pēdējā žurnāla ieraksta žurnāla avots atbilst regulārajai izteiksmei.
Atbalstītie vērtību tipi: Log.
Atgriež: 0 - neatbilst; 1 - atbilst.
Parametri:
- Skatiet kopīgos parametrus
- #num (neobligāts) - N-tākais jaunākais vērtības ieraksts
- pattern (neobligāts) - regulārā izteiksme, kas apraksta nepieciešamo rakstu, Perl Compatible Regular Expression (PCRE) stilā (virknes argumentiem jābūt ievietotiem dubultpēdiņās)
Parasti tiek izmantots Windows notikumu žurnāliem.
Piemēri:
logsource(/host/eventlog[Application],,"MSSQLSERVER")=1 #atrasts žurnāla ieraksts, kura avots atbilst "MSSQLSERVER"
logsource(/host/eventlog[System],,"Service Control Manager")=1 #atrasts žurnāla ieraksts, kura avots atbilst "Service Control Manager"
logsource(/host/eventlog[System],,"Service Control Manager")=1 and logeventid(/host/eventlog[System],,"^7031$")=1 #atrasts žurnāla ieraksts, kura avots atbilst "Service Control Manager" un notikuma ID atbilst "7031"
logtimestamp(/host/key,<#num<:time shift>>)
N-tās jaunākās žurnāla vienuma vērtības žurnāla ziņojuma laikspiedols.
Atbalstītie vērtību tipi: Log.
Parametri:
- Skatiet kopīgos parametrus;
- #num (neobligāts) — N-tā jaunākā vērtība.
Komentāri:
- Laika nobīdes aprēķins ir balstīts uz vienuma vērtības pulksteni, nevis uz žurnāla ziņojuma laikspiedolu;
- Funkcija neizdodas ar kļūdu, ja:
- tiek saņemts vienums, kas nav žurnāla tipa;
- norādītajā periodā nav savākti dati;
- nav savākta N-tā vērtība;
- žurnāla ziņojums nesatur laikspiedola vērtību.
Piemēri:
logtimestamp(/host/key) #iegūt jaunākā žurnāla ziņojuma laikspiedolu
logtimestamp(/host/key,#2) #iegūt 2. jaunākā žurnāla ziņojuma laikspiedolu
logtimestamp(/host/key,#3:now-1d) #iegūt 3. jaunākā žurnāla ziņojuma laikspiedolu pirms dienas
monodec(/host/key,(sec|#num)<:time shift>,<mode>)
Pārbauda, vai ir noticis monotons vērtību samazinājums.
Atbalstītie vērtību tipi: Integer.
Atgriež: 1 - ja visi elementi laika periodā nepārtraukti samazinās; 0 - pretējā gadījumā.
Parametri:
- Skatiet kopīgos parametrus
- mode (jābūt dubultpēdiņās) - weak (katra vērtība ir mazāka vai tāda pati kā iepriekšējā; pēc noklusējuma) vai strict (katra vērtība ir samazinājusies)
Piemēri:
monodec(/host/system.swap.size[all,free],60s) + monodec(/host2/system.swap.size[all,free],60s) + monodec(/host3/system.swap.size[all,free],60s) #aprēķina, cik hostos ir bijis brīvā swap apjoma samazinājums
monodec(/host/proc.num[nginx],10m,"strict")=1 #nginx procesu skaits 10 minūšu laikā ir monotoni samazinājies
monoinc(/host/key,(sec|#num)<:time shift>,<mode>)
Pārbauda, vai ir noticis monotons vērtību pieaugums.
Atbalstītie vērtību tipi: Integer.
Atgriež: 1 - ja visi elementi laika periodā nepārtraukti palielinās; 0 - pretējā gadījumā.
Parametri:
- Skatiet kopīgos parametrus
- mode (jābūt dubultpēdiņās) - weak (katra vērtība ir lielāka vai tāda pati kā iepriekšējā; pēc noklusējuma) vai strict (katra vērtība ir palielinājusies)
Piemēri:
monoinc(/host/system.localtime,#3,"strict")=0 #the system local time has not been increasing consistently
monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #trigger if the file count has stagnated over 24 hours (expected to grow)
nodata(/host/key,sec,<mode>)
Pārbauda, vai nav saņemti dati.
Atbalstītie vērtību tipi: Integer, Float, Character, Text, Log.
Atgriež: 1 - ja noteiktajā laika periodā dati nav saņemti; 0 - pretējā gadījumā.
Parametri:
- Skatiet kopīgos parametrus
- sec - periods nedrīkst būt mazāks par 30 sekundēm, jo vēstures sinhronizētāja process šo funkciju aprēķina tikai ik pēc 30 sekundēm;
nodata(/host/key,0)nav atļauts - mode - ja iestatīts uz strict (dubultpēdiņās), šī funkcija nebūs jutīga pret starpniekserveris pieejamību (sīkāku informāciju skatiet komentāros)
Komentāri:
- pēc noklusējuma starpniekserveris uzraudzītie 'nodata' trigeri ir jutīgi pret starpniekserveris pieejamību — ja starpniekserveris kļūst nepieejams, 'nodata' trigeri neaktivizēsies uzreiz pēc savienojuma atjaunošanas, bet izlaidīs datus par aizkavēto periodu.
Ņemiet vērā, ka pasīvajiem starpniekserveriem apspiešana tiek aktivizēta, ja savienojums tiek atjaunots vairāk nekā pēc 15 sekundēm un ne mazāk kā pēc 2 sekundēm.
Aktīvajiem starpniekserveriem apspiešana tiek aktivizēta, ja savienojums tiek atjaunots vairāk nekā pēc 15 sekundēm.
Lai izslēgtu jutību pret starpniekserveris pieejamību, izmantojiet trešo parametru, piemēram:
nodata(/host/key,5m,"strict"); šajā gadījumā funkcija aktivizēsies, tiklīdz būs pagājis novērtēšanas periods (piecas minūtes) bez datiem. - Šī funkcija parādīs kļūdu, ja 1. parametra periodā:
- nav datu un Zabbix serveris tika restartēts
- nav datu un apkope tika pabeigta
- nav datu un vienums tika pievienots vai atkārtoti iespējots. - Kļūdas tiek parādītas Info kolonnā trigera konfigurācijā.
- Šī funkcija var nedarboties pareizi, ja starp Zabbix serveris, starpniekserveris un aģents ir laika atšķirības. Skatiet arī: Laika sinhronizācijas prasība.
Piemērs:
nodata(/host/agent.ping,5m)=1 #trigeris, ja 5 minūtes nav saņemti dati no Zabbix aģents
percentile(/host/key,(sec|#num)<:time shift>,percentage)
P-tā procentile periodā, kur P (procenti) ir norādīti ar trešo parametru.
Atbalstītie vērtību tipi: Float, Integer.
Parametri:
- Skatiet kopīgos parametrus
- percentage — peldošā komata skaitlis no 0 līdz 100 (ieskaitot), ar ne vairāk kā 4 cipariem aiz komata
Piemēri:
percentile(/host/net.if.in[eth0,bytes],1h,95)>1000000 #95. procentile tīkla ienākošajai plūsmai (baiti/sek.) 1 stundas laikā ir pārsniegusi slieksni (piemēram, 1 MB/s)
percentile(/host/system.cpu.util,5m,95)>80 #95. procentile CPU noslodzes user-time procentuālajai vērtībai ir pārsniegusi 80
percentile(/host/icmppingsec[192.168.0.2],15m,95)>0.15 #lielākā daļa latentuma mērījumu ir zem 150 ms, bet augšējā aste (augšējie 5%) norāda uz regulāru aizturi
percentile(/host/net.if.in[eth0,bytes],1h,50) #aprēķināt 50. procentili (mediānas vērtību) ienākošajai tīkla plūsmai stundas laikā; tas dod atšķirīgu rezultātu no avg() (vidējās vērtības), jo percentile neņem vērā ārpusnieku vērtības
(percentile(/host/net.if.in[eth0,bytes],1h,50)+percentile(/host/net.if.in[eth0,bytes],1h,51))/2 #aprēķināt precīzu mediānas vērtību pāra vērtību skaitam stundas laikā
rate(/host/key,sec<:time shift>)
Monotoni pieaugoša skaitītāja vidējais pieaugums sekundē noteiktajā laika periodā.
Atbalstītie vērtību tipi: Float, Integer.
Parametri:
- Skatiet kopīgos parametrus
Funkcionāli atbilst PromQL funkcijai 'rate'.
Piemēri:
rate(/host/key,30s) #ja monotons pieaugums 30 sekunžu laikā ir 20, šī funkcija atgriež 0.67.
rate(/host/net.if.in[eth0,bytes],5m)>500000 #ienākošās saskarnes datplūsmas ātrums uz eth0 pēdējo 5 minūšu laikā ir pārsniedzis 500 KB/s
rate(/host/app.requests.count,1m)>100 #pieprasījumu skaitītājs pēdējās minūtes laikā ir pieaudzis par >100 pieprasījumiem sekundē
Skatiet visas atbalstītās funkcijas.