1 Apkopojošās funkcijas

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

Apkopojošās 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 tieši 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 φ-kvantiļu no histogrammas spaiņiem.
item_count Esošo vienumu skaits konfigurācijā, kas atbilst filtra kritērijiem.
kurtosis Savākto vērtību varbūtības sadalījuma "astes smagums" noteiktajā novērtēšanas periodā.
mad Savākto vērtību mediānā absolūtā novirze 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 Savākto vērtību varbūtības sadalījuma asimetrija noteiktajā novērtēšanas periodā.
stddevpop Savākto vērtību populācijas standartnovirze noteiktajā novērtēšanas periodā.
stddevsamp Savākto vērtību izlases standartnovirze 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 hosts vienuma vēsturi
  • (sec|#num)<:time shift> ir kopīgs otrais parametrs funkcijām, kas atsaucas uz hosts 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) #vidējā vērtība par pēdējo stundu līdz šim brīdim
avg(/host/key,1h:now-1d) #vidējā vērtība par stundu no 25 stundām līdz 24 stundām pirms šī brīža
avg(/host/key,#5) #pēdējo piecu vērtību vidējā vērtība
avg(/host/key,#5:now-1d) #pēdējo piecu vērtību vidējā vērtība, izslēdzot vērtības, kas saņemtas pēdējo 24 stundu laikā
avg(/host/proc.num,5m)>300 #trigeris, ja procesu vidējais skaits pēdējo 5 minūšu laikā 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 funkcijai 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>)

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āskaita atgriezto vērtību skaits. Sīkāku informāciju skatiet foreach functions. Ņ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 ietvertam 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 ietvertiem dubultpēdiņās); atbalstīts, ja trešajā parametrā ir norādīts operator.

Komentāri:

  • Izmantojot count() kopā ar ar vēsturi 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; tos var tikai pilnībā izlaist.
  • Ja trešais parametrs ir 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 līmeņa AND" starp vērtību un mask un salīdzina rezultātu ar number_to_compare_with. Ja "bitu līmeņa 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, jānorāda 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. Regexp atbilstības noteikšanai peldošā komata 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ā (datubāzē glabātajā) un binārajā (Zabbix serveris izmantotajā) attēlojumā var ietekmēt 4. decimāldaļu.

Piemēri:

count(max_foreach(/*/net.if.in[*],1h)) #aprēķina net.if.in vienumu skaitu, kas saņēmuši 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 φ-kvantiļu no histogrammas spaiņiem.
Atbalstīta 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īta 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:

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

Piezīmes:

  • 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"]) #hostu skaits ar *agent.ping* vienumu "Host group 1"
kurtosis(/host/key,(sec|#num)<:time shift>)

Varbūtību sadalījuma "astes" izteiktība 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ās foreach function: last_foreach.

Parametri: skatiet common parameters.

Piemēri:

last(/host/system.cpu.util[,user])>avg(/host/system.cpu.util[,user],1h)+3*mad(/host/system.cpu.util[,user],1h) #trigeris if the last CPU utilization value is statistically significant
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 lietojumu 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 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)
min(last_foreach(/*/vfs.file.contents["/sys/class/net/enp0s3/operstate"]?[group="Linux servers"])) #atgriež jebkura interfeisa minimālo darbības stāvokli visos Linux serveros
skewness(/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 common parameters.

Piemēri:

skewness(/host/vm.memory.size[used],5m)<-20 #trigger on sudden negative drops indicating crashes/restarts
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 function: last_foreach.

Parametri: skatiet kopīgos parametrus.

Piemēri:

stddevpop(/host/system.cpu.util[,user],10m)>7 #CPU lietojums svārstās ļoti strauji (populācijas standartnovirze ir virs 7)
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.

Šai funkcijai ir nepieciešamas vismaz divas datu vērtības.

Piemēri:

stddevsamp(/host/system.cpu.util[,user],10m)>7 #CPU lietojums būtiski svārstās (izlases standartnovirze ir virs 7)
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 common parameters.

Piemēri:

sum(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #pēdējo vērtību summa ienākošā tīkla trafika datiem visos Linux serveros
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ā foreach function: last_foreach.

Parametri: skatiet kopīgos parametrus.

Piemēri:

sumofsquares(/host/calculated.net.if.rate,1m) #tīkla trafika ātruma kvadrātu summa (ienākošais pret izejošo)
sumofsquares(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #jaunāko ienākošā tīkla trafika vērtību kvadrātu summa visiem Linux serveriem
varpop(/hosts/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 function: last_foreach.

Parametri: skatiet kopīgos parametrus.

Piemēri:

varpop(/hosts/system.cpu.util[,user],10m)>50 #CPU lietojums svārstās stipri (dispersija ir virs 50)
varsamp(/hosts/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(/hosts/system.cpu.util[,user],10m)>50 #CPU lietojums būtiski svārstās (izlases dispersija ir virs 50)

Skatiet visas atbalstītās funkcijas.