Израчуната ставка омогућава креирање прорачуна на основу вредности неких постојећих ставки. На пример, можда желите да израчунате сатни просек вредности неке ставке или да израчунате укупну вредност за групу ставки. Зато служи израчуната ставка.
Прорачуни могу користити:
Израчунате ставке су начин креирања виртуелних извора података. Све прорачуне врши само 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 обрађује израчунате ставке према интервалу ажурирања ставке, а не по пријему нове вредности.
Све ставке на које се позивају функције историје у формули израчунате ставке морају постојати и прикупљати податке. Такође, ако промените кључ ставке референциране ставке, морате ручно ажурирати све формуле користећи тај кључ.
Израчуната ставка може постати неподржана у неколико случајева:
Израчунавање процента слободног простора на диску на '/'.
Употреба функције last:
100*last(//vfs.fs.size[/,free])/last(//vfs.fs.size[/,total])
Zabbix ће узети најновије вредности за слободан и укупан простор на диску и израчунати проценат према датој формули.
Израчунавање 10-минутног просека броја вредности које обрађује Zabbix.
Употреба функције ** avg**:
avg(/Zabbix Server/zabbix[wcache,values],10m)
Имајте на уму да екстензивна употреба израчунатих ставки са дугим временским периодима може утицати перформансе Zabbix сервера.
Израчунавање укупног пропусног опсега на eth0.
Збир две функције:
last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes])
Израчунавање процента долазног саобраћаја.
Сложенији израз:
100*last(//net.if.in[eth0,bytes])/(last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes]))
Погледајте такође: Примери агрегатних прорачуна