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/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 piedēkļus), 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 laika nobīdes 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ē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ītapattern
iregexp - reģistrnejutīga atbilstība regulārajai izteiksmei, kas norādītapattern - 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
patternparametru 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
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 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.