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}') током претходне обраде и креирања ставке.

Подржане локације

LLD макрои се могу користити:

  • у филтеру правила откривања ниског нивоа
  • за прототипове ставки у
  • називу
  • кључним параметрима
  • јединици
  • интервалу ажурирања1
  • временском ограничењу1
  • периоду чувања историје1
  • периоду чувања тренда1
  • корацима претходне обраде вредности ставке
  • SNMP OID
  • пољу IPMI сензора
  • израчунатом/агрегираном изразу ставке, у:
  • константама израза и параметрима функције
  • кључним параметрима ставке
  • агрегираним условима филтера ставке (назив групе хостова и назив ознаке)
  • SSH скрипти и Telnet скрипти
  • SQL упиту за праћење базе података
  • пољу крајње тачке JMX ставке
  • опису
  • пољу URL-а HTTP агента
  • пољу поља HTTP упита HTTP агента
  • пољу тела захтева HTTP агента
  • пољу потребних статусних кодова HTTP агента
  • кључу и пољу заглавља HTTP агента вредност
  • Поље за корисничко име HTTP агента за аутентификацију
  • Поље за лозинку HTTP агента за аутентификацију
  • Поље за прокси HTTP агента
  • Поље за датотеку HTTP SSL сертификата HTTP агента
  • Поље за датотеку HTTP SSL кључа HTTP агента
  • Поље за лозинку HTTP SSL кључа HTTP агента
  • Ознаке
  • за прототипове окидача у
  • назив
  • оперативни подаци
  • израз (само у константама и параметрима функције)
  • URL
  • опис
  • oзнаке
  • за прототипове графа у
  • назив
  • за прототипове домаћина у
  • назив
  • видљиво име
  • прилагођена поља интерфејса: IP, DNS, порт, SNMP v1/v2 заједница, SNMP v3 име контекста, SNMP v3 име безбедности, SNMP v3 лозинка за аутентификацију, SNMP v3 лозинка за приватност
  • назив прототипа групе домаћина
  • вредност ознаке домаћина
  • вредност макроа домаћина
  • (погледајте комплетну листу)

На свим тим местима, осим филтера правила откривања ниског нивоа, LLD макрои се могу користити унутар статичког корисника макро контекст.

Коришћење макро функција

Макро функције су подржане макроима за откривање ниског нивоа (осим у правилу за откривање ниског нивоа filter), што омогућава издвајање одређеног дела вредности макроа помоћу регуларног израза.

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

{#IFALIAS}=customername_1

Да бисте то урадили, макро функција regsub може се користити са макроом у пољу вредности ознаке догађаја прототипа окидача:

Имајте на уму да зарези нису дозвољени у ненаведеним параметрима ставке key parameters, тако да параметар који садржи макро функцију мора бити стављен под наводнике. Обрнута коса црта (\) треба да се користи за избегавање двоструких наводника унутар параметра. Пример:

net.if.in["{{#IFALIAS}.regsub("(.*)_([0-9]+)", \1)}",bytes]

За више информација о синтакси макро функција, погледајте: Macro functions

Макро функције су подржане у макроима за откривање ниског нивоа од Zabbix-а 4.0.

Фусноте

1 У пољима означеним са 1 један макро мора да попуни цело поље. Више макроа у пољу или макрои помешани са текстом нису подржани.