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/key ir 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:

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/key un (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:

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īta pattern
    iregexp - reģistrnejutīga atbilstība regulārajai izteiksmei, kas norādīta pattern
  • 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 pattern parametru 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 pattern parametrs 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.