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 функције за детаље. Имајте на уму да count_foreach и bucket_rate_foreach подржавају додатне параметре.
  • item filter - погледајте филтер ставке;
  • time period - погледајте временски период;
  • operator (мора бити под двоструким наводницима). Подржани оператори:
    eq - једнако
    ne - није једнако
    gt - веће
    ge - веће или једнако
    lt - мање
    le - мање или једнако
    like - подудара се ако садржи шаблон (разликује велика и мала слова)
    bitand - по биту AND
    regexp - подударање регуларног израза датог у pattern које разликује велика и мала слова
    iregexp - подударање регуларног израза датог у pattern без разликовања великих и малих слова
  • pattern - потребан шаблон (аргументи низа морају бити под двоструким наводницима); подржано ако је оператор наведен у трећем параметру.

Коментари:

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

Примери:

count(max_foreach(//net.if.in[*],1h)) #број net.if.in ставки које су примиле податке у последњем сату до сада count(last_foreach(//vfs.fs.dependent.size[*,pused]),"gt",95) #број фајл система са преко 95% искоришћеног простора на диску

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

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