1 Агрегатне функције

Осим тамо где је другачије наведено, све функције наведене овде су подржане у:

Агрегатне функције могу да раде са:

  • историјом ставки, на пример, min(/host/key,1h)
  • foreach функцијом као једини параметром, на пример, min(last_foreach(/*/key)) (само у израчунатим ставкама; не може се користити у окидачима)

Функције су наведене без додатних информација. Кликните на функцију да бисте видели потпуне детаље.

Function Description
avg Просечна вредност ставке унутар дефинисаног периода евалуације.
bucket_percentile Израчунава процентил из бафера хистограма.
count Број вредности у низу које враћа foreach функција.
histogram_quantile Израчунава φ-квантил из бафера хистограма.
item_count Број постојећих ставки у конфигурацији које одговарају критеријумима филтера.
kurtosis "Дебљина репа" дистрибуције вероватноће у прикупљеним вредностима унутар дефинисаног периода евалуације.
mad Медијанска апсолутна девијација прикупљених вредности у оквиру периода евалуације.
max Највећа вредност ставке у дефинисаном периоду евалуације.
min Најнижа вредност ставке у дефинисаном периоду евалуације.
skewness Асиметрија расподеле вероватноће у прикупљеним вредностима унутар дефинисаног периода евалуације.
stddevpop Стандардна девијација популације у прикупљеним вредностима унутар дефинисаног периода евалуације.
stddevsamp Узорак стандардне девијације у прикупљеним вредностима унутар дефинисаног периода евалуације.
sum Збир прикупљених вредности у дефинисаном периоду евалуације.
sumofsquares Збир квадрата у прикупљеним вредностима унутар дефинисаног периода евалуације.
varpop Варијанса популације прикупљених вредности унутар дефинисаног периода евалуације.
varsamp Узорак варијансе прикупљених вредности унутар дефинисаног периода евалуације.

Заједнички параметри

  • /host/key је уобичајени обавезни први параметар за функције које се референцирају на историју ставке домаћина
  • (sec|#num)<:time shift> је заједнички други параметар за функције које упућују на историју ставке домаћина, где је:
    • sec - максимум периода евалуације у секундама (могу се користити време суфикси) или
    • #num - максимум опсег евалуације у најновијем прикупљењу вредности (ако им претходи хеш ознака)
    • временски помак (опционо) омогућава померање тачке евалуације назад у време. Погледајте више детаља за навођење временског померања.

Детаљи функције

Неке опште напомене о параметрима функције:

  • Параметри функције су одвојени зарезом
  • Опциони параметри функције (или делови параметара) су означени са < >
  • Параметри специфични за функцију описани су уз сваку функцију
  • /host/key и (sec|#num)<:time shift> параметри никада не смеју бити под наводницима
avg(/host/key,(sec|#num)<:time shift>)

Просечна вредност ставке унутар дефинисаног периода евалуације.
Подржани типови вредности: Float, Integer.
Подржане foreach функције: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Параметри: погледајте заједнички параметри.

Временски помак је користан када постоји потреба да се упореди тренутна просечна вредност са просечном вредношћу пре неког времена.

Примери:

avg(/host/key,1h) #the average value for the last hour until now
       avg(/host/key,1h:now-1d) #the average value for an hour from 25 hours ago to 24 hours ago from now
       avg(/host/key,#5) #the average value of the five latest values

avg(/host/key,#5:now-1d) #the average value of the five latest values excluding the values received in the last 24 hours

bucket_percentile(item filter,time period,percentage)

Израчунава проценат на основу сегмента хистограма.

Параметри:

Коментари:

  • Подржано само у израчунатим ставкама;
  • Ова функција је псеудоним за histogram_quantile(percentage/100, bucket_rate_foreach(item filter, time period, 1)).
count(func_foreach(item filter,<time period>),<operator>,<pattern>)

Број вредности у низу које враћа foreach функција.
Подржане foreach функције: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Параметри:

  • func_foreach - foreach функција за коју треба рачунати број враћених вредности (са подржаним аргументима). Погледајте foreach функције за детаље.
  • филтер ставки - погледајте филтер ставки;
  • временски период - погледајте временски период;
  • оператор (мора бити под двоструким наводницима). Подржани operators:
    eq - једнако
    ne - није једнако
    gt - веће од
    ge - веће или једнако
    lt - мање од
    le - мање или једнако
    like - одговара ако садржи образац (разликује мала и велика слова)
    bitand - битовско AND
    regexp - осетљиво на велика и мала слова, упаривање регуларног израза датог у pattern
    iregexp - неосетљиво на велика и мала слова, упаривање регуларног израза датог у pattern
  • образац - тражени образац (аргументи стрингова морају бити под двоструким наводницима); подржано ако је оператор наведен у трећем параметру.

Коментари:

  • Коришћење ** count()** са foreach функцијом везаном за историју (max_foreach, avg_foreach, итд.) може довести до импликација на перформансе, док коришћење ** exists_foreach()**, која ради само са подацима о конфигурацији, неће имати такав ефекат.
  • Опциони параметри оператор или образац не могу бити остављени празни после зареза, само потпуно изостављени.
  • Са * bitand* као трећим параметром, четврти параметар pattern се може навести као два броја, раздвојена са '/': number_to_compare_with/mask. count() израчунава "битовско AND" из вредности и маске и упоређује резултат са number_to_compare_with. Ако је резултат "битовско AND" једнак number_to_compare_with, вредност се броји.
    Ако су * number_to_compare_with* и маска једнаки, потребно је само навести маску (без '/').
  • Са regexp или iregexp као трећим параметром, четврти параметар pattern може бити обичан или глобални (који почиње са '@') регуларни израз. У случају глобалних регуларних израза, осетљивост на велика и мала слова се наслеђује из подешавања глобалних регуларних израза. За потребе подударања регуларног израза, float вредности ће увек бити представљене са 4 децималне цифре после '.'. Такође имајте на уму да за велике бројеве разлика у децималној (складиштеној у бази података) и бинарној (коју користи Zabbix сервер) може утицати на 4. децималу.

Примери:

count(max_foreach(/*/net.if.in[*],1h)) #the number of net.if.in items that received data in the last hour until now
       count(last_foreach(/*/vfs.fs.dependent.size[*,pused]),"gt",95) #the number of file systems with over 95% of disk space used
histogram_quantile(quantile,bucket1,value1,bucket2,value2,...)

Израчунава φ-квантил из сегмента хистограма.
Подржана foreach функција: bucket_rate_foreach.

Параметри:

  • quantile - 0 ≤ φ ≤ 1;
    valueN
  • bucketN, valueN - ручно унети парови (>=2) параметара или одговор bucket_rate_foreach.

Коментари:

  • Подржано само у израчунатим ставкама;
  • Функционално одговара 'histogram_quantile' од PromQL-а; – Враћа -1 ако су вредности последњег 'Infinity' бафера ("+ inf") једнаке 0.

Примери:

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)

Број постојећих ставки у конфигурацији које одговарају критеријумима филтера.
Подржани тип вредности: Integer.

Параметар:

  • филтер ставке - критеријуми за избор ставки, дозвољавају референцирање по групи домаћина, домаћину, кључу ставке и ознакама. Подржани су џокер знакови. Погледајте филтер ставки за више детаља.

Коментари:

  • Подржано само у израчунатим ставкама;
  • Ради као псеудоним за функцију count(exists_foreach(item_filter)).

Примери:

item_count(//agent.ping?[group="Host group 1"]) #the number of hosts with the agent.ping* item in the "Host group 1"

kurtosis(/host/key,(sec|#num)<:time shift>)

"Израженост репова" расподеле вероватноће у прикупљеним вредностима у дефинисаном периоду евалуације. Погледајте такође: Kurtosis.
Подржани типови вредности: Float, Integer.
Подржана foreach функција: last_foreach.

Параметри: погледајте заједничке параметре.

Пример:

kurtosis(/host/key,1h) #kurtosis for the last hour until now
mad(/host/key,(sec|#num)<:time shift>)

Медијана апсолутног одступања у прикупљеним вредностима у дефинисаном периоду евалуације. Погледајте такоће: Медијана апсолутне девијације.
Подржани типови вредности: Float, Integer.
Подржана foreach функција: last_foreach.

Параметри: погледајте заједнички параметри.

Пример:

mad(/host/key,1h) #median absolute deviation for the last hour until now
max(/host/key,(sec|#num)<:time shift>)

Највеће вредност ставке у дефинисаном периоду евалуације.
Подржани типови вредности: Float, Integer.
Подржане foreach функције: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Параметри: погледајте заједнички параметри.

Пример:

max(/host/key,1h) - min(/host/key,1h) #calculate the difference between the maximum and minimum values within the last hour until now (the delta of values)
min(/host/key,(sec|#num)<:time shift>)

Најнижа вредност ставке у дефинисаном периоду евалуације.
Подржани типови вредности: Float, Integer.
Подржане foreach функције: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Параметри: погледајте заједнички параметри.

Пример:

max(/host/key,1h) - min(/host/key,1h) #calculate the difference between the maximum and minimum values within the last hour until now (the delta of values)
skewness(/host/key,(sec|#num)<:time shift>)

Асиметрија дистрибуције вероватноће у прикупљеним вредностима у дефинисаном периоду евалуације. Погледајте такође: Skewness.
Подржани типови вредности: Float, Integer.
Подржана foreach функција: last_foreach.

Параметри: погледајте зсаједнички параметри.

Пример:

skewness(/host/key,1h) #the skewness for the last hour until now
stddevpop(/host/key,(sec|#num)<:time shift>)

Стандардна девијација популације у прикупљеним вредностима унутар дефинисаног периода евалуације. Погледајте такође: Стандардна девијација.
Подржани типови вредности: Float, Integer.
Подржана foreach функција: last_foreach.

Параметри: погледајте заједнички параметри.

Пример:

stddevpop(/host/key,1h) #the population standard deviation for the last hour until now
stddevsamp(/host/key,(sec|#num)<:time shift>)

Стандардна девијација узорка у прикупљеним вредностима унутар дефинисаног периода евалуације. Погледајте такође: Стандардна девијација.
Подржани типови вредности: Float, Integer.
Подржана функција foreach: last_foreach.

Параметри: погледајте заједнички параметри.

За рад ове функције потребне су најмање две вредности података.

Пример:

stddevsamp(/host/key,1h) #the sample standard deviation for the last hour until now
sum(/host/key,(sec|#num)<:time shift>)

Збир прикупљених вредности у дефинисаном периоду евалуације.
Подржани типови вредности: Float, Integer.
Подржане foreach функције: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Параметри: погледајте заједничке параметре.

Пример:

sum(/host/key,1h) #the sum of values for the last hour until now
sumofsquares(/host/key,(sec|#num)<:time shift>)

Збир квадрата у прикупљеним вредностима у дефинисаном периоду евалуације.
Подржани типови вредности: Float, Integer.
Подржана foreach функција: last_foreach.

Параметри: погледајте заједнички параметри.

Пример:

sumofsquares(/host/key,1h) #the sum of squares for the last hour until now
varpop(/host/key,(sec|#num)<:time shift>)

Варијанса популације прикупљених вредности унутар дефинисаног периода евалуације. Погледајте такође: Варијанса.
Подржани типови вредности: Float, Integer.
Подржана foreach функција: last_foreach.

Параметри: погледајте заједнички параметри.

Пример:

varpop(/host/key,1h) #the population variance for the last hour until now

varsamp(/host/key,(sec|#num)<:time shift>)

Варијанса узорка прикупљених вредности у дефинисаном периоду евалуације. Такође погледајте: Варијанса.
Подржани типови вредности: Float, Integer.
Подржана foreach функција: last_foreach.

Параметри: погледајте заједнички параметри.

За рад ове функције потребне су најмање две вредности података.

Пример:

arsamp(/host/key,1h) #the sample variance for the last hour until now

Погледајте све подржане функције.