[comment]: # ({c176fd71-2d9d6e33})
# 5 Zema līmeņa atklāšanas makrosi

[comment]: # ({/c176fd71-2d9d6e33})

[comment]: # ({26d00724-bb12a85a})
#### Pārskats

Pastāv makro veids, kas tiek izmantots [zemā līmeņa atklāšanas](/manual/discovery/low_level_discovery) (LLD) funkcijā:

```default
{#MACRO} 
```

Tas ir makro, kas tiek izmantots LLD kārtulā un atgriež reālās failu sistēmas nosaukuma, tīkla saskarnes, SNMP OID u.c. vērtības.

Šos makro var izmantot, lai izveidotu entītiju prototipus (vienuma, trigera, grafika, LLD kārtulas, hosta un hostu grupas prototipus).
Atklājot reālas [failu sistēmas](/manual/discovery/low_level_discovery/examples/mounted_filesystems), [tīkla saskarnes](/manual/discovery/low_level_discovery/examples/network_interfaces), [virtuālās mašīnas](/manual/vm_monitoring) u.c., šie makro tiek aizstāti ar reālām vērtībām un kalpo par pamatu reālu entītiju izveidei.

Daži zemā līmeņa atklāšanas makro tiek piegādāti kopā ar LLD funkciju Zabbix sistēmā — {\#FSNAME}, {\#FSTYPE}, {\#IFNAME}, {\#SNMPINDEX}, {\#SNMPVALUE}.
Tomēr, veidojot [pielāgotu](/manual/discovery/low_level_discovery/custom_rules) zemā līmeņa atklāšanas kārtulu, šo nosaukumu ievērošana nav obligāta.
Tādā gadījumā varat izmantot jebkuru citu LLD makro nosaukumu un atsaukties uz šo nosaukumu.

[comment]: # ({/26d00724-bb12a85a})

[comment]: # ({fe3a506a-ab24d69c})
#### 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ā.

[comment]: # ({/fe3a506a-ab24d69c})

[comment]: # ({1afdb2cd-fc325ce1})
#### Atbalstītās vietas

LLD makro var izmantot:

-   zemā līmeņa atklāšanas noteikuma filtrā
-   vienumu prototipiem un atklāšanas prototipiem:
    -   nosaukumā
    -   atslēgas parametros
    -   vienībā
    -   atjaunināšanas intervālā^[1](lld_macros#footnotes)^
    -   noildzē^[1](lld_macros#footnotes)^
    -   vēstures glabāšanas periodā^[1](lld_macros#footnotes)^
    -   tendenču glabāšanas periodā^[1](lld_macros#footnotes)^
    -   vienuma vērtības pirmapstrādes soļos
    -   SNMP OID
    -   IPMI sensora laukā
    -   aprēķinātā/apkopotā vienuma izteiksmē:
        -   izteiksmes konstantēs un funkciju parametros
        -   vienuma atslēgas parametros
    -   apkopotā vienuma filtra nosacījumos (host 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ājuma lauku laukā
    -   HTTP aģenta pieprasījuma pamatteksta laukā
    -   HTTP aģenta nepieciešamo statusa kodu laukā
    -   HTTP aģenta galvenes 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ā
-   hostu prototipiem:
    -   nosaukumā
    -   redzamajā nosaukumā
    -   pielāgotajos saskarnes laukos: IP, DNS, ports, SNMP v1/v2 kopiena, SNMP v3 konteksta nosaukums, SNMP v3 drošības nosaukums, SNMP v3 autentifikācijas parole, SNMP v3 privātuma parole
    -   hostu grupas prototipa nosaukumā
    -   host taga vērtībā
    -   host makro vērtībā
    -   (skatiet [pilnu sarakstu](/manual/vm_monitoring/discovery_fields))

Visās šajās vietās, izņemot zemā līmeņa atklāšanas noteikuma filtru, LLD makro var izmantot statiskā lietotāja [makro kontekstā](/manual/config/macros/user_macros_context).

[comment]: # ({/1afdb2cd-fc325ce1})

[comment]: # ({eb8eceaa-5b26ab61})
#### 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ā](/manual/discovery/low_level_discovery#filter)), ļ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:

```default
{#IFALIAS}=customername_1
```

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

![](../../../../assets/en/manual/config/macros/lld_macro_function.png)

Ņemiet vērā, ka neievietotos vienuma [atslēgas parametros](/manual/config/items/item/key#key-parameters) 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:

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

Plašāku informāciju par makrofunkciju sintaksi skatiet: [Makrofunkcijas](/manual/config/macros/macro_functions)

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

[comment]: # ({/eb8eceaa-5b26ab61})

[comment]: # ({e463c54b-25a5f07d})
##### Vienumiem ar prototipiem bez atslēgas parametriem

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

```default
v_[{#MACRO}]
```

[comment]: # ({/e463c54b-25a5f07d})

[comment]: # ({47156e66-573cd0dc})
##### Piezīmes

^**1**^ Laukos, kas atzīmēti ar ^[1](lld_macros#footnotes)^, vienai makrokomandai ir jāaizpilda viss lauks.
Vairākas makrokomandas vienā laukā vai makrokomandas kopā ar tekstu netiek atbalstītas.

[comment]: # ({/47156e66-573cd0dc})
