1 Agregācijas funkcijas
Ja vien nav norādīts citādi, visas šeit uzskaitītās funkcijas tiek atbalstītas:
Agregācijas funkcijas var darboties ar:
- vienumu vēsturi, piemēram,
min(/host/key,1h) - foreach funkcijām kā
vienīgo parametru, piemēram,
min(last_foreach(/*/key))(tikai aprēķinātajos vienumos; nevar izmantot trigeros)
Funkcijas ir uzskaitītas bez papildu informācijas. Noklikšķiniet uz funkcijas, lai skatītu pilnu informāciju.
| Function | Description |
|---|---|
| avg | Vienuma vidējā vērtība noteiktajā novērtēšanas periodā. |
| bucket_percentile | Aprēķina procentili no histogrammas spaiņiem. |
| count | Vērtību skaits masīvā, ko atgriež foreach funkcija. |
| histogram_quantile | Aprēķina φ-kvantili no histogrammas spaiņiem. |
| item_count | Konfigurācijā esošo vienumu skaits, kas atbilst filtra kritērijiem. |
| kurtosis | Varbūtības sadalījuma "astainums" savāktajās vērtībās noteiktajā novērtēšanas periodā. |
| mad | Mediānā absolūtā novirze savāktajās vērtībās noteiktajā novērtēšanas periodā. |
| max | Vienuma augstākā vērtība noteiktajā novērtēšanas periodā. |
| min | Vienuma zemākā vērtība noteiktajā novērtēšanas periodā. |
| skewness | Varbūtības sadalījuma asimetrija savāktajās vērtībās noteiktajā novērtēšanas periodā. |
| stddevpop | Populācijas standartnovirze savāktajās vērtībās noteiktajā novērtēšanas periodā. |
| stddevsamp | Izlases standartnovirze savāktajās vērtībās noteiktajā novērtēšanas periodā. |
| sum | Savākto vērtību summa noteiktajā novērtēšanas periodā. |
| sumofsquares | Savākto vērtību kvadrātu summa noteiktajā novērtēšanas periodā. |
| varpop | Savākto vērtību populācijas dispersija noteiktajā novērtēšanas periodā. |
| varsamp | Savākto vērtību izlases dispersija noteiktajā novērtēšanas 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 novērtēšanas periods sekundēs (var izmantot laika sufiksus), vai
- #num - maksimālais novērtēšanas diapazons pēdējās savāktajās vērtībās (ja pirms tā ir jaucējzīme)
- time shift (neobligāts) ļauj pārvietot novērtēšanas punktu atpakaļ laikā. Skatiet papildinformā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
<> - Katrai funkcijai specifiskie parametri ir aprakstīti pie attiecīgās funkcijas
- Parametri
/host/keyun(sec|#num)<:time shift>nekad nedrīkst būt pēdiņās
avg(/host/key,(sec|#num)<:time shift>)
Vienuma vidējā vērtība noteiktajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītās foreach funkcijas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parametri: skatiet kopīgos parametrus.
Laika nobīde ir noderīga, ja nepieciešams salīdzināt pašreizējo vidējo vērtību ar vidējo vērtību kādu laiku iepriekš.
Piemēri:
avg(/host/key,1h) #vidējā vērtība pēdējā stundā līdz šim brīdim
avg(/host/key,1h:now-1d) #vidējā vērtība vienas stundas periodam no pirms 25 stundām līdz pirms 24 stundām no pašreizējā brīža
avg(/host/key,#5) #piecu jaunāko vērtību vidējā vērtība
avg(/host/key,#5:now-1d) #piecu jaunāko vērtību vidējā vērtība, izņemot vērtības, kas saņemtas pēdējo 24 stundu laikā
avg(/host/proc.num,5m)>300 #trigeris, ja vidējais procesu skaits pēdējās 5 minūtēs ir bijis virs 300
bucket_percentile(item filter,time period,percentage)
Aprēķina procentili no histogrammas spaiņiem.
Parametri:
- vienuma filtrs - skatiet vienuma filtru;
- laika periods - skatiet laika periodu;
- procentuālā vērtība - procenti (0-100).
Komentāri:
- Atbalstīts tikai aprēķinātajos vienumos;
- Šī funkcija ir aizstājvārds
histogram_quantile(percentage/100, bucket_rate_foreach(item filter, time period, 1)).
Piemēri:
bucket_percentile(/*/http_request_duration_seconds_bucket[*],5m,95) #calculate the 95th percentile response time over 5 minutes
bucket_percentile(/*/apiserver_request_duration_seconds_bucket[*],10m,99) #calculate the 99th percentile API latency
count(func_foreach(item filter,<time period>),<operator>,<pattern>)
Vērtību skaits masīvā, ko atgriež foreach funkcija.
Atbalstītās foreach funkcijas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parametri:
- func_foreach - foreach funkcija, kurai jāaprēķina atgriezto vērtību skaits. Sīkāku informāciju skatiet foreach funkcijās. Ņemiet vērā, ka count_foreach un bucket_rate_foreach atbalsta papildu parametrus.
- item filter - skatiet vienuma filtru;
- time period - skatiet laika periodu;
- operator (jābūt dubultpēdiņās). Atbalstītie
operatori:
eq - vienāds
ne - nav vienāds
gt - lielāks
ge - lielāks vai vienāds
lt - mazāks
le - mazāks vai vienāds
like - atbilst, ja satur šablonu (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 šablons (virknes argumentiem jābūt dubultpēdiņās); tiek atbalstīts, ja operator ir norādīts trešajā parametrā.
Komentāri:
- Izmantojot count() ar vēsturei piesaistītu foreach funkciju (max_foreach, avg_foreach u.c.), var rasties ietekme uz veiktspēju, savukārt exists_foreach() izmantošana, kas darbojas tikai ar konfigurācijas datiem, šādu efektu neradīs.
- Neobligātos parametrus operator vai pattern pēc komata nevar atstāt tukšus, tos var tikai pilnībā izlaist.
- Ja kā trešais parametrs tiek izmantots bitand, ceturto
patternparametru var norādīt kā divus skaitļus, kas atdalīti ar '/': number_to_compare_with/mask. count() aprēķina "bitu AND" no vērtības un mask, un salīdzina rezultātu ar number_to_compare_with. Ja "bitu AND" rezultāts ir vienāds ar number_to_compare_with, vērtība tiek ieskaitīta.
Ja number_to_compare_with un mask ir vienādi, var norādīt tikai mask (bez '/'). - Ja kā trešais parametrs tiek izmantots 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 pārmantota no globālās regulārās izteiksmes iestatījumiem. Regulārās izteiksmes salīdzināšanai peldošā komata vērtības vienmēr tiks attēlotas ar 4 zīmēm aiz '.'. Ņemiet vērā arī to, ka lieliem skaitļiem atšķirība starp decimālo (glabājas datubāzē) un bināro (izmanto Zabbix serveris) attēlojumu var ietekmēt 4. zīmi aiz komata.
Piemēri:
count(max_foreach(/*/net.if.in[*],1h)) #calculate the number of net.if.in items that received data in the last hour until now
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #calculate the number of file systems with over 95% of disk space used
histogram_quantile(quantile,bucket1,value1,bucket2,value2,...)
Aprēķina φ-kvantili no histogrammas spaiņiem.
Atbalstītā foreach funkcija: bucket_rate_foreach.
Parametri:
- quantile — 0 ≤ φ ≤ 1;
- bucketN, valueN — manuāli ievadīti parametru pāri (>=2) vai bucket_rate_foreach atbilde.
Komentāri:
- Atbalstīts tikai aprēķinātajos vienumos;
- Funkcionāli atbilst PromQL funkcijai 'histogram_quantile';
- Atgriež -1, ja pēdējā 'Infinity' spaiņa ("+inf") vērtības ir vienādas ar 0.
Piemēri:
histogram_quantile(0.75,1.0,last(/host/rate_bucket[1.0]),"+Inf",last(/host/rate_bucket[Inf]))
histogram_quantile(0.5,bucket_rate_foreach(//item_key,30s))
item_count(item filter)
Konfigurācijā esošo vienumu skaits, kas atbilst filtra kritērijiem.
Atbalstītais vērtības tips: Integer.
Parametrs:
- vienuma filtrs — vienumu atlases kritēriji; ļauj veikt atsauces pēc hostu grupas, hosta, vienuma atslēgas un tagiem. Tiek atbalstītas aizstājējzīmes. Plašāku informāciju skatiet vienuma filtrs.
Komentāri:
- Atbalstīts tikai aprēķinātajos vienumos;
- Darbojas kā funkcijas count(exists_foreach(item_filter)) aizstājvārds.
Piemēri:
item_count(/*/agent.ping?[group="Host group 1"]) #aprēķina hostu skaitu ar vienumu agent.ping grupā "Host group 1"
kurtosis(/host/key,(sec|#num)<:time shift>)
Savākto vērtību varbūtības sadalījuma "astainums" noteiktajā novērtēšanas periodā. Skatiet arī: Kurtosis.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach function: last_foreach.
Parametri: skatiet common parameters.
Piemēri:
kurtosis(/host/system.cpu.util[,user],5m)>5 #trigeris uz straujiem CPU noslodzes pīķiem 5 minūšu laikā
mad(/host/key,(sec|#num)<:time shift>)
Mediānā absolūtā novirze savāktajām vērtībām definētajā novērtēšanas periodā. Skatiet arī: Mediānā absolūtā novirze.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach funkcija: last_foreach.
Parametri: skatiet kopīgos parametrus.
Piemēri:
last(/host/system.cpu.util[,user])>avg(/host/system.cpu.util[,user],1h)+3*mad(/host/system.cpu.util[,user],1h) #trigeris, ja pēdējā CPU noslodzes vērtība ir statistiski nozīmīga
max(/host/key,(sec|#num)<:time shift>)
Vienuma augstākā vērtība noteiktajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītās foreach funkcijas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parametri: skatiet kopīgos parametrus.
Piemēri:
max(/host/key,1h) - min(/host/key,1h) #aprēķina starpību starp maksimālo un minimālo vērtību pēdējās stundas laikā līdz šim brīdim (vērtību delta)
max(last_foreach(/*/vfs.fs.size[*,pused]?[group="Linux servers"])) #atgriež augstāko diska lietojumu visos Linux serveros
min(/host/key,(sec|#num)<:time shift>)
Zemākā vienuma vērtība noteiktajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītās foreach functions: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parametri: skatiet kopīgos parametrus.
Piemēri:
max(/host/key,1h) - min(/host/key,1h) #aprēķina starpību starp maksimālo un minimālo vērtību pēdējās stundas laikā līdz šim brīdim (vērtību delta)
min(last_foreach(/*/vfs.file.contents["/sys/class/net/enp0s3/operstate"]?[group="Linux servers"])) #atgriež minimālo darbības stāvokli jebkurai saskarnei visos Linux serveros
skewness(/host/key,(sec|#num)<:time shift>)
Savākto vērtību varbūtības sadalījuma asimetrija noteiktajā novērtēšanas periodā. Skatiet arī: Skewness.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach funkcija: last_foreach.
Parametri: skatiet kopīgos parametrus.
Piemēri:
skewness(/host/vm.memory.size[used],5m)<-20 #trigeris pēkšņiem negatīviem kritumiem, kas norāda uz avārijām/pārstartēšanām
stddevpop(/host/key,(sec|#num)<:time shift>)
Populācijas standartnovirze savāktajās vērtībās noteiktajā novērtēšanas periodā. Skatiet arī: Standartnovirze.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach funkcija: last_foreach.
Parametri: skatiet kopīgos parametrus.
Piemēri:
stddevpop(/host/system.cpu.util[,user],10m)>7 #trigeris, ja CPU lietojums stipri svārstās (populācijas standartnovirze ir virs 7 10 minūšu laikā)
stddevsamp(/host/key,(sec|#num)<:time shift>)
Izlases standartnovirze savāktajām vērtībām noteiktajā novērtēšanas periodā. Skatiet arī: Standartnovirze.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach funkcija: last_foreach.
Parametri: skatiet kopīgos parametrus.
Lai šī funkcija darbotos, ir nepieciešamas vismaz divas datu vērtības.
Piemēri:
stddevsamp(/host/system.cpu.util[,user],10m)>7 #trigeris, ja CPU lietojums stipri svārstās (izlases standartnovirze ir virs 7 10 minūšu laikā)
sum(/host/key,(sec|#num)<:time shift>)
Savākto vērtību summa noteiktajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītās foreach functions: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parametri: skatiet kopīgos parametrus.
Piemēri:
sum(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #the sum of latest values for incoming network traffic across all Linux servers
sumofsquares(/host/key,(sec|#num)<:time shift>)
Savākto vērtību kvadrātu summa noteiktajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītās foreach function: last_foreach.
Parametri: skatiet common parameters.
Piemēri:
sumofsquares(/host/calculated.net.if.rate,1m) #tīkla datplūsmas ātruma kvadrātu summa (ienākošā pret izejošo)
sumofsquares(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #jaunāko ienākošās tīkla datplūsmas vērtību kvadrātu summa visos Linux serveros
varpop(/host/key,(sec|#num)<:time shift>)
Savākto vērtību populācijas dispersija noteiktajā novērtēšanas periodā. Skatiet arī: Dispersija.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach funkcija: last_foreach.
Parametri: skatiet kopīgos parametrus.
Piemēri:
varpop(/host/system.cpu.util[,user],10m)>50 #trigeris, ja CPU lietojums stipri svārstās (dispersija ir virs 50 10 minūšu laikā)
varsamp(/host/key,(sec|#num)<:time shift>)
Savākto vērtību izlases dispersija noteiktajā novērtēšanas periodā. Skatiet arī: Dispersija.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach funkcija: last_foreach.
Parametri: skatiet kopīgos parametrus.
Lai šī funkcija darbotos, ir nepieciešamas vismaz divas datu vērtības.
Piemēri:
varsamp(/host/system.cpu.util[,user],10m)>50 #trigeris, ja CPU lietojums stipri svārstās (izlases dispersija ir virs 50 10 minūšu laikā)
Skatīt visas atbalstītās funkcijas.