[comment]: # ({ee805b92-1a3ec895})
# 3 Exemples de preprocessament

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

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

Aquesta secció presenta exemples d'ús de les passes de preprocessament per dur a terme algunes tasques pràctiques.

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

[comment]: # ({22bc082b-6c9dfb09})
#### Filtrat de registres del registre d'esdeveniments de VMware

Aquest exemple utilitza la passa de preprocessament [coincideix amb l'expressió regular](/manual/config/items/preprocessing#matchesregexp) per filtrar esdeveniments innecessaris del registre d'esdeveniments de VMware.

1\. En un equip VMware Hypervisor que funcioni, comproveu que l'element [vmware.eventlog](/manual/vm_monitoring/vmware_keys#vmware.eventlog) sigui present i funcionant correctament.
Tingueu en compte que l'element del registre d'esdeveniments ja podria ser present a l'hipervisor si s'ha enllaçat una plantilla [VMware](/manual/config/templates_out_of_the_box/vmware) durant la creació de l'equip.

2\. A l'equip VMware Hypervisor, creeu un [element dependent](/manual/config/items/itemtypes/dependent_items) de tipus *Registre* i definiu l'element del registre d'esdeveniments com a element mestre.

3\. A la pestanya *Preprocessament* de l'element dependent, feu clic a *Afegir* per crear un pas de preprocessament i trieu*Coincideix amb l'expressió regular* al menú desplegable. A continuació, especifiqueu un dels patrons següents:

- Per filtrar tots els esdeveniments del registre:

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

- Per filtrar línies que contenen noms d'usuari després de "Usuari":

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

::: noteimportant
Si l'expressió regular no coincideix, l'element dependent deixa de ser compatible amb un missatge d'error corresponent.
Per evitar-ho, marqueu la casella de selecció *Personalitzat en cas d'error* i escolliu una opció com ara descartar el valor o definir-ne un de personalitzat.
Tingueu en compte que els valors [descartats](/manual/config/items/preprocessing#discardunchanged) no s'emmagatzemen a la base de dades; com a resultat, els triggers no s'avaluen i no es generen dades de tendències.
:::

Alternativament, podeu utilitzar la passa de preprocessament [Expressió regular](/manual/config/items/preprocessing#regexp) per extreure els grups coincidents i controlar la sortida:

- Per extreure i generar tot l'esdeveniment de registre que conté "logged in", especifiqueu els paràmetres següents:

```bash
Patró: .*logged in.*
Sortida: \0
```

- Per extreure i generar noms d'usuari seguint el patró "User":

```bash
Patró: User (.*?)(?=\ )
Sortida: \1
```

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

[comment]: # ({76f2bdd9-100f6359})
#### Comprovant el tipus de valor recuperat

Aquest exemple empra la passa de preprocessament [Multiplicador personalitzat](/manual/config/items/preprocessing#multiplier) per comprovar si el tipus de valor de l'element recuperat és numèric.

A la pestanya *Preprocessament* d'un element, seleccioneu la passa de preprocessament *Multiplicador personalitzat* i definiu el paràmetre següent (multiplica el valor recuperat per 1):

```bash
1
```

::: noteimportant
Si el preprocessament falla (p. ex., l'entrada no és numèrica), l'element no s'admet amb un missatge d'error corresponent.
Per evitar-ho, marqueu la casella de selecció *Personalitzat en cas d'error* i seleccioneu una opció, com ara descartar el valor o establir-ne un de personalitzat.
Tingueu en compte que els valors [descartats](/manual/config/items/preprocessing#discardunchanged) no s'emmagatzemen a la base de dades; com a resultat, els triggers no s'avaluen i no es generen dades de tendències.
:::

[comment]: # ({/76f2bdd9-100f6359})

[comment]: # ({9a28bbf4-5bac90df})
#### Comprovació de valors no compatibles

Aquest exemple utilitza la passa de preprocessament [Comprovació de valors no compatibles](/manual/config/items/preprocessing#checkunsupported) per comprovar si no s'ha pogut recuperar el valor de l'element.

Quan un procés de sondeig del servidor/proxy Zabbix intenta recopilar un valor d'element, pot:

- Retornar un resultat vàlid.

- Retornar un resultat que inicialment sembla vàlid però que pot deixar de ser compatible més endavant (per exemple, degut a una discrepància del tipus de valor després del preprocessament).

- Retornar un error de recopilació del valor, cosa que fa que l'element deixi de ser compatible. Les causes comunes inclouen:

- Clau d'element desconeguda (per a l'agent Zabbix, la comprovació simple o els elements interns de Zabbix)

- OID desconegut (agent SNMP), sensor desconegut (agent IPMI) o cap mètrica JMX (agent JMX)

- No es pot llegir el fitxer de traps (trap SNMP)

- No s'ha trobat l'script (comprovació externa)

- No hi ha aquesta URL (agent HTTP, navegador)

- Error d'inici de sessió (agent SSH, agent TELNET)

- Sintaxi de fórmula no vàlida (calculada), error de sintaxi de JavaScript (script) o SQL no vàlid (monitor de base de dades)

Per detectar i gestionar errors de recopilació de valors d'elements, podeu utilitzar la passa de preprocessament *Comprova si hi ha valors no compatibles*.
Tingueu en compte que aquesta passa sempre s'executa primer i només detecta errors que es produeixen abans que comenci el preprocessament.

A la pestanya *Preprocessament* d'un element, seleccioneu la passa de preprocessament *Comprova si hi ha valors no compatibles* i especifiqueu un dels paràmetres següents:

- Per a qualsevol error:

```bash
Paràmetre: qualsevol error
```

- Per a errors que continguin "no es pot connectar":

```bash
Paràmetre: coincidències d'error
Patró: (?i)no es pot connectar
```

A continuació, utilitzeu l'opció *Personalitzat en cas d'error* per descartar el valor (en aquest cas, l'error), definir un valor personalitzat o retornar un missatge d'error personalitzat.
Tingueu en compte que els valors [discarded](/manual/config/items/preprocessing#discardunchanged) no s'emmagatzemen a la base de dades; com a resultat, els triggers no s'avaluen i no es generen dades de tendències.

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