Поред тога, Zabbix подржава корисничке макрое за већу флексибилност на макрое подржано ван кутије.
Кориснички макрои се могу дефинисати на глобалном, шаблонском и домаћинсом нивоу. Ове макрои имају посебну синтаксу:
Zabbix решава макрое према следећем приоритету:
Другим речима, ако макро не постоји за домаћина, Zabbix ће покушати пронађите га у шаблонима домаћина све веће дубине. Ако још увек није пронађен, а ће се користити глобални макро, ако постоји.
Ако макро са истим именом постоји на више повезани шаблони истог нивоа, макро из шаблона са најнижи ID ће се користити. Тако имате макрое са истим именом у више шаблона представља ризик конфигурације.
Ако Zabbix не може да пронађе макро, макро неће бити решен.
Макрои (укључујући корисничке) остају нерешени у одељку Конфигурација (на пример, у листи окидача) од стране дизајн да сложену конфигурацију учини транспарентнијом.
Кориснички макрои се могу користити у:
Препоручљиво је користити домаћине макрое уместо глобалних макроа јер додавање, ажурирање или брисање глобалних макроа доводи до инкременталног ажурирања конфигурације за све домаћине. За више информација погледајте Провере пасивних и активних агената.
Да бисте дефинисали корисничке макрое, идите на одговарајућу локацију у корисничком интерфејсу:
Кориснички макро има следеће атрибуте:
Parameter | Description |
---|---|
* Macro* | Назив макроа. Назив мора бити у витичастим заградама и почети знаком долара. Пример: {$FRONTEND_URL}. Следећи знакови су дозвољени у називима макроа: A-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
;Користите макро прототип домаћина да бисте конфигурисали ставке за откривене домаћине:
Погледајте кориснички макрои са контекст.