Поред тога, Zabbix подржава корисничке макрое за већу флексибилност на макрое подржано ван кутије.
Кориснички макрои се могу дефинисати на глобалном, шаблонском и домаћинсом нивоу. Ове макрои имају посебну синтаксу:
Zabbix решава макрое према следећем приоритету:
Другим речима, ако макро не постоји за домаћина, Zabbix ће покушати пронађите га у шаблонима домаћина све веће дубине. Ако још увек није пронађен, а ће се користити глобални макро, ако постоји.
Ако макро са истим именом постоји на више повезани шаблони истог нивоа, макро из шаблона са најнижи ID ће се користити. Тако имате макрое са истим именом у више шаблона представља ризик конфигурације.
Ако Zabbix не може да пронађе макро, макро неће бити решен.
Макрои (укључујући корисничке) остају нерешени у одељку Конфигурација (на пример, у листи окидача) од стране дизајн да сложену конфигурацију учини транспарентнијом.
Кориснички макрои се могу користити у:
Препоручљиво је користити домаћине макрое уместо глобалних макроа јер додавање, ажурирање или брисање глобалних макроа доводи до инкременталног ажурирања конфигурације за све домаћине. За више информација погледајте Провере пасивних и активних агената.
Да бисте дефинисали корисничке макрое, идите на одговарајућу локацију у фронтенду:
Ако се кориснички макро користи у ставкама или окидачи у а шаблону, предлаже се да се тај макро дода у шаблон чак и ако је је дефинисан на глобалном нивоу. На тај начин, ако је тип макроа текст извоз шаблона у XML и увоз у други систем ће и даље дозволите да ради како се очекује. Вредности тајних макроа нису извезено.
Макро корисника има следеће атрибуте:
Parameter | Description |
---|---|
Macro | Име макроа. Име мора да буде умотано у витичасте заграде и да почиње знаком долара. Пример: {$FRONTEND_URL}. Следећи знакови су дозвољени у именима макроа: А-Z (само велика слова) , 0-9 , _ , . |
Value | Вредност макроа. Подржана су три типа вредности: Текст (подразумевано) - вредност обичног текста Тајни текст - вредност је маскирана са звездицама Тајна трезора - вредност садржи путању/упит до а тајна трезора. Да промените тип вредности кликните на дугме на крају поља за унос вредности. Максимална дужина вредности корисничког макроа је 2048 карактера. |
Description | Текстуално поље које се користи за пружање више информација о овом макроу. |
У изразима окидача кориснички макрои ће решити ако упућивање на параметар или константу. Неће решити ако упућивање на домаћина, кључ ставке, функцију, оператор или други окидач израза. Тајни макрои се не могу користити у окидачу изрази.
Употреба макроа на нивоу домаћина у кључу ставке "Статус SSH демона":
net.tcp.service[ssh,,{$SSH_PORT}]
Ова ставка се може доделити вишеструким домаћинима, под условом да је вредност од {$SSH_PORT} је дефинисан на тим домаћинима.
Употреба макроа на нивоу домаћина у покретачу "оптерећење процесора је превисоко":
last(/ca_001/system.cpu.load[,avg1])>{$MAX_CPULOAD}
Такав окидач би био креиран на шаблону, а не уређиван у њему појединачни домаћини.
Ако желите да користите количину вредности као функцију параметар (на пример, max(/host/key,#3)), укључите хеш знак у дефиниција макроа овако: SOME_PERIOD => #3
Употреба два макроа у покретачу "оптерећење процесора је превисоко":
min(/ca_001/system.cpu.load[,avg1],{$CPULOAD_PERIOD})>{$MAX_CPULOAD}
Имајте на уму да се макро може користити као параметар функције окидача, у овај пример функције min().
Синхронизујте услов недоступности агента са ажурирањем ставке интервал:
nodata(/ca_001/agent.ping,{$INTERVAL})=1
Централизујте конфигурацију радног времена:
1-5,09:00-18:00
;Користите макро прототип домаћина да бисте конфигурисали ставке за откривене домаћине:
Погледајте кориснички макрои са контекст.