This is a translation of the original English documentation page. Help us make it better.

5 Макрои за откривање ниског нивоа

Преглед

Постоји тип макроа који се користи у функцији low-level discovery (LLD):

{#MACRO}

То је макро који се користи у LLD правилу и враћа стварне вредности имена фајл система, мрежног интерфејса, SNMP OID-а итд.

Ови макрои се могу користити за креирање прототипова ставки, окидача и графикона. Затим, приликом откривања стварних фајл система, мрежних интерфејса итд., ови макрои се замењују стварним вредностима и представљају основу за креирање стварних ставки, окидача и графикона.

Ови макрои се такође користе у креирању прототипова домаћин и групе домаћина у виртуелној машини discovery.

Неки макрои за откривање ниског нивоа долазе "унапред упаковани" са LLD функцијом у Zabbix-у - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#SNMPVALUE}. Међутим, придржавање ових имена није обавезно приликом креирања прилагођеног правила за откривање ниског нивоа. Тада можете користити било које друго име LLD макроа и позвати се на то име.

Подржани типови података

Приликом дефинисања прилагођених правила откривања, вредности својстава враћене у JSON објектима за LLD макрое морају бити једног од следећих примитивних типова:

  • string;
  • number;
  • boolean.

Низови, објекти и null вредности нису подржани. Било који LLD макро који се односи на такву вредност остаће непроширен и појавиће се дословно (нпр. '{#MY_MACRO}') током претходне обраде и креирања ставке.

Supported locations

LLD macros can be used:

  • in the low-level discovery rule filter
  • for item prototypes in
    • name
    • key parameters
    • unit
    • update interval1
    • timeout1
    • history storage period1
    • trend storage period1
    • item value preprocessing steps
    • SNMP OID
    • IPMI sensor field
    • calculated item formula
    • SSH script and Telnet script
    • database monitoring SQL query
    • JMX item endpoint field
    • description
    • HTTP agent URL field
    • HTTP agent HTTP query fields field
    • HTTP agent request body field
    • HTTP agent required status codes field
    • HTTP agent headers field key and value
    • HTTP agent HTTP authentication username field
    • HTTP agent HTTP authentication password field
    • HTTP agent HTTP proxy field
    • HTTP agent HTTP SSL certificate file field
    • HTTP agent HTTP SSL key file field
    • HTTP agent HTTP SSL key password field
    • tags
  • for trigger prototypes in
    • name
    • operational data
    • expression (only in constants and function parameters)
    • URL
    • description
    • tags
  • for graph prototypes in
    • name
  • for host prototypes in
    • name
    • visible name
    • custom interface fields: IP, DNS, port, SNMP v1/v2 community, SNMP v3 context name, SNMP v3 security name, SNMP v3 authentication passphrase, SNMP v3 privacy passphrase
    • host group prototype name
    • host tag value
    • host macro value
    • (see the full list)

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 један макро мора да попуни цело поље. Више макроа у пољу или макрои помешани са текстом нису подржани.