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