7 Израчунате ставке

Преглед

Израчуната ставка омогућава креирање прорачуна на основу вредности неких постојећих ставки. На пример, можда желите да израчунате сатни просек вредности неке ставке или да израчунате укупну вредност за групу ставки. Зато служи израчуната ставка.

Прорачуни могу користити:

  • појединачне вредности појединачних ставки
  • сложени филтер за избор више ставки за агрегацију (погледајте агрегирани прорачуни за детаље)

Израчунате ставке су начин креирања виртуелних извора података. Све прорачуне врши само Zabbix сервер. Вредности се периодично израчунавају на основу коришћеног аритметичког израза.

Добијени подаци се чувају у Zabbix бази података као и за било коју другу ставку; чувају се и историјске и трендовске вредности и могу се генерисати графикони.

Ако је резултат израчунавања вредност типа float, биће скраћен на цео број ако је тип информација израчунате ставке Нумерички (без знака).

Такође, ако нема скорашњих података у кешу и нема дефинисаног периода упита у функцији, Zabbix ће подразумевано ићи у прошлост до једне недеље да би упитао базу података за историјске вредности.

Израчунате ставке деле своју синтаксу са trigger expressions. Поређење са стринговима је дозвољено у израчунатим ставкама. Израчунате ставке могу бити референциране макроима или другим ентитетима исто као и било који други тип ставке.

Да бисте користили израчунате ставке, изаберите тип ставке Израчунато.

Конфигурисабилна поља

Кључ је јединствени идентификатор ставке (по хосту). Можете креирати било које име кључа користећи подржане симболе.

Дефиниција израчунавања треба да се унесе у поље Формула. Не постоји веза између формуле и кључа. Параметри кључа се ни на који начин не користе у формули.

Синтакса једноставне формуле је:

function(/host/key,<параметар1>,<параметар2>,...)

где је:

function Једна од подржаних функција: last, min, max, avg, count, итд.
host Домаћин ставке која се користи за израчунавање.
Тренутни домаћин се може изоставити (нпр. као у function(//key,parameter,...)).
key Кључ ставке која се користи за израчунавање.
parameter(s)) Параметри функције, ако је потребно.
Суфикси времена и суфикси величине меморије су подржани.

Кориснички макрои у формули ће бити проширени ако се користе за референцирање параметра функције, параметра филтера ставке или константе. Кориснички макрои НЕЋЕ бити проширени ако се референцирају на функцију, име домаћина, кључ ставке, параметар кључа ставке или оператор.

Сложенија формула може користити комбинацију функција, оператора и заграда. Можете користити све функције и операторе подржане у изразима окидача. Логика и приоритет оператора су потпуно исти.

За разлику од окидачких израза, Zabbix обрађује израчунате ставке према интервалу ажурирања ставке, а не по пријему нове вредности.

Све ставке на које се позивају функције историје у формули израчунате ставке морају постојати и прикупљати податке. Такође, ако промените кључ ставке референциране ставке, морате ручно ажурирати све формуле користећи тај кључ.

Израчуната ставка може постати неподржана у неколико случајева:

  • референцирана(е) ставка(е)
  • није пронађена(а)
  • је онемогућена(а)
  • припада онемогућеном хосту
  • није подржана (осим са функцијом nodata() и оператори са непознатим вредностима)
  • нема података за израчунавање функције
  • дељење са нулом
  • коришћена је нетачна синтакса

Примери употребе

Пример 1

Израчунавање процента слободног простора на диску на '/'.

Употреба функције last:

100*last(//vfs.fs.size[/,free])/last(//vfs.fs.size[/,total])

Zabbix ће узети најновије вредности за слободан и укупан простор на диску и израчунати проценат према датој формули.

Пример 2

Израчунавање 10-минутног просека броја вредности које обрађује Zabbix.

Употреба функције ** avg**:

avg(/Zabbix Server/zabbix[wcache,values],10m)

Имајте на уму да екстензивна употреба израчунатих ставки са дугим временским периодима може утицати перформансе Zabbix сервера.

Пример 3

Израчунавање укупног пропусног опсега на eth0.

Збир две функције:

last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes])

Пример 4

Израчунавање процента долазног саобраћаја.

Сложенији израз:

100*last(//net.if.in[eth0,bytes])/(last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes]))

Погледајте такође: Примери агрегатних прорачуна