Постоји тип макроа који се користи у функцији low-level discovery (LLD):
{#MACRO}
То је макро који се користи у LLD правилу и враћа стварне вредности имена фајл система, мрежног интерфејса, SNMP OID-а итд.
Ови макрои се могу користити за креирање прототипова ставки, окидача и графикона. Затим, приликом откривања стварних фајл система, мрежних интерфејса итд., ови макрои се замењују стварним вредностима и представљају основу за креирање стварних ставки, окидача и графикона.
Ови макрои се такође користе у креирању прототипова домаћин и групе домаћина у виртуелној машини discovery.
Неки макрои за откривање ниског нивоа долазе "унапред упаковани" са LLD функцијом у Zabbix-у - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#SNMPVALUE}. Међутим, придржавање ових имена није обавезно приликом креирања прилагођеног правила за откривање ниског нивоа. Тада можете користити било које друго име LLD макроа и позвати се на то име.
Приликом дефинисања прилагођених правила откривања, вредности својстава враћене у JSON објектима за LLD макрое морају бити једног од следећих примитивних типова:
Низови, објекти и null вредности нису подржани. Било који LLD макро који се односи на такву вредност остаће непроширен и појавиће се дословно (нпр. '{#MY_MACRO}'
) током претходне обраде и креирања ставке.
LLD macros can be used:
In all those places, except the low-level discovery rule filter, LLD macros can be used inside static user macro context.
Макро функције су подржане макроима за откривање ниског нивоа (осим у правилу за откривање ниског нивоа filter), што омогућава издвајање одређеног дела вредности макроа помоћу регуларног израза.
На пример, можда ћете желети да извучете име клијента и број интерфејса из следећег LLD макроа у сврху означавања догађаја:
{#IFALIAS}=customername_1
Да бисте то урадили, макро функција regsub
може се користити са макроом у пољу вредности ознаке догађаја прототипа окидача:
Имајте на уму да зарези нису дозвољени у ненаведеним параметрима ставке key parameters, тако да параметар који садржи макро функцију мора бити стављен под наводнике. Обрнута коса црта (\
) треба да се користи за избегавање двоструких наводника унутар параметра. Пример:
net.if.in["{{#IFALIAS}.regsub("(.*)_([0-9]+)", \1)}",bytes]
За више информација о синтакси макро функција, погледајте: Macro functions
Макро функције су подржане у макроима за откривање ниског нивоа од Zabbix-а 4.0.
1 У пољима означеним са 1 један макро мора да попуни цело поље. Више макроа у пољу или макрои помешани са текстом нису подржани.