5 Zema līmeņa atklāšanas makrosi

Pārskats

Pastāv makro tips, kas tiek izmantots zemlīmeņa atklāšanas (LLD) funkcijā:

{#MACRO} 

Tas ir makro, ko izmanto LLD noteikumā, un tas atgriež reālas failu sistēmas nosaukuma, tīkla interfeisa, SNMP OID u.c. vērtības.

Šos makro var izmantot, lai izveidotu entītiju prototipus (vienums, trigeris, grafiks, hosts un hostu grupas prototipi). Reālu failu sistēmu, tīkla interfeisu, virtuālo mašīnu u.c. atklāšanas laikā šie makro tiek aizstāti ar reālām vērtībām un kalpo par pamatu reālu entītiju izveidei.

Daži zemlīmeņa atklāšanas makro Zabbix sistēmā ir iekļauti "gatavā komplektā" kopā ar LLD funkciju - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#SNMPVALUE}. Tomēr, veidojot pielāgotu zemlīmeņa atklāšanas noteikumu, šo nosaukumu ievērošana nav obligāta. Tad varat izmantot jebkuru citu LLD makro nosaukumu un atsaukties uz to.

Atbalstītie datu tipi

Definējot pielāgotus atklāšanas noteikumus, JSON objektos atgrieztajām īpašību vērtībām LLD makro jābūt vienam no šiem primitīvajiem tipiem:

  • string
  • number
  • boolean

Masīvi, objekti un null vērtības netiek atbalstītas. Jebkurš LLD makro, kas atsaucas uz šādu vērtību, paliks neaizvietots un tiks attēlots burtiski (piemēram, '{#MY_MACRO}') vienuma priekšapstrādes un izveides laikā.

Atbalstītās vietas

LLD makro var izmantot:

  • zema līmeņa atklāšanas noteikuma filtrā
  • vienumu prototipiem:
    • nosaukumā
    • atslēgas parametros
    • vienībā
    • atjaunināšanas intervālā1
    • noildzē1
    • vēstures glabāšanas periodā1
    • tendenču glabāšanas periodā1
    • vienuma vērtības pirmapstrādes soļos
    • SNMP OID
    • IPMI sensora laukā
    • aprēķināta/apkopota vienuma izteiksmē:
      • izteiksmes konstantēs un funkciju parametros
      • vienuma atslēgas parametros
    • apkopota vienuma filtra nosacījumos (hosts grupas nosaukums un taga nosaukums)
    • SSH skriptā un Telnet skriptā
    • datubāzes uzraudzības SQL vaicājumā
    • JMX vienuma galapunkta laukā
    • aprakstā
    • HTTP aģenta URL laukā
    • HTTP aģenta HTTP vaicājumu lauku laukā
    • HTTP aģenta pieprasījuma pamatteksta laukā
    • HTTP aģenta nepieciešamo statusa kodu laukā
    • HTTP aģenta galveņu lauka atslēgā un vērtībā
    • HTTP aģenta HTTP autentifikācijas lietotājvārda laukā
    • HTTP aģenta HTTP autentifikācijas paroles laukā
    • HTTP aģenta HTTP starpniekservera laukā
    • HTTP aģenta HTTP SSL sertifikāta faila laukā
    • HTTP aģenta HTTP SSL atslēgas faila laukā
    • HTTP aģenta HTTP SSL atslēgas paroles laukā
    • tagos
  • trigeru prototipiem:
    • nosaukumā
    • operatīvajos datos
    • izteiksmē (tikai konstantēs un funkciju parametros)
    • URL
    • aprakstā
    • tagos
  • grafiku prototipiem:
    • nosaukumā
  • hosts prototipiem:
    • nosaukumā
    • redzamajā nosaukumā
    • pielāgotajos interfeisa laukos: IP, DNS, ports, SNMP v1/v2 kopiena, SNMP v3 konteksta nosaukums, SNMP v3 drošības nosaukums, SNMP v3 autentifikācijas frāze, SNMP v3 privātuma frāze
    • hosts grupas prototipa nosaukumā
    • hosts taga vērtībā
    • hosts makro vērtībā
    • (skatiet pilnu sarakstu)

Visās šajās vietās, izņemot zema līmeņa atklāšanas noteikuma filtru, LLD makro var izmantot statiskā lietotāja makro kontekstā.

Makrofunkciju izmantošana

Makrofunkcijas tiek atbalstītas zema līmeņa atklāšanas makrosos (izņemot zema līmeņa atklāšanas kārtulas filtrā), ļaujot izgūt noteiktu makrosa vērtības daļu, izmantojot regulāro izteiksmi.

Piemēram, iespējams, vēlēsieties izgūt klienta nosaukumu un saskarnes numuru no šāda ZLA makrosa notikumu marķēšanas vajadzībām:

{#IFALIAS}=customername_1

Lai to izdarītu, trigera prototipa notikuma taga vērtības laukā kopā ar makrosu var izmantot makrofunkciju regsub:

Ņemiet vērā, ka neievietotos vienuma atslēgas parametros komati nav atļauti, tāpēc parametrs, kas satur makrofunkciju, ir jāliek pēdiņās. Lai parametrā atsoļotu dubultpēdiņas, jāizmanto atpakaļslīpsvītras (\) rakstzīme. Piemērs:

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

Plašāku informāciju par makrofunkciju sintaksi skatiet: Makrofunkcijas

Makrofunkcijas zema līmeņa atklāšanas makrosos tiek atbalstītas kopš Zabbix 4.0.

Vienumiem ar prototipiem bez atslēgas parametriem

Ja vienuma atslēgas parametri netiek izmantoti, ievietojiet LLD makro parametra item key iekavās [...], lai tas tiktu apstrādāts kā parametrs un aizstāts atklāšanas laikā:

v_[{#MACRO}]
Piezīmes

1 Laukos, kas atzīmēti ar 1, vienai makrokomandai ir jāaizpilda viss lauks. Vairākas makrokomandas vienā laukā vai makrokomandas kopā ar tekstu netiek atbalstītas.