[comment]: # ({a14b62f1-a14b62f1})
# 3 Zema līmeņa atklāšana

[comment]: # ({/a14b62f1-a14b62f1})

[comment]: # ({d9e6fe1c-4fc0f22c})
### Pārskats

Zema līmeņa atklāšana (LLD) nodrošina iespēju automātiski izveidot vienumus, trigerus un grafikus dažādām entītijām hostā.
Piemēram, Zabbix var automātiski sākt uzraudzīt failu sistēmas vai tīkla saskarnes jūsu datorā, bez nepieciešamības manuāli izveidot vienumus katrai failu sistēmai vai tīkla saskarnei.
LLD var arī izveidot hostus, piemēram, lai [aizpildītu virtuālās mašīnas](/manual/vm_monitoring), kas atklātas hipervizorā, kā arī [ligzdotās atklāšanas kārtulas](/manual/discovery/low_level_discovery/discovery_prototypes), nodrošinot daudzlīmeņu atklāšanu.
Papildus tam ir iespējams konfigurēt Zabbix tā, lai tas automātiski noņemtu nevajadzīgās entītijas, pamatojoties uz periodiski veiktās atklāšanas faktiskajiem rezultātiem.

Lietotājs var definēt savus atklāšanas tipus, ja vien tie ievēro noteiktu JSON protokolu.

Atklāšanas procesa vispārējā arhitektūra ir šāda.

Vispirms lietotājs izveido atklāšanas kārtulu sadaļā *Datu ievākšana > Veidnes*, kolonnā *Atklāšana*.
Atklāšanas kārtula sastāv no (1) vienuma, kas atklāj nepieciešamās entītijas (piemēram, failu sistēmas vai tīkla saskarnes), un (2) vienumu, trigeru un grafiku prototipiem, kas jāizveido, pamatojoties uz šī vienuma vērtību.

Vienums, kas atklāj nepieciešamās entītijas, ir līdzīgs parastam vienumam, kas redzams citur: serveris pieprasa Zabbix aģentam (vai jebkuram citam tipam, kas iestatīts šim vienumam) šī vienuma vērtību, un aģents atbild ar teksta vērtību.
Atšķirība ir tāda, ka vērtībai, ko atgriež aģents, jāietver atklāto entītiju saraksts JSON formātā.
Lai gan šī formāta detaļas ir svarīgas tikai pielāgotu atklāšanas pārbaužu ieviesējiem, ir svarīgi zināt, ka atgrieztā vērtība satur makro → vērtība pāru sarakstu.
Piemēram, vienums "net.if.discovery" var atgriezt divus pārus: "{\#IFNAME}" → "lo" un "{\#IFNAME}" → "eth0".

Šie makro tiek izmantoti nosaukumos, atslēgās un citos prototipu laukos, kur tie pēc tam tiek aizstāti ar saņemtajām vērtībām, lai katrai atklātajai entītijai izveidotu reālus vienumus, trigerus, grafikus vai pat hostus.
Skatiet pilnu [opciju](/manual/config/macros/lld_macros) sarakstu LLD makro izmantošanai.

Kad serveris saņem atklāšanas vienuma vērtību, tas aplūko makro → vērtība pārus un katram pārim ģenerē reālus vienumus, trigerus un grafikus, pamatojoties uz to prototipiem.
Iepriekš minētajā piemērā ar "net.if.discovery" serveris ģenerētu vienu vienumu, trigeru un grafiku kopu cilpas saskarnei "lo" un citu kopu saskarnei "eth0".

Ņemiet vērā, ka kopš **Zabbix 4.2** ir mainīts JSON formāts, ko atgriež zema līmeņa atklāšanas kārtulas.
Vairs netiek sagaidīts, ka JSON saturēs objektu "data".
Zema līmeņa atklāšana tagad pieņem parastu JSON, kas satur masīvu, lai atbalstītu jaunas iespējas, piemēram, vienuma vērtības priekšapstrādi un pielāgotus ceļus uz zema līmeņa atklāšanas makro vērtībām JSON dokumentā.

Iebūvētās atklāšanas atslēgas ir atjauninātas tā, lai tās atgrieztu LLD rindu masīvu JSON dokumenta saknē.
Zabbix automātiski izgūs makro un vērtību, ja masīva lauks kā atslēgu izmanto sintaksi {\#MACRO}.
Jebkuras jaunas iebūvētās atklāšanas pārbaudes izmantos jauno sintaksi bez "data" elementiem.
Apstrādājot zema līmeņa atklāšanas vērtību, vispirms tiek noteikta sakne (masīvs pie `$.` vai `$.data`).

Lai gan elements "data" ir noņemts no visiem ar atklāšanu saistītajiem iebūvētajiem vienumiem, atpakaļsaderības nolūkos Zabbix joprojām pieņems JSON pierakstu ar elementu "data", lai gan tā izmantošana nav ieteicama.
Ja JSON satur objektu tikai ar vienu masīva elementu "data", tad tas automātiski izgūs šī elementa saturu, izmantojot JSONPath `$.data`.
Zema līmeņa atklāšana tagad pieņem arī neobligātus lietotāja definētus LLD makro ar pielāgotu ceļu, kas norādīts JSONPath sintaksē.

::: notewarning
Iepriekš minēto izmaiņu rezultātā jaunāki aģenti vairs nevarēs darboties ar vecāku Zabbix serveri.
:::

Skatiet arī: [Atklātās entītijas](#discovered-entities)

[comment]: # ({/d9e6fe1c-4fc0f22c})

[comment]: # ({4fe6a092-61b5f21c})
### Zema līmeņa atklāšanas konfigurēšana

Mēs ilustrēsim zema līmeņa atklāšanu, izmantojot failu sistēmas atklāšanas piemēru.

Lai konfigurētu atklāšanu, rīkojieties šādi:

-   Dodieties uz: *Datu ievākšana* > *Veidnes* vai *Hosts*.
-   Noklikšķiniet uz *Atklāšana* atbilstošās veidnes/hosta rindā.

![](../../../assets/en/manual/discovery/low_level_discovery/fs_templates.png){width="600"}

-   Ekrāna augšējā labajā stūrī noklikšķiniet uz *Izveidot atklāšanas kārtulu*.
-   Aizpildiet atklāšanas kārtulas veidlapu ar nepieciešamo informāciju.

[comment]: # ({/4fe6a092-61b5f21c})

[comment]: # ({6bb5f59f-ae1c521e})
#### Atklāšanas kārtula

Atklāšanas kārtulas forma satur piecas cilnes, kas no kreisās uz labo pusi attēlo datu plūsmu atklāšanas laikā:

-   *Atklāšanas kārtula* — norāda, pats galvenais, iebūvēto vienumu vai pielāgotu skriptu atklāšanas datu iegūšanai.
-   *Priekšapstrāde* — piemēro noteiktu priekšapstrādi atklātajiem datiem.
-   *LLD makrosi* — ļauj izvilkt makrosu vērtības izmantošanai atklātajos vienumos, trigeros utt.
-   *Filtri* — ļauj filtrēt atklātās vērtības.
-   *Pārrakstīšanas* — ļauj modificēt vienumus, trigerus, grafikus vai hostu prototipus, piemērojot tos konkrētiem atklātajiem objektiem.

Cilne **Atklāšanas kārtula** satur atklāšanai izmantojamo vienuma atslēgu (kā arī dažus vispārīgus atklāšanas kārtulas atribūtus):

![](../../../assets/en/manual/discovery/low_level_discovery/lld_rule_fs.png){width="600"}

Visi obligātie ievades lauki ir atzīmēti ar sarkanu zvaigznīti.

|Parametrs|Apraksts|
|--|--------|
|*Name*|Atklāšanas kārtulas nosaukums.|
|*Type*|Pārbaudes tips, ko izmantot atklāšanai.<br>Šajā piemērā mēs izmantojam *Zabbix aģents* vienuma tipu.<br>Atklāšanas kārtula var būt arī [atkarīgais vienums](/manual/config/items/itemtypes/dependent_items), kas ir atkarīgs no parasta vienuma. Tā nevar būt atkarīga no citas atklāšanas kārtulas. Atkarīgajam vienumam atlasiet attiecīgo tipu (*Dependent item*) un laukā 'Master item' norādiet galveno vienumu. Galvenajam vienumam ir jāeksistē.|
|*Key*|Ievadiet atklāšanas vienuma atslēgu (līdz 2048 rakstzīmēm).<br>Piemēram, varat izmantot iebūvēto vienuma atslēgu "vfs.fs.discovery", lai atgrieztu JSON virkni ar datorā esošo failu sistēmu sarakstu, to tipiem un montēšanas opcijām.<br>Ņemiet vērā, ka cita failu sistēmu atklāšanas iespēja ir izmantot atklāšanas rezultātus no aģenta atslēgas "vfs.fs.get" (skatiet [piemēru](/manual/discovery/low_level_discovery/examples/mounted_filesystems)).|
|*Update interval*|Šis lauks nosaka, cik bieži Zabbix veic atklāšanu. Sākumā, kad tikai iestatāt failu sistēmu atklāšanu, iespējams, vēlēsieties iestatīt nelielu intervālu, taču, kad būsiet pārliecinājies, ka tas darbojas, varat to iestatīt uz 30 minūtēm vai vairāk, jo failu sistēmas parasti nemainās ļoti bieži.<br>Tiek atbalstīti [laika sufiksi](/manual/appendix/suffixes), piemēram, 30s, 1m, 2h, 1d.<br>Tiek atbalstīti [lietotāja makrosi](/manual/config/macros/user_macros).<br>*Piezīme*: atjaunināšanas intervālu var iestatīt uz '0' tikai tad, ja pastāv pielāgoti intervāli ar vērtību, kas nav nulle. Ja tas ir iestatīts uz '0' un pastāv pielāgots intervāls (elastīgs vai plānots) ar vērtību, kas nav nulle, vienums tiks aptaujāts pielāgotā intervāla darbības laikā.<br>Jaunas atklāšanas kārtulas tiks pārbaudītas 60 sekunžu laikā pēc to izveides, ja vien tām nav iestatīts Scheduling vai Flexible update interval un *Update interval* nav iestatīts uz 0.<br>*Ņemiet vērā*, ka esošai atklāšanas kārtulai atklāšanu var veikt nekavējoties, nospiežot [pogu](#form-buttons) *Execute now*.|
|*Custom intervals*|Varat izveidot pielāgotas kārtulas vienuma pārbaudei:<br>**Flexible** — izveidot izņēmumu *Update interval* vērtībai (intervāls ar citu biežumu)<br>**Scheduling** — izveidot pielāgotu aptaujas grafiku.<br>Detalizētu informāciju skatiet sadaļā [Pielāgotie intervāli](/manual/config/items/item/custom_intervals).|
|*Timeout*|Iestatiet atklāšanas pārbaudes noildzi. Atlasiet noildzes opciju:<br>**Global** — tiek izmantota starpniekservera/globālā noildze (parādīta pelēkajā laukā *Timeout*);<br>**Override** — tiek izmantota pielāgota noildze (iestatīta laukā *Timeout*; atļautais diapazons: 1 - 600s). Tiek atbalstīti [laika sufiksi](/manual/appendix/suffixes#time-suffixes), piemēram, 30s, 1m, un [lietotāja makrosi](/manual/config/macros/user_macros).<br>Noklikšķinot uz saites *Timeouts*, varat konfigurēt [starpniekservera](/manual/distributed_monitoring/proxies#configuration) noildzes vai [globālās](/manual/web_interface/frontend_sections/administration/general#timeouts) noildzes (ja starpniekserveris netiek izmantots). Ņemiet vērā, ka saite *Timeouts* ir redzama tikai *Super admin* tipa lietotājiem ar atļaujām uz lietotāja saskarne sadaļām *Administration* > [*General*](/manual/web_interface/frontend_sections/administration/general) vai *Administration* > [*Proxies*](/manual/web_interface/frontend_sections/administration/proxies).|
|*Delete lost resources*|Norādiet, cik drīz atklātā entītija tiks dzēsta, tiklīdz tās atklāšanas statuss kļūs par "Not discovered anymore":<br>*Never* — tā netiks dzēsta;<br>*Immediately* — tā tiks dzēsta nekavējoties;<br>*After* — tā tiks dzēsta pēc norādītā laika perioda. Vērtībai jābūt lielākai par *Disable lost resources* vērtību.<br>Tiek atbalstīti [laika sufiksi](/manual/appendix/suffixes), piemēram, 2h, 1d.<br>Tiek atbalstīti [lietotāja makrosi](/manual/config/macros/user_macros).<br>*Piezīme*: nav ieteicams izmantot "Immediately", jo pat nepareiza filtra rediģēšana var novest pie tā, ka entītija tiek dzēsta kopā ar visiem vēsturiskajiem datiem.<br>Ņemiet vērā, ka manuāli atspējoti resursi netiks dzēsti ar zema līmeņa atklāšanu.|
|*Disable lost resources*|Norādiet, cik drīz atklātā entītija tiks atspējota, tiklīdz tās atklāšanas statuss kļūs par "Not discovered anymore":<br>*Never* — tā netiks atspējota;<br>*Immediately* — tā tiks atspējota nekavējoties;<br>*After* — tā tiks atspējota pēc norādītā laika perioda. Vērtībai jābūt lielākai par atklāšanas kārtulas atjaunināšanas intervālu.<br>Ņemiet vērā, ka automātiski atspējoti resursi tiks atkal iespējoti, ja zema līmeņa atklāšana tos atklās no jauna. Manuāli atspējoti resursi netiks atkal iespējoti, ja tie tiks atklāti no jauna.<br>Šis lauks netiek parādīts, ja *Delete lost resources* ir iestatīts uz "Immediately".<br>Tiek atbalstīti [laika sufiksi](/manual/appendix/suffixes), piemēram, 2h, 1d.<br>Tiek atbalstīti [lietotāja makrosi](/manual/config/macros/user_macros).|
|*Description*|Ievadiet aprakstu.|
|*Enabled*|Ja atzīmēts, kārtula tiks apstrādāta.|

::: noteclassic
Atklāšanas kārtulas vēsture netiek saglabāta.
:::

[comment]: # ({/6bb5f59f-ae1c521e})

[comment]: # ({2e8e1698-0e438e85})
#### Priekšapstrāde

Cilne **Priekšapstrāde** ļauj definēt transformācijas noteikumus, kas jāpiemēro atklāšanas rezultātam.
Šajā solī ir iespējama viena vai vairākas transformācijas.
Transformācijas tiek izpildītas tādā secībā, kādā tās ir definētas.
Visa priekšapstrāde tiek veikta ar Zabbix serveris.

Skatiet arī:

-   [Priekšapstrādes informācija](/manual/config/items/preprocessing/preprocessing_details)
-   [Priekšapstrādes testēšana](/manual/config/items/preprocessing#testing)

![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_b.png)


|Type|<|<|
|-|----------|----------------------------------------|
| |*Transformation*|Apraksts|
|Text|<|<|
|<|*Regular expression*|Salīdzina saņemto vērtību ar <pattern> regulāro izteiksmi un aizstāj vērtību ar izvilkto <output>. Regulārā izteiksme atbalsta līdz 10 uztverto grupu izvilkšanu, izmantojot \\N secību.<br>Parametri:<br>**pattern** - regulārā izteiksme<br>**output** - izvades formatēšanas veidne. \\N (kur N=1…9) aizbēgšanas secība tiek aizstāta ar N-to atbilstošo grupu. \\0 aizbēgšanas secība tiek aizstāta ar atbilstošo tekstu.<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
|^|*Replace*|Atrod meklēšanas virkni un aizstāj to ar citu (vai neko). Tiks aizstātas visas meklēšanas virknes parādīšanās reizes.<br>Parametri:<br>**search string** - virkne, kas jāatrod un jāaizstāj, reģistrjutīga (obligāts)<br>**replacement** - virkne, ar kuru aizstāt meklēšanas virkni. Aizstāšanas virkne var būt arī tukša, faktiski ļaujot dzēst meklēšanas virkni, kad tā tiek atrasta.<br>Iespējams izmantot aizbēgšanas secības, lai meklētu vai aizstātu rindu pārtraukumus, karietes atgriešanu, tabulācijas un atstarpes "\\n \\r \\t \\s"; slīpsvītru var aizbēgt kā "\\\\" un aizbēgšanas secības var aizbēgt kā "\\\\n". Rindu pārtraukumu, karietes atgriešanas un tabulācijas aizbēgšana tiek veikta automātiski zema līmeņa atklāšanas laikā.|
|Structured data|<|<|
|<|*JSONPath*|Izvelk vērtību vai fragmentu no JSON datiem, izmantojot [JSONPath funkcionalitāti](/manual/config/items/preprocessing/jsonpath_functionality).<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
|<|*XML XPath*|Izvelk vērtību vai fragmentu no XML datiem, izmantojot XPath funkcionalitāti.<br>Lai šī opcija darbotos, Zabbix serveris jābūt kompilētam ar libxml atbalstu.<br>Piemēri:<br>`number(/document/item/value)` izvilks `10` no `<document><item><value>10</value></item></document>`<br>`number(/document/item/@attribute)` izvilks `10` no `<document><item attribute="10"></item></document>`<br>`/document/item` izvilks `<item><value>10</value></item>` no `<document><item><value>10</value></item></document>`<br>Ņemiet vērā, ka nosaukumtelpas netiek atbalstītas.<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
|<|*CSV to JSON*|Pārvērš CSV faila datus JSON formātā.<br>Lai iegūtu vairāk informācijas, skatiet: [CSV to JSON priekšapstrāde](/manual/config/items/preprocessing/csv_to_json#csv-header-processing).|
|^|*XML to JSON*|Pārvērš XML formāta datus JSON.<br>Lai iegūtu vairāk informācijas, skatiet: [Serializācijas noteikumi](/manual/config/items/preprocessing/javascript/javascript_objects#serialization-rules).<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
|SNMP|<|<|
| |*SNMP walk value*|Izvelk vērtību pēc norādītā OID/MIB nosaukuma un piemēro formatēšanas opcijas:<br>**Unchanged** - atgriež Hex-STRING kā neekranētu heksadecimālu virkni (*piezīme*: joprojām tiek piemēroti attēlošanas norādījumi);<br>**UTF-8 from Hex-STRING** - pārvērš Hex-STRING UTF-8 virknē;<br>**MAC from Hex-STRING** - pārvērš Hex-STRING MAC adreses virknē (kur `' '` tiks aizstāta ar `':'`);<br>**Integer from BITS** - pārvērš bitu virknes pirmos 8 baitus, kas izteikti kā heksadecimālu rakstzīmju secība (piem., "1A 2B 3C 4D"), 64 bitu bezzīmju veselā skaitlī. Bitu virknēs, kas garākas par 8 baitiem, turpmākie baiti tiks ignorēti.<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
| |*SNMP walk to JSON*|Pārvērš SNMP vērtības JSON. Norādiet lauka nosaukumu JSON un atbilstošo SNMP OID ceļu. Lauka vērtības tiks aizpildītas ar vērtībām norādītajā SNMP OID ceļā.<br>Šo priekšapstrādes soli var izmantot [SNMP OID atklāšanai](/manual/discovery/low_level_discovery/examples/snmp_oids_walk).<br>Pieejamas līdzīgas vērtību formatēšanas opcijas kā solī *SNMP walk value*.<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
| |*SNMP get value*|Piemēro formatēšanas opcijas SNMP get vērtībai:<br>**UTF-8 from Hex-STRING** - pārvērš Hex-STRING UTF-8 virknē;<br>**MAC from Hex-STRING** - pārvērš Hex-STRING MAC adreses virknē (kur `' '` tiks aizstāta ar `':'`);<br>**Integer from BITS** - pārvērš bitu virknes pirmos 8 baitus, kas izteikti kā heksadecimālu rakstzīmju secība (piem., "1A 2B 3C 4D"), 64 bitu bezzīmju veselā skaitlī. Bitu virknēs, kas garākas par 8 baitiem, turpmākie baiti tiks ignorēti.<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
|Custom scripts|<|<|
|<|*JavaScript*|Ievadiet JavaScript kodu modālajā redaktorā, kas tiek atvērts, noklikšķinot parametra laukā vai uz zīmuļa ikonas tam blakus.<br>Ņemiet vērā, ka pieejamā JavaScript garums ir atkarīgs no [izmantotās datubāzes](/manual/config/items/item#custom-script-limit).<br>Lai iegūtu vairāk informācijas, skatiet: [JavaScript priekšapstrāde](/manual/config/items/preprocessing/javascript)|
|Validation|<|<|
|<|*Does not match regular expression*|Norādiet regulāro izteiksmi, kurai vērtība nedrīkst atbilst.<br>Piem., `Error:(.*?)\.`<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
|^|*Check for error in JSON*|Pārbauda lietojumprogrammas līmeņa kļūdas ziņojumu, kas atrodas JSONPath. Aptur apstrādi, ja pārbaude ir veiksmīga un ziņojums nav tukšs; pretējā gadījumā turpina apstrādi ar vērtību, kas bija pirms šī priekšapstrādes soļa. Ņemiet vērā, ka šīs ārējo pakalpojumu kļūdas lietotājam tiek paziņotas tādas, kādas tās ir, nepievienojot priekšapstrādes soļa informāciju.<br>Piem., `$.errors`. Ja tiek saņemts JSON, piemēram, `{"errors":"e1"}`, nākamais priekšapstrādes solis netiks izpildīts.<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
|^|*Check for error in XML*|Pārbauda lietojumprogrammas līmeņa kļūdas ziņojumu, kas atrodas Xpath. Aptur apstrādi, ja pārbaude ir veiksmīga un ziņojums nav tukšs; pretējā gadījumā turpina apstrādi ar vērtību, kas bija pirms šī priekšapstrādes soļa. Ņemiet vērā, ka šīs ārējo pakalpojumu kļūdas lietotājam tiek paziņotas tādas, kādas tās ir, nepievienojot priekšapstrādes soļa informāciju.<br>Kļūda netiks ziņota, ja neizdosies parsēt nederīgu XML.<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
|<|*Matches regular expression*|Norādiet regulāro izteiksmi, kurai vērtībai jāatbilst.<br>Ja atzīmējat izvēles rūtiņu *Custom on fail*, ir iespējams norādīt pielāgotas kļūdu apstrādes opcijas: vai nu atmest vērtību, iestatīt norādītu vērtību vai iestatīt norādītu kļūdas ziņojumu.|
|Throttling|<|<|
|<|*Discard unchanged with heartbeat*|Atmet vērtību, ja tā nav mainījusies noteiktajā laika periodā (sekundēs).<br>Lai norādītu sekundes, tiek atbalstītas pozitīvas veselu skaitļu vērtības (minimums - 1 sekunde). Šajā laukā var izmantot laika sufiksus (piem., 30s, 1m, 2h, 1d). Šajā laukā var izmantot lietotāja makro un zema līmeņa atklāšanas makro.<br>Vienam atklāšanas vienumam var norādīt tikai vienu ierobežošanas opciju.<br>Piem., `1m`. Ja identisks teksts šajā noteikumā tiek nodots divreiz 60 sekunžu laikā, tas tiks atmests.<br>*Piezīme*: vienuma prototipu maiņa neatjauno ierobežošanu. Ierobežošana tiek atiestatīta tikai tad, kad tiek mainīti priekšapstrādes soļi.|
|Prometheus|<|<|
|<|*Prometheus to JSON*|Pārvērš nepieciešamos Prometheus metriku datus JSON.<br>Lai iegūtu vairāk informācijas, skatiet [Prometheus pārbaudes](/manual/config/items/itemtypes/http/prometheus).|

Ņemiet vērā: ja atklāšanas noteikums ir lietots hostam, izmantojot veidni, šīs cilnes saturs ir tikai lasāms.

[comment]: # ({/2e8e1698-0e438e85})

[comment]: # ({e23af783-c5db0ca2})
#### Pielāgotas makrokomandas

Cilne **LLD makrokomandas** ļauj norādīt pielāgotas zema līmeņa atklāšanas makrokomandas.

Pielāgotas makrokomandas ir noderīgas gadījumos, kad atgrieztajā JSON jau nav definētas nepieciešamās makrokomandas.
Tātad, piemēram:

-   Vietējā `vfs.fs.discovery` atslēga failu sistēmu atklāšanai atgriež JSON ar dažām iepriekš definētām LLD makrokomandām, piemēram, {\#FSNAME}, {\#FSTYPE}.
Šīs makrokomandas var izmantot tieši vienumu un trigeru prototipos (skatiet turpmākās šīs lapas sadaļas); pielāgotu makrokomandu definēšana nav nepieciešama;
-   Arī aģenta vienums `vfs.fs.get` atgriež JSON ar [failu sistēmu datiem](/manual/discovery/low_level_discovery/examples/mounted_filesystems), taču bez iepriekš definētām LLD makrokomandām.
Šajā gadījumā makrokomandas varat definēt pats un sasaistīt tās ar vērtībām JSON, izmantojot JSONPath:

![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_c.png)

Izgūtās vērtības var izmantot atklātajos vienumos, trigeros utt.
Ņemiet vērā, ka vērtības tiks izgūtas no atklāšanas rezultāta un visām līdz šim veiktajām priekšapstrādes darbībām.

|Parameter|Description|
|--|--------|
|*LLD macro*|Zema līmeņa atklāšanas makrokomandas nosaukums, izmantojot šādu sintaksi: {\#MACRO}.|
|*JSONPath*|Ceļš, kas tiek izmantots LLD makrokomandas vērtības izgūšanai no LLD rindas, izmantojot JSONPath sintaksi.<br>Vērtības, kas izgūtas no atgrieztā JSON, tiek izmantotas, lai aizstātu LLD makrokomandas vienumu, trigeru utt. prototipu laukos.<br>JSONPath var norādīt, izmantojot punkta notāciju vai iekavu notāciju. Iekavu notācija jāizmanto īpašo rakstzīmju un unikoda gadījumā, piemēram, `$['unicode + special chars #1']['unicode + special chars #2']`.<br><br>Piemēram, `$.foo` izgūs "bar" un "baz" no šī JSON: `[{"foo":"bar"}, {"foo":"baz"}]`<br>Ņemiet vērā, ka `$.foo` izgūs "bar" un "baz" arī no šī JSON: `{"data":[{"foo":"bar"}, {"foo":"baz"}]}`, jo viens "data" objekts tiek apstrādāts automātiski (lai nodrošinātu [atpakaļsaderību](#overview) ar zema līmeņa atklāšanas ieviešanu Zabbix versijās pirms 4.2).|

[comment]: # ({/e23af783-c5db0ca2})

[comment]: # ({db7ca1d0-db0f5889})
#### Filtrs

Filtru var izmantot, lai ģenerētu reālus vienumus, trigerus un grafikus tikai tām entītijām, kas atbilst kritērijiem.
Cilnē **Filtri** ir ietvertas atklāšanas kārtulas filtru definīcijas, kas ļauj filtrēt atklāšanas vērtības:

![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_d.png){width="600"}

|Parametrs|Apraksts|
|--|--------|
|*Aprēķina veids*|Ir pieejamas šādas filtru aprēķināšanas opcijas:<br>**And** - jāizpildās visiem filtriem;<br>**Or** - pietiek, ja izpildās viens filtrs;<br>**And/Or** - izmanto *And* ar dažādiem makrosu nosaukumiem un *Or* ar vienādiem makrosu nosaukumiem;<br>**Custom expression** - piedāvā iespēju definēt pielāgotu filtru aprēķinu. Formulai jāietver visi sarakstā esošie filtri. Ierobežots līdz 255 simboliem.|
|*Filtri*|Ir pieejami šādi filtra nosacījumu operatori: *matches*, *does not match*, *exists*, *does not exist*.<br>Operatoriem *matches* un *does not match* ir nepieciešama [Perl Compatible Regular Expression](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE). Piemēram, ja jūs interesē tikai C:, D: un E: failu sistēmas, laukā "Macro" varat ievadīt {\#FSNAME}, bet laukā "Regular expression" - regulāro izteiksmi "\^C\|\^D\|\^E". Filtrēšana ir iespējama arī pēc failu sistēmu tipiem, izmantojot makrosu {\#FSTYPE} (piemēram, "\^ext\|\^reiserfs"), un pēc disku tipiem (atbalstīts tikai Windows aģents), izmantojot makrosu {\#FSDRIVETYPE} (piemēram, "fixed").<br>Laukā "Regular expression" varat ievadīt regulāro izteiksmi vai atsauci uz globālu [regular expression](/manual/regular_expressions).<br>Lai pārbaudītu regulāro izteiksmi, varat izmantot "grep -E", piemēram: ````for f in ext2 nfs reiserfs smbfs; do echo $f | grep -E '^ext|^reiserfs' || echo "SKIP: $f"; done```` <br><br>Operatori *exists* un *does not exist* ļauj filtrēt entītijas, pamatojoties uz norādītā LLD makrosa esamību vai neesamību atbildē.<br>Ņemiet vērā, ka, ja atbildē trūkst makrosa no filtra, atrastā entītija tiks ignorēta, ja vien šim makrosam nav norādīts nosacījums "does not exist".<br><br>Tiks parādīts brīdinājums, ja makrosa neesamība ietekmē izteiksmes rezultātu. Piemēram, ja {#B} trūkst šādā izteiksmē:<br>{#A} matches 1 and {#B} matches 2 - tiks parādīts brīdinājums<br>{#A} matches 1 or {#B} matches 2 - brīdinājuma nebūs|

::: notewarning
Kļūda vai drukas kļūda regulārajā izteiksmē, kas izmantota LLD kārtulā (piemēram, nekorekta regulārā izteiksme "File systems for discovery"), var izraisīt tūkstošiem konfigurācijas elementu, vēsturisko vērtību un notikumu dzēšanu daudziem hostiem.
:::

::: noteimportant
Zabbix datubāze MySQL vidē jāizveido ar reģistrjutīgu salīdzināšanu, lai failu sistēmu nosaukumi, kas atšķiras tikai ar burtu reģistru, tiktu atklāti pareizi.
:::

[comment]: # ({/db7ca1d0-db0f5889})

[comment]: # ({59797b5c-8d616544})
#### Pārrakstīšana

Cilne **Pārrakstīšanas** ļauj iestatīt noteikumus, lai modificētu vienumu, trigeru, grafiku, hostu un atklāšanas prototipu sarakstu vai to atribūtus atklātajiem objektiem, kas atbilst norādītajiem kritērijiem.

![](../../../assets/en/manual/discovery/low_level_discovery/lld_fs_e.png)

Pārrakstīšanas noteikumi (ja tādi ir) tiek parādīti pārkārtojamu vilkšanas un nomešanas sarakstā un izpildīti tādā secībā, kādā tie ir definēti. Lai konfigurētu jaunas pārrakstīšanas detaļas, blokā *Pārrakstīšanas* noklikšķiniet uz ![](../../../assets/en/manual/config/add_link.png).
Lai rediģētu esošu pārrakstīšanu, noklikšķiniet uz pārrakstīšanas nosaukuma.
Tiks atvērts uznirstošais logs, kurā varēsiet rediģēt pārrakstīšanas noteikuma detaļas.

![](../../../assets/en/manual/discovery/low_level_discovery/lld_override.png)

Visi obligātie parametri ir atzīmēti ar sarkanām zvaigznītēm.

|Parameter|Description|
|--|--------|
|*Name*|Unikāls pārrakstīšanas nosaukums (katram LLD noteikumam atsevišķi).|
|*If filter matches*|Nosaka, vai nākamās pārrakstīšanas tiks apstrādātas, ja filtra nosacījumi ir izpildīti:<br>**Continue overrides** - turpmākās pārrakstīšanas tiks apstrādātas.<br>**Stop processing** - tiks izpildītas iepriekšējo (ja tādas ir) un šīs pārrakstīšanas darbības, bet turpmākās pārrakstīšanas atbilstošajām LLD rindām tiks ignorētas.|
|*Filters*|Nosaka, uz kurām atklātajām entītijām pārrakstīšana jāpiemēro. Pārrakstīšanas filtri tiek apstrādāti pēc atklāšanas noteikuma [filtriem](low_level_discovery#filter) un tiem ir tāda pati funkcionalitāte.|
|*Operations*|Pārrakstīšanas darbības tiek parādītas ar šādām detaļām:<br>**Condition** - objekta tips un nosacījums, kam jāatbilst objekta nosaukumam; piemēram: Trigger prototype nav vienāds ar *Disk space is low (used > 50%)*.<br>**Actions** - tiek parādītas saites darbības rediģēšanai un dzēšanai.|

**Darbības konfigurēšana**

Lai konfigurētu jaunas darbības detaļas, blokā Operations noklikšķiniet uz ![](../../../assets/en/manual/config/add_link.png).
Lai rediģētu esošu darbību, noklikšķiniet uz ![](../../../assets/en/manual/config/edit_link.png) blakus darbībai.
Tiks atvērts uznirstošais logs, kurā varēsiet rediģēt darbības detaļas.

![](../../../assets/en/manual/discovery/low_level_discovery/lld_override_op.png)

|Parameter|<|<|Description|
|-|-|----------|----------------------------------------|
|*Object*|<|<|Pieejami piecu tipu objekti:<br>Vienuma prototips<br>Trigeru prototips<br>Grafika prototips<br>Hosta prototips<br>Atklāšanas prototips|
|*Condition*|<|<|Ļauj filtrēt entītijas, kurām darbība jāpiemēro.|
| |Operator|<|Atbalstītie operatori:<br>**equals** - piemērot šim prototipam<br>**does not equal** - piemērot visiem prototipiem, izņemot šo<br>**contains** - piemērot, ja prototipa nosaukums satur šo virkni<br>**does not contain** - piemērot, ja prototipa nosaukums nesatur šo virkni<br>**matches** - piemērot, ja prototipa nosaukums atbilst regulārajai izteiksmei<br>**does not match** - piemērot, ja prototipa nosaukums neatbilst regulārajai izteiksmei<br>|
|^|Pattern|<|[Regulārā izteiksme](/manual/regular_expressions) vai meklējamā virkne.|
|^|Object: *Item prototype*|<|<|
|^| |*Create enabled*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas pogas, kas ļauj pārrakstīt sākotnējos vienuma prototipa iestatījumus:<br>*Yes* - vienums tiks pievienots iespējotā stāvoklī.<br>*No* - vienums tiks pievienots atklātajai entītijai, bet atspējotā stāvoklī.|
|^|^|*Discover*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas pogas, kas ļauj pārrakstīt sākotnējos vienuma prototipa iestatījumus:<br>*Yes* - vienums tiks pievienots.<br>*No* - vienums netiks pievienots.|
|^|^|*Update interval*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas divas opcijas, kas ļauj iestatīt atšķirīgu vienuma intervālu:<br>*Delay* - vienuma atjaunināšanas intervāls. Tiek atbalstīti [lietotāja makrosi](/manual/config/macros/user_macros) un [laika sufiksi](/manual/appendix/suffixes) (piem., 30s, 1m, 2h, 1d). Ja tiek izmantots *Custom interval*, jāiestata 0.<br>*Custom interval* - noklikšķiniet uz ![](../../../assets/en/manual/config/add_link.png), lai norādītu elastīgos/plānošanas intervālus. Sīkāku informāciju skatiet sadaļā [Custom intervals](/manual/config/items/item/custom_intervals).|
|^|^|*History*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas pogas, kas ļauj iestatīt atšķirīgu vēstures glabāšanas periodu vienumam:<br>*Do not store* - ja izvēlēts, vēsture netiks glabāta.<br>*Store up to* - ja izvēlēts, labajā pusē parādīsies ievades lauks glabāšanas perioda norādīšanai. Tiek atbalstīti [lietotāja makrosi](/manual/config/macros/user_macros) un [LLD makrosi](/manual/config/macros/lld_macros).|
|^|^|*Trends*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas pogas, kas ļauj iestatīt atšķirīgu tendenču glabāšanas periodu vienumam:<br>*Do not store* - ja izvēlēts, tendences netiks glabātas.<br>*Store up to* - ja izvēlēts, labajā pusē parādīsies ievades lauks glabāšanas perioda norādīšanai. Tiek atbalstīti [lietotāja makrosi](/manual/config/macros/user_macros) un [LLD makrosi](/manual/config/macros/lld_macros).|
|^|^|*Tags*|Ja izvēles rūtiņa ir atzīmēta, parādīsies jauns bloks, kurā varēs norādīt tagu-vērtību pārus.<br>Šie tagi tiks pievienoti tagiem, kas norādīti vienuma prototipā, pat ja tagu nosaukumi sakrīt.|
|^|Object: *Trigger prototype*|<|<|
|^| |*Create enabled*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas pogas, kas ļauj pārrakstīt sākotnējos trigeru prototipa iestatījumus:<br>*Yes* - trigeris tiks pievienots iespējotā stāvoklī.<br>*No* - trigeris tiks pievienots atklātajai entītijai, bet atspējotā stāvoklī.|
|^|^|*Discover*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas pogas, kas ļauj pārrakstīt sākotnējos trigeru prototipa iestatījumus:<br>*Yes* - trigeris tiks pievienots.<br>*No* - trigeris netiks pievienots.|
|^|^|*Severity*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas trigeru smaguma pakāpes pogas, kas ļauj modificēt trigeru smaguma pakāpi.|
|^|^|*Tags*|Ja izvēles rūtiņa ir atzīmēta, parādīsies jauns bloks, kurā varēs norādīt tagu-vērtību pārus.<br>Šie tagi tiks pievienoti tagiem, kas norādīti trigeru prototipā, pat ja tagu nosaukumi sakrīt.|
|^|Object: *Graph prototype*|<|<|
|^| |*Discover*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas pogas, kas ļauj pārrakstīt sākotnējos grafika prototipa iestatījumus:<br>*Yes* - grafiks tiks pievienots.<br>*No* - grafiks netiks pievienots.|
|^|Object: *Host prototype*|<|<|
|^| |*Create enabled*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas pogas, kas ļauj pārrakstīt sākotnējos hosta prototipa iestatījumus:<br>*Yes* - hosts tiks izveidots iespējotā stāvoklī.<br>*No* - hosts tiks izveidots atspējotā stāvoklī.|
|^|^|*Discover*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas pogas, kas ļauj pārrakstīt sākotnējos hosta prototipa iestatījumus:<br>*Yes* - hosts tiks atklāts.<br>*No* - hosts netiks atklāts.|
|^|^|*Link templates*|Ja izvēles rūtiņa ir atzīmēta, parādīsies ievades lauks veidņu norādīšanai. Sāciet rakstīt veidnes nosaukumu vai noklikšķiniet uz *Select* blakus laukam un uznirstošajā logā izvēlieties veidnes no saraksta.<br>Šīs pārrakstīšanas veidnes tiek pievienotas visām veidnēm, kas jau ir saistītas ar hosta prototipu.|
|^|^|*Tags*|Ja izvēles rūtiņa ir atzīmēta, parādīsies jauns bloks, kurā varēs norādīt tagu-vērtību pārus.<br>Šie tagi tiks pievienoti tagiem, kas norādīti hosta prototipā, pat ja tagu nosaukumi sakrīt.|
|^|^|*Host inventory*|Ja izvēles rūtiņa ir atzīmēta, tiks parādītas pogas, kas ļauj izvēlēties atšķirīgu hosta prototipa inventāra [režīmu](/manual/config/hosts/inventory):<br>*Disabled* - neaizpildīt hosta inventāru<br>*Manual* - sniegt detaļas manuāli<br>*Automated* - automātiski aizpildīt hosta inventāra datus, pamatojoties uz savāktajiem rādītājiem.|

[comment]: # ({/59797b5c-8d616544})

[comment]: # ({3688758a-50cefaf6})
#### Veidlapas pogas

Pogas veidlapas apakšdaļā ļauj veikt vairākas darbības.

|   |   |
|--|--------|
|![](../../../assets/en/manual/config/button_add.png)|Pievienot atklāšanas kārtulu. Šī poga ir pieejama tikai jaunām atklāšanas kārtulām.|
|![](../../../assets/en/manual/config/button_update.png)|Atjaunināt atklāšanas kārtulas rekvizītus. Šī poga ir pieejama tikai esošām atklāšanas kārtulām.|
|![](../../../assets/en/manual/config/button_clone.png)|Izveidot citu atklāšanas kārtulu, pamatojoties uz pašreizējās atklāšanas kārtulas rekvizītiem.|
|![](../../../assets/en/manual/config/button_execute.png)|Nekavējoties veikt atklāšanu, pamatojoties uz atklāšanas kārtulu. Atklāšanas kārtulai jau ir jāeksistē. Skatiet [vairāk informācijas](/manual/config/items/check_now).<br>*Piezīme:* veicot atklāšanu nekavējoties, konfigurācijas kešatmiņa netiek atjaunināta, tādēļ rezultāts neatspoguļos pavisam nesenās izmaiņas atklāšanas kārtulas konfigurācijā.|
|![](../../../assets/en/manual/config/button_test.png)|Pārbaudīt atklāšanas kārtulas konfigurāciju. Izmantojiet šo pogu, lai pārbaudītu konfigurācijas iestatījumus (piemēram, savienojamību un parametru pareizību), pastāvīgi nepiemērojot nekādas izmaiņas.|
|![](../../../assets/en/manual/config/button_delete.png)|Dzēst atklāšanas kārtulu.|
|![](../../../assets/en/manual/config/button_cancel.png)|Atcelt atklāšanas kārtulas rekvizītu rediģēšanu.|

[comment]: # ({/3688758a-50cefaf6})

[comment]: # ({5721dd55-0dea10fa})
### Atklātās entītijas

Tālāk redzamie ekrānuzņēmumi ilustrē, kā hosta konfigurācijā izskatās atklātie vienumi, trigeri un grafiki.
Atklātajām entītijām priekšā ir oranža saite uz atklāšanas kārtulu, no kuras tās ir iegūtas.

![](../../../assets/en/manual/discovery/low_level_discovery/discovered_items1.png){width="600"}

Ņemiet vērā, ka atklātās entītijas netiks izveidotas, ja jau pastāv entītijas ar tiem pašiem unikalitātes kritērijiem, piemēram, vienums ar to pašu atslēgu vai grafiks ar to pašu nosaukumu.
Šādā gadījumā lietotāja saskarnē tiek parādīts kļūdas ziņojums, ka zema līmeņa atklāšanas kārtula nevarēja izveidot noteiktas entītijas.
Tomēr pati atklāšanas kārtula nekļūs par neatbalstītu tikai tāpēc, ka kādu entītiju nevarēja izveidot un tā bija jāizlaiž.
Atklāšanas kārtula turpinās izveidot/atjaunināt citas entītijas.

Ja atklātā entītija (hosts, failu sistēma, saskarne utt.) vairs netiek atklāta (vai vairs neatbilst filtram), entītijas, kas tika izveidotas, pamatojoties uz to, var tikt automātiski atspējotas un vēlāk dzēstas.

Zaudētie resursi var tikt automātiski atspējoti atkarībā no parametra *Disable lost resources* vērtības.
Tas attiecas uz zaudētajiem hostiem, vienumiem un trigeriem.

Zaudētie resursi var tikt automātiski dzēsti atkarībā no parametra *Delete lost resources* vērtības.
Tas attiecas uz zaudētajiem hostiem, hostu grupām, vienumiem, trigeriem un grafikiem.

Kad atklātās entītijas kļūst par "Vairs netiek atklātas", entītiju sarakstā tiek parādīts dzīves ilguma indikators.
Pārvietojiet peles kursoru virs tā, un tiks parādīts ziņojums ar detalizētu informāciju par statusu.

![](../../../assets/en/manual/discovery/low_level_discovery/not_discovered_message.png)

Ja entītijas tika atzīmētas dzēšanai, bet netika dzēstas paredzētajā laikā (atspējota atklāšanas kārtula vai vienuma hosts), tās tiks dzēstas nākamajā reizē, kad tiks apstrādāta atklāšanas kārtula.

Entītijas, kas satur citas entītijas un ir atzīmētas dzēšanai, netiks atjauninātas, ja izmaiņas tiks veiktas atklāšanas kārtulas līmenī.
Piemēram, uz LLD balstīti trigeri netiks atjaunināti, ja tie satur vienumus, kas ir atzīmēti dzēšanai.

![](../../../assets/en/manual/discovery/low_level_discovery/discovered_triggers1.png)

![](../../../assets/en/manual/discovery/low_level_discovery/discovered_graphs1.png){width="600"}

[comment]: # ({/5721dd55-0dea10fa})

[comment]: # ({ea9a0925-ab744aed})
### Citi atklāšanas veidi

Plašāka informācija un instrukcijas par citiem gatavajiem atklāšanas veidiem ir pieejamas šādās sadaļās:

-   [tīkla saskarņu](/manual/discovery/low_level_discovery/examples/network_interfaces) atklāšana
-   [CPU un CPU kodolu](/manual/discovery/low_level_discovery/examples/cpu) atklāšana
-   [SNMP OID](/manual/discovery/low_level_discovery/examples/snmp_oids) atklāšana
-   [JMX objektu](/manual/discovery/low_level_discovery/examples/jmx) atklāšana;
-   atklāšana, izmantojot [ODBC SQL vaicājumus](/manual/discovery/low_level_discovery/examples/sql_queries)
-   [Windows pakalpojumu](/manual/discovery/low_level_discovery/examples/windows_services) atklāšana
-   [hostu saskarņu](/manual/discovery/low_level_discovery/examples/host_interfaces) atklāšana Zabbix vidē

Plašāku informāciju par JSON formātu atklāšanas vienumiem un piemēru, kā ieviest savu failu sistēmas atklājēju kā Perl skriptu, skatiet sadaļā [pielāgotu LLD noteikumu izveide](/manual/discovery/low_level_discovery/custom_rules).

[comment]: # ({/ea9a0925-ab744aed})
