El preprocessament permet aplicar transformacions als valors dels elements rebuts abans de desar-los a la base de dades. Aquestes transformacions/passos de preprocessament els realitza el servidor Zabbix o el proxy (si els elements es controlen mitjançant proxy).
Aquesta funció admet diversos casos d'ús, com ara:
Es poden configurar un o més passos de preprocessament per a un element. Aquests passos s'executen en l'ordre en què es configuren.
Si un pas de preprocessament falla, un element esdevé no compatible. Això es pot evitar mitjançant la gestió d'errors Personalitzada en cas d'error (disponible per a la majoria de transformacions), que permet descartar valors o establir valors personalitzats.
Per als elements de registre, les metadades del registre (sense valor) sempre restabliran l'estat no compatible de l'element, fent-lo compatible de nou. Això passa fins i tot si l'error inicial es va produir després de rebre un valor de registre de l'agent.
Tots els valors passats al preprocessament es tracten inicialment com a cadenes. La conversió al tipus de valor desitjat (tal com es defineix a la configuració de l'element) es realitza al final del pipeline de preprocessament. Tanmateix, passos específics de preprocessament poden activar conversions anteriors, si cal. Per obtenir informació tècnica detallada, consulteu Detalls de preprocessament.
Per assegurar-vos que la configuració de preprocessament funciona com s'espera, podeu provar-la.
Veieu també: Exemples de preprocessament
Les passes de preprocessament es defineixen a la pestanya Preprocessament del formulari configuració de l'element.

Feu clic a Afegir per triar una transformació admesa.
El camp Tipus d'informació de l'element es mostra a la part inferior de la pestanya quan es defineix almenys una passa de preprocessament. Si cal, és possible modificar el tipus d'informació sense sortir de la pestanya Preprocessament. Veieu la creació d'un element per a la descripció detallada dels paràmetres.
Totes les transformacions admeses es veuen tot seguit. Feu clic al nom de la transformació per veure'n tots els detalls.
| Nom | Descripció | Tipus |
|---|---|---|
| Expressió regular | Fa coincidir el valor amb l'expressió regular i el substitueix amb la sortida requerida. | Text |
| Reemplaça | Cerca la cadena de cerca i la substitueix per una altra (o res). | |
| Retalla | Esborra els caràcters especificats del principi i el final del valor. | |
| Retall dreta | Esborra els caràcters especificats del final del valor. | |
| Retall esquerra | Esborra els caràcters especificats del principi del valor. | |
| XML XPath | Extreu valor o fragment de dades XML mitjançant la funcionalitat XPath. | Dades estructurades |
| Camí JSON | Extreu valor o fragment de dades JSON mitjançant la funcionalitat JSONPath. | |
| CSV a JSON | Converteix les dades del fitxer CSV a format JSON. | |
| XML a JSON | Converteix dades en format XML a JSON. | |
| Valor d'SNMP walk | Extreu el valor pel nom OID/MIB especificat i aplica opcions de format. | SNMP |
| SNMP walk to JSON | Converteix els valors SNMP a JSON. | |
| SNMP get value | Aplica opcions de format al valor SNMP get. | |
| Multiplicador personalitzat | Multiplica el valor per l'enter o el valor de coma flotant especificat. | Aritmètica |
| Canvi simple | Calculeu la diferència entre el valor actual i l'anterior. | Canvi |
| Canvi per segon | Calcula el canvi de valor (diferència entre el valor actual i el valor anterior) velocitat per segon. | |
| Booleà a decimal | Convertir el valor de format booleà a decimal. | Sistemes numèrics |
| Octal a decimal | Converteix el valor de format octal a decimal. | |
| Hexadecimal a decimal | Converteix el valor de format hexadecimal a decimal. | |
| JavaScript | Introdueix el codi JavaScript. | Scripts personalitzats |
| En l'interval | Defineix un interval en el qual hauria de ser-hi un valor. | Validació |
| Coincideix amb l'expressió regular | Especifiqueu una expressió regular amb la qual ha de coincidir un valor. | |
| No coincideix amb l'expressió regular | Especifiqueu una expressió regular que un valor no ha de coincidir. | |
| Comprova si hi ha errors a JSON | Comprova si hi ha un missatge d'error a nivell d'aplicació situat a JSONPath. | |
| Comprova si hi ha errors en XML | Comprova si hi ha un missatge d'error a nivell d'aplicació situat a XPath. | |
| Comprova si hi ha errors mitjançant una expressió regular | Comprova si hi ha un missatge d'error a nivell d'aplicació mitjançant una expressió regular. | |
| Comprova si hi ha un valor no compatible | Comprova si hi ha hagut un error en recuperar el valor de l'element. | |
| Descartar sense canvis | Descartar un valor si no ha canviat. | Acceleració |
| Descartar sense canvis amb heartbeat | Descartar un valor si no ha canviat dins del període de temps definit. | |
| Patró de Prometheus | Empreu la consulta següent per extreure les dades necessàries de les mètriques de Prometheus. | Prometheus |
| Prometheus a JSON | Converteix les mètriques de Prometheus necessàries a JSON. |
Tingueu en compte que per a les passes de preprocessament Canvi i Acceleració, Zabbix ha de recordar el darrer valor per calcular/comparar el nou valor segons sigui necessari. Aquests valors anteriors són gestionats pel preprocessament gerent. Si es reinicia el servidor o el proxy Zabbix o hi ha algun canvi fet a les passes de preprocessament, el darrer valor de l'element corresponent és restableix, resultant en:
Relacioneu el valor amb l'expressió regular i substituïu-lo amb la sortida esperada.
Paràmetres:
Comentaris:
Cerqueu la cadena de cerca i substituïu-la per una altra (o res).
Paràmetres:
Comentaris:
Esborra els caràcters especificats del principi i del final del valor.
Esborra els caràcters especificats al final del valor.
Esborra els caràcters especificats al principi del valor.
Extraieu valor o fragment de dades XML mitjançant la funcionalitat XPath.
Comentaris:
Exemples:
number(/document/item/value) #will extract '10' from <document><item><value>10</value></item></document>
number(/document/item/@attribute) #will extract '10' from <document><item attribute="10"></item></document>/document/item #will extraurà '<item><value>10</value></item>' de <document><item><value>10</value></item></document>Extraeu el valor o fragment de les dades JSON mitjançant funcionalitat JSONPath.
Si marqueu la casella de selecció Personalitzar en cas d'error, és possible especificar opcions personalitzades de gestió d'errors: per descartar el valor, establir un valor especificat o establir un missatge d'error especificat. En el cas d'una passa de preprocessament fallida, l'element no serà compatible si es tria l'opció per descartar el valor o establir un valor especificat.
Converteix les dades del fitxer CSV a format JSON.
Per obtindre més informació, consulteu: Preprocessament de CSV a JSON.
Converteix dades en format XML a JSON.
Per obtindre més informació, consulteu: Regles de serialització.
Si marqueu la casella de selecció Personalitzar en cas d'error, és possible especificar opcions personalitzades de gestió d'errors: per descartar el valor, establir un valor especificat o establir un missatge d'error especificat. En el cas d'una passa de preprocessament fallida, l'element no serà compatible si es tria l'opció per descartar el valor o establir un valor especificat.
Extreu el valor pel nom OID/MIB especificat i aplica les opcions de format:
' ' es substitueix per ':');Si marqueu la casella de selecció Personalitzrt en cas d'error, és possible especificar opcions personalitzades de gestió d'errors: per descartar el valor, establir un valor especificat o establir un missatge d'error especificat. En el cas d'una passa de preprocessament fallida, l'element no serà compatible si es tria l'opció de descartar el valor o establir un valor especificat.
Converteix els valors SNMP a JSON.
Especifiqueu un nom de camp al JSON i la ruta d'OID SNMP corresponent. Els valors dels camps s'emplenaran amb els valors de la ruta d'OID SNMP especificada.
Comentaris:
Aplica les opcions de formatació al valor d'SNMP get:
' ' es substitueix per ':');Si marqueu la casella de selecció Personalitzrt en cas d'error, és possible especificar opcions personalitzades de gestió d'errors: per descartar el valor, establir un valor especificat o establir un missatge d'error especificat. En el cas d'una passa de preprocessament fallida, l'element no serà compatible si es tria l'opció de descartar el valor o establir un valor especificat.
Multiplica el valor per l'enter o el valor de coma flotant especificat.
Comentaris:
1e+70; macros d'usuari i macros LLD; cadenes que inclouen macros, com ara {#MACRO}e+10, {$MACRO1}e+{$MACRO2}. Les macros s'han de resoldre en un nombre enter o en coma flotant.Calcula la diferència entre el valor actual i l'anterior.
Comentaris:
Calcula la velocitat de canvi de valor (diferència entre el valor actual i anterior) per segon.
Comentaris:
Converteix el valor de format booleà a decimal.
Comentaris:
Converteix el valor de format octal a decimal.
Si marqueu la casella de selecció Personalitzar en cas d'error, és possible especificar opcions personalitzades de gestió d'errors: per descartar el valor, establir un valor especificat o establir un missatge d'error especificat. En el cas d'una passa de preprocessament fallida, l'element no serà pas compatible si es tria l'opció per descartar el valor o establir un valor especificat.
Converteix el valor de format hexadecimal a decimal.
Si marqueu la casella de selecció Personalitzar en cas d'error, és possible especificar opcions personalitzades de gestió d'errors: per descartar el valor, establir un valor especificat o establir un missatge d'error especificat. En el cas d'una passa de preprocessament fallida, l'element no serà pas compatible si es tria l'opció per descartar el valor o establir un valor especificat.
Introduïu el codi JavaScript a l'editor modal que s'obre quan cliquem al camp de paràmetres, o a la icona de text del llàpis que hi ha al costat.
Comentaris:
No utilitzeu pas assignacions no declarades en el preprocessament de JavaScript. Utilitzeu var per declarar variables locals.
Defineix un interval en el qual hi hauria d'haver un valor especificant valors mínims/màxims (inclosos).
Comentaris:
Defineix una expressió regular que ha de coincidir amb el valor.
Si marqueu la casella de selecció Personalitzar en cas d'error, és possible especificar opcions personalitzades de gestió d'errors: per descartar el valor, establir un valor especificat o establir un missatge d'error especificat. En el cas d'una passa de preprocessament fallida, l'element no serà pas compatible si es tria l'opció per descartar el valor o establir un valor especificat.
Defineix una expressió regular que no ha de coincidir amb el valor.
Si marqueu la casella de selecció Personalitzar en cas d'error, és possible especificar opcions personalitzades de gestió d'errors: per descartar el valor, establir un valor especificat o establir un missatge d'error especificat. En el cas d'una passa de preprocessament fallida, l'element no serà pas compatible si es tria l'opció per descartar el valor o establir un valor especificat.
Comproveu si hi ha un missatge d'error a nivell d'aplicació situat a JSONPath. Atura el processament si s'ha realitzat correctament i el missatge no és buit; en cas contrari, continueu el processament amb el valor que hi havia abans d'aquesta passa de preprocessament.
Comentaris:
Comproveu si hi ha un missatge d'error a nivell d'aplicació situat a XPath. Atura el processament si s'ha realitzat correctament i el missatge no és buit; en cas contrari, continueu el processament amb el valor que hi havia abans d'aquesta passa de preprocessament.
Comentaris:
Comprova si hi ha un missatge d'error a nivell d'aplicació mitjançant una expressió regular. Atura el processament si s'ha fet correctament i el missatge no està buit; en cas contrari, continueu el processament amb el valor que hi havia abans d'aquesta passa de preprocessament.
Paràmetres:
Comentaris:
Comprova si no s'ha pogut recuperar cap valor de l'element. Especifiqueu com s'ha de processar l'error, basant-se en la inspecció del missatge d'error retornat.
Paràmetres:
Comentaris:
Descarta un valor si no ha canviat.
Comentaris:
Descarta un valor si no ha canviat dins del període de temps definit (en segons).
Comentaris:
Empreu la consulta següent per extreure les dades necessàries de les mètriques de Prometheus.
Consulteu Comprovacions de Prometheus per a més detalls.
Converteix la mètrica Prometeus especificada a JSON.
Consulteu Comprovacions de Prometheus per a més detalls.
Macros d'usuari i macros d'usuari amb context s'admeten a:
El context de la macro s'ignora quan se substitueix una macro pel seu valor. El valor de la macro s'insereix al codi tal com és, no es pot afegir escapament addicional abans de col·locar el valor al codi JavaScript. Tingueu en compte que això pot provocar errors de JavaScript en alguns casos.
Veieu proves de preprocessament.