1 Agregētās funkcijas

Ja nav norādīts citādi, visas šeit uzskaitītās funkcijas tiek atbalstītas:

Agregētās funkcijas var darboties ar vienu no šiem:

  • 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.

Funkcija Apraksts
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 φ-kvantiļu no histogrammas spaiņiem.
item_count Esošo konfigurācijas vienumu skaits, kas atbilst filtra kritērijiem.
kurtosis Varbūtību sadalījuma "astes" izteiktība savāktajās vērtībās noteiktajā novērtēšanas periodā.
mad Mediānas absolūtā novirze savāktajās vērtībās noteiktajā novērtēšanas periodā.
max Augstākā vienuma vērtība noteiktajā novērtēšanas periodā.
min Zemākā vienuma vērtība noteiktajā novērtēšanas periodā.
skewness Varbūtību 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ējie 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ējos 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 pirms kāda laika.

Piemēri:

avg(/host/key,1h) #aprēķina vidējo vērtību par pēdējo stundu līdz šim brīdim
avg(/host/key,#5) #aprēķina vidējo vērtību pēdējām piecām vērtībām
avg(/host/key,1h:now-1d) #aprēķina vidējo vērtību par stundu no 25 stundām līdz 24 stundām pirms šī brīža
avg(last_foreach(/*/system.cpu.load[,avg1]?[group="MySQL Servers"])) #aprēķina vidējo procesora noslodzi visiem MySQL serveriem
avg(/host/proc.num,5m)>300 #trigeris, ja procesu vidējais 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:

  • item filter - skatiet item filter;
  • time period - skatiet time period;
  • percentage - procentuālā vērtība (0-100).

Piezīmes:

  • 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) #aprēķina 95. procentiles atbildes laiku 5 minūšu periodā
bucket_percentile(/*/apiserver_request_duration_seconds_bucket[*],10m,99) #aprēķina 99. procentiles API latentumu
count(func_foreach(item filter,<time period>),<operator>,<pattern>)

Ar foreach funkciju atgriezto vērtību skaits masīvā.
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āskaita atgriezto vērtību skaits. Sīkāku informāciju skatiet foreach funkcijas. Ņemiet vērā, ka count_foreach un bucket_rate_foreach atbalsta papildu parametrus.
  • item filter - skatiet item filter;
  • time period - skatiet time period;
  • operator (jābūt dubultpēdiņās). Atbalstītie operators:
    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 paraugu (reģistrjutīgs)
    bitand - bitu līmeņa 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 paraugs (string argumentiem jābūt dubultpēdiņās); atbalstīts, ja trešajā parametrā ir norādīts operator.

Piezīmes:

  • Izmantojot count() ar vēstures datiem saistītu foreach funkciju (max_foreach, avg_foreach u. c.), var rasties veiktspējas ietekme, savukārt, izmantojot exists_foreach(), kas darbojas tikai ar konfigurācijas datiem, šādas ietekmes nebūs.
  • Neobligātos parametrus operator vai pattern nevar atstāt tukšus pēc komata — tie ir vai nu pilnībā jāizlaiž, vai jānorāda.
  • Ja trešais parametrs ir bitand, ceturto pattern parametru var norādīt kā divus skaitļus, kas atdalīti ar '/': skaitlis_salīdzināšanai/ar_masu. count() aprēķina vērtības un maskas "bitu līmeņa AND" un salīdzina rezultātu ar skaitlis_salīdzināšanai. Ja "bitu līmeņa AND" rezultāts ir vienāds ar skaitlis_salīdzināšanai, vērtība tiek ieskaitīta.
    Ja skaitlis_salīdzināšanai un mask ir vienādi, pietiek norādīt tikai mask (bez '/').
  • Ja trešais parametrs ir 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 mantota no globālo regulāro izteiksmju iestatījumiem. Regulārās izteiksmes atbilstības noteikšanai peldošā komata vērtības vienmēr tiks attēlotas ar 4 decimālzīmēm aiz '.'. Ņemiet vērā arī to, ka lieliem skaitļiem atšķirība decimālajā (datubāzē glabātajā) un binārajā (Zabbix serveris izmantotajā) attēlojumā var ietekmēt 4. decimālzīmi.

Piemēri:

count(max_foreach(/*/net.if.in[*],1h)) #aprēķina net.if.in vienumu skaitu, kas saņēma datus pēdējās stundas laikā līdz šim brīdim
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #aprēķina failu sistēmu skaitu, kurās izmantoti vairāk nekā 95% diska vietas
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.

Piezīmes:

  • 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)

Esošo vienumu skaits konfigurācijā, kas atbilst filtra kritērijiem.
Atbalstītais vērtības tips: Integer.

Parametrs:

  • item filter - vienumu atlases kritēriji, ļauj atsaukties pēc host grupas, host, vienuma atslēgas un tagiem. Tiek atbalstīti aizstājējzīmes. Plašāku informāciju skatiet item filter.

Komentāri:

  • Atbalstīts tikai aprēķinātajos vienumos;
  • Darbojas kā aizstājvārds funkcijai count(exists_foreach(item_filter)).

Piemēri:

item_count(/*/agent.ping?[group="Host group 1"]) #aprēķina to hostu skaitu, kuriem ir vienums agent.ping grupā "Host group 1"
kurtosis(/host/key,(sec|#num)<:time shift>)

Varbūtības sadalījuma "astainums" savāktajās vērtībās 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 #trigger on sharp spikes of CPU utilization over 5 minutes
mad(/host/key,(sec|#num)<:time shift>)

Mediānais absolūtais novirzes rādītājs savāktajās vērtībās noteiktajā novērtēšanas periodā. Skatiet arī: Mediānais absolūtais novirzes rādītājs.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach function: last_foreach.

Parametri: skatiet kopējos 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 izmantošanas 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 functions: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Parametri: skatiet common parameters.

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ž lielāko diska noslodzi visos Linux serveros
min(/host/key,(sec|#num)<:time shift>)

Vienuma zemākā 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 common parameters.

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 jebkuram interfeisam visos Linux serveros
šķībums(/host/key,(sec|#num)<:time shift>)

Varbūtību sadalījuma asimetrija savāktajās vērtībās noteiktajā novērtēšanas periodā. Skatiet arī: Skewness.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach function: 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ī: Standarta novirze.
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 būtiski svārstās (populācijas standartnovirze ir virs 7 10 minūšu laikā)
stddevsamp(/host/key,(sec|#num)<:time shift>)

Izlases 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 function: 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 būtiski 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 funkcijas: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Parametri: skatiet kopējos parametrus.

Piemēri:

sum(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #aprēķina kopējo ienākošā tīkla trafiku visiem Linux serveriem
sum(last_foreach(/*/vfs.fs.size[/,total]?[group="MySQL Servers"])) #aprēķina kopējo diska vietu visiem MySQL serveriem
sum(last_foreach(/*/net.dns[*,*,*])) #aprēķina kopējo veiksmīgo DNS pārbaužu skaitu
sumofsquares(/host/key,(sec|#num)<:time shift>)

Kvadrātu summa savāktajās vērtībās noteiktajā novērtēšanas periodā.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach funkcija: last_foreach.

Parametri: skatiet kopīgos parametrus.

Piemēri:

sumofsquares(/host/calculated.net.if.rate,1m) #kvadrātu summa tīkla trafika ātrumam (ienākošais pret izejošo)
sumofsquares(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #kvadrātu summa jaunākajām ienākošā tīkla trafika vērtībām 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ī: Variance.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach function: last_foreach.

Parametri: skatiet common parameters.

Piemēri:

varpop(/host/system.cpu.util[,user],10m)>50 #trigeris, ja CPU lietojums būtiski 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ī: Variance.
Atbalstītie vērtību tipi: Float, Integer.
Atbalstītā foreach function: last_foreach.

Parametri: skatiet common parameters.

Šīs funkcijas darbībai ir nepieciešamas vismaz divas datu vērtības.

Piemēri:

varsamp(/host/system.cpu.util[,user],10m)>50 #trigeris, ja CPU lietojums būtiski svārstās (izlases dispersija ir virs 50 10 minūšu laikā)

Skatiet visas atbalstītās funkcijas.