[comment]: # translation:outdated

[comment]: # ({ee805b92-1a3ec895})
# 3 Priekšapstrādes piemēri

[comment]: # ({/ee805b92-1a3ec895})

[comment]: # ({c85251c8-f4923ce3})
#### Pārskats

Šajā sadaļā ir sniegti piemēri, kā izmantot priekšapstrādes soļus, lai veiktu dažus praktiskus uzdevumus.

[comment]: # ({/c85251c8-f4923ce3})

[comment]: # ({22bc082b-6c9dfb09})
#### VMware notikumu žurnāla ierakstu filtrēšana

Šajā piemērā tiek izmantots priekšapstrādes solis [Atbilst regulārajai izteiksmei](/manual/config/items/preprocessing#matchesregexp), lai no VMware notikumu žurnāla atfiltrētu nevajadzīgos notikumus.

1\. Darbojošā VMware Hypervisor hostā pārbaudiet, ka vienums [vmware.eventlog](/manual/vm_monitoring/vmware_keys#vmware.eventlog) ir pieejams un darbojas pareizi.
Ņemiet vērā, ka notikumu žurnāla vienums hipervizorā jau var būt pieejams, ja hosta izveides laikā tika piesaistīta veidne [VMware](/manual/config/templates_out_of_the_box/vmware).

2\. VMware Hypervisor hostā izveidojiet [atkarīgo vienumu](/manual/config/items/itemtypes/dependent_items) ar tipu *Log* un iestatiet notikumu žurnāla vienumu kā tā galveno vienumu.

3\. Atkarīgā vienuma cilnē *Preprocessing* noklikšķiniet uz *Add*, lai izveidotu priekšapstrādes soli, un nolaižamajā sarakstā atlasiet *Matches regular expression*. Pēc tam norādiet vienu no šiem paraugiem:

-   Lai filtrētu visus žurnāla notikumus:

```bash
.* logged in .*
```

-   Lai filtrētu rindas, kurās pēc "User" ir lietotājvārdi:

```bash
\bUser\s+\K\S+
```

::: noteimportant
Ja regulārā izteiksme neatbilst, atkarīgais vienums kļūst neatbalstīts un tiek parādīts atbilstošs kļūdas ziņojums.
Lai no tā izvairītos, atzīmējiet izvēles rūtiņu *Custom on fail* un atlasiet opciju, piemēram, vērtības atmešanu vai pielāgotas vērtības iestatīšanu.
Ņemiet vērā, ka [atmestās](/manual/config/items/preprocessing#discardunchanged) vērtības datubāzē netiek saglabātas; tādēļ trigeri netiek novērtēti un tendenču dati netiek ģenerēti.
:::

Alternatīvi varat izmantot priekšapstrādes soli [Regular expression](/manual/config/items/preprocessing#regexp), lai izvilktu atbilstošās grupas un kontrolētu izvadi:

-   Lai izvilktu un izvadītu visu žurnāla notikumu, kas satur "logged in", norādiet šādus parametrus:

```bash
Pattern: .*logged in.*
Output: \0
```

-   Lai izvilktu un izvadītu lietotājvārdus pēc "User":

```bash
Pattern: User (.*?)(?=\ )
Output: \1
```

[comment]: # ({/22bc082b-6c9dfb09})

[comment]: # ({76f2bdd9-9e7a5976})
#### Iegūtās vērtības tipa pārbaude

Šajā piemērā tiek izmantots priekšapstrādes solis [Pielāgots reizinātājs](/manual/config/items/preprocessing#multiplier), lai pārbaudītu, vai iegūtā vienuma vērtības tips ir skaitlisks.

Vienuma cilnē *Priekšapstrāde* atlasiet priekšapstrādes soli *Pielāgots reizinātājs* un norādiet šādu parametru (reizina iegūto vērtību ar 1):

```bash
1
```

::: noteimportant
Ja priekšapstrāde neizdodas (piemēram, ievade nav skaitliska), tad vienums kļūst neatbalstīts ar atbilstošu kļūdas ziņojumu.
Lai no tā izvairītos, atzīmējiet izvēles rūtiņu *Pielāgots kļūmes gadījumā* un atlasiet opciju, piemēram, vērtības atmešanu vai pielāgotas vērtības iestatīšanu.
Lūdzu, ņemiet vērā, ka [atmestās](/manual/config/items/preprocessing#discardunchanged) vērtības netiek saglabātas datubāzē; tādēļ trigeri netiek novērtēti un tendenču dati netiek ģenerēti.
:::

[comment]: # ({/76f2bdd9-9e7a5976})

[comment]: # ({9a28bbf4-5bac90df})
#### Neatbalstītas vērtības pārbaude

Šajā piemērā tiek izmantots priekšapstrādes solis [Check for not supported value](/manual/config/items/preprocessing#checkunsupported), lai pārbaudītu, vai vienuma vērtību neizdevās iegūt.

Kad Zabbix servera/starpniekservera aptaujātāja process mēģina savākt vienuma vērtību, tas var:

-   Atgriezt derīgu rezultātu.
-   Atgriezt rezultātu, kas sākotnēji šķiet derīgs, bet vēlāk var kļūt neatbalstīts (piemēram, vērtības tipa neatbilstības dēļ pēc priekšapstrādes).
-   Atgriezt vērtības iegūšanas kļūdu, kā rezultātā vienums kļūst neatbalstīts. Biežākie iemesli:
    -   Nezināma vienuma atslēga (Zabbix aģentam, vienkāršajai pārbaudei vai Zabbix iekšējiem vienumiem)
    -   Nezināms OID (SNMP aģents), nezināms sensors (IPMI aģents) vai nav JMX metrikas (JMX aģents)
    -   Nevar nolasīt slazdu failu (SNMP trap)
    -   Skripts nav atrasts (ārējā pārbaude)
    -   Šāds URL nepastāv (HTTP aģents, pārlūks)
    -   Pieteikšanās neizdevās (SSH aģents, TELNET aģents)
    -   Nederīga formulas sintakse (Calculated), JavaScript sintakses kļūda (Script) vai nederīgs SQL (Database monitor)

Lai noteiktu un apstrādātu vienumu vērtību iegūšanas kļūdas, varat izmantot priekšapstrādes soli *Check for not supported value*.
Ņemiet vērā, ka šis solis vienmēr tiek izpildīts pirmais un nosaka tikai tās kļūdas, kas rodas pirms priekšapstrādes sākuma.

Vienuma cilnē *Preprocessing* atlasiet priekšapstrādes soli *Check for not supported value* un norādiet vienu no šiem parametriem:

-   Jebkurām kļūdām:

```bash
Parameter: any error
```

-   Kļūdām, kas satur "cannot connect":

```bash
Parameter: error matches
Pattern: (?i)cannot connect
```

Pēc tam izmantojiet opciju *Custom on fail*, lai atmestu vērtību (šajā gadījumā — kļūdu), iestatītu pielāgotu vērtību vai atgrieztu pielāgotu kļūdas ziņojumu.
Lūdzu, ņemiet vērā, ka [discarded](/manual/config/items/preprocessing#discardunchanged) vērtības netiek saglabātas datubāzē; tādēļ trigeri netiek novērtēti un tendenču dati netiek ģenerēti.

[comment]: # ({/9a28bbf4-5bac90df})
