El preprocessament s'empra per definir regles de transformació dels valors dels elements rebuts. Són possibles una o més transformacions abans de desar a la base de dades.
Hi ha molts usos per a aquesta funcionalitat. És possible que vulgueu, per exemple:
Es permeten una o múltiples transformacions. Les transformacions (passes de preprocessament) s'executen en l'ordre en què es defineixen.
Un element es convertirà en no suportat si hi ha passes de preprocessament fallen. Això es pot evitar mitjançant el tractament d'errors personalitzats en cas d'error (disponible per a transformacions compatibles), que es pot configurar per descartar el valor o establir un valor especificat.
Per assegurar-vos que la canalització de preprocessament configurada funciona, és possible provar-la.
Per als elements de registre, les metadades de registre (sense valor) sempre restabliran l'element en estat no compatible i tornar a fer que sigui compatible, encara que sigui l'error inicial s'hagi produït després de rebre un valor de registre de l'agent.
El preprocessament el fa el servidor o proxy Zabbix (si els elements són monitorats per proxy).
Tingueu en compte que tots els valors passats al preprocessament són de tipus string, la conversió al tipus de valor esperat (tal com es defineix a la configuració de l'element) es fa al final de la canalització de preprocessament; no obstant això, les conversions també poden tindre lloc si ho requereix la passa de preprocessament corresponent. Veieu detalls del preprocessament per obtindre més informació tècnica.
Veieu també: Exemples d'ús
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:
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.