En el preprocesamiento es posible aplicar transformaciones a los valores de las métricas recibidos antes de guardarlos en la base de datos.
Hay muchos usos para esta funcionalidad. Es posible que desee, por ejemplo:
Son posibles una o varias transformaciones. Las transformaciones (pasos de preprocesamiento) se ejecutan en el orden en que se definen.
Una métrica pasará a ser no compatible si cualquiera de los pasos de preprocesamiento falla. Esto se puede evitar mediante el manejo de errores Personalizado en caso de error (disponible para transformaciones admitidas), que se puede configurar para descartar el valor o establecer un valor específico.
Para asegurarse de que la canalización de preprocesamiento configurada funcione, es posible probarla.
Para métricas de registro, los metadatos de registro (sin valor) siempre restablecerán el estado de la métrica como no compatible y harán que la métrica sea compatible nuevamente, incluso si se produjo un error después de recibir un valor de registro del agente.
El preprocesamiento lo realiza el servidor Zabbix o el proxy (si las métricas son monitoreadas por el proxy).
Tenga en cuenta que todos los valores pasados al preprocesamiento son del tipo cadena; Se realiza la conversión al tipo de valor deseado (como se define en la configuración de la métrica) al final del proceso de preprocesamiento. Sin embargo, también pueden realizarse conversiones si así lo requiere el paso de preprocesamiento correspondiente. Ver detalles del preprocesamiento para más información técnica.
Ver también: Ejemplo de preprocesamiento de expresiones regulares
Los pasos de preprocesamiento se definen en la pestaña Preprocesamiento del formulario de configuración de la métrica.
Haga clic en Agregar para seleccionar una transformación compatible.
El campo Tipo de información se muestra en la parte inferior de la pestaña cuando se define al menos un paso de preprocesamiento. Si es necesario, es posible cambiar el tipo de información sin salir de la pestaña Preprocesamiento. Consulte Crear una métrica para obtener una descripción detallada de los parámetros.
Todas las transformaciones admitidas se enumeran a continuación. Haga clic en el nombre de la transformación para ver todos los detalles al respecto.
Nombre | Descripción | Tipo |
---|---|---|
Expresión regular | Haga coincidir el valor con la expresión regular y reemplácelo con la salida requerida. | Texto |
Replace | Encuentre la cadena de búsqueda y reemplácela con otra (o nada). | |
Trim | Elimina los caracteres especificados del principio y del final del valor. | |
Recorte derecho | Elimina los caracteres especificados al final del valor. | |
Recorte izquierdo | Elimina los caracteres especificados del principio del valor. | |
XML XPath | Extrae un valor o fragmento de datos XML utilizando la funcionalidad XPath. | Datos estructurados |
Ruta JSON | Extrae un valor o fragmento de datos JSON usando la funcionalidad JSONPath. | |
CSV a JSON | Convierte los datos del archivo CSV al formato JSON. | |
XML a JSON | Convertir datos en formato XML a JSON. | |
Valor de SNMP walk | Extraiga el valor por el nombre OID/MIB especificado y aplique las opciones de formato. | SNMP |
SNMP walk a JSON | Convertir valores SNMP a JSON. | |
Valor de SNMP get | Aplicar opciones de formato al valor de obtención SNMP. | |
Multiplicador personalizado | Multiplica el valor por el valor entero o de punto flotante especificado. | Aritmética |
Cambio simple | Calcular la diferencia entre el valor actual y el anterior. | Cambiar |
Cambio por segundo | Calcular la velocidad de cambio de valor (diferencia entre el valor actual y el anterior) por segundo. | |
Booleano a decimal | Convierte el valor del formato booleano a decimal. | Sistemas numéricos |
Octal a decimal | Convierte el valor del formato octal a decimal. | |
Hexadecimal a decimal | Convierte el valor del formato hexadecimal a decimal. | |
JavaScript | Ingrese el código JavaScript. | Scripts personalizados |
In range | Define un rango en el que debe estar un valor. | Validación |
Coincide con expresión regular | Especifique una expresión regular con la que un valor debe coincidir. | |
No coincide con la expresión regular | Especifique una expresión regular con la que un valor no debe coincidir. | |
Compruebe si hay errores en JSON | Compruebe si hay un mensaje de error a nivel de aplicación ubicado en JSONPath. | |
Compruebe si hay errores en XML | Compruebe si hay un mensaje de error a nivel de aplicación ubicado en XPath. | |
Compruebe si hay errores usando una expresión regular | Compruebe si hay un mensaje de error a nivel de aplicación usando una expresión regular. | |
Compruebe si hay un valor no admitido | Compruebe si hubo un error al recuperar el valor del artículo. | |
Descartar sin cambios | Descartar un valor si no ha cambiado. | Limitación |
Descartar sin cambios con latido | Descartar un valor si no ha cambiado dentro del período de tiempo definido. | |
Patrón de Prometheus | Utilice la siguiente consulta para extraer los datos necesarios de las métricas de Prometheus. | Prometheus |
Prometheus a JSON | Convierta las métricas de Prometheus requeridas a JSON. |
Tenga en cuenta que para los pasos de preprocesamiento Cambiar y Acelerar, Zabbix tiene que recordar el último valor para calcular/comparar el nuevo valor. según sea necesario. Estos valores anteriores son manejados por el gestor de preprocesamiento. Si se reinicia el servidor o proxy Zabbix o hay algún cambio realizado a los pasos de preprocesamiento, el último valor de la métrica correspondiente se restablece, lo que resulta en:
Haga coincidir el valor con la expresión regular y reemplácelo con la salida requerida.
Parámetros:
Comentarios:
Busque la cadena de búsqueda y reemplácela por otra (o nada).
Parámetros:
Comentarios:
Elimina los caracteres especificados del principio y del final del valor.
Elimine los caracteres especificados del final del valor.
Elimina los caracteres especificados del principio del valor.
Extraiga valor o fragmento de datos XML utilizando la funcionalidad XPath.
Comentarios:
Ejemplos:
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 extract '<item><value>10</value></item>' from <document><item><value>10</value></item></document>
Extraiga un valor o fragmento de datos JSON usando la funcionalidad JSONPath.
Si marca la casilla de verificación Personalizado en caso de error, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor específico o establecer un mensaje de error específico. En caso de que falle un paso de preprocesamiento, la métrica no dejará de ser compatible si se selecciona la opción de descartar el valor o establecer un valor específico.
Convierta los datos del archivo CSV al formato JSON.
Para obtener más información, consulte: Preprocesamiento de CSV a JSON.
Convierte datos en formato XML a JSON.
Para obtener más información, consulte: Reglas de serialización.
Si marca la casilla de verificación Personalizado en caso de error, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor específico o establecer un mensaje de error específico. En caso de que falle un paso de preprocesamiento, la métrica no dejará de ser compatible si se selecciona la opción de descartar el valor o establecer un valor específico.
Extraiga el valor por el nombre OID/MIB especificado y aplique las opciones de formato:
' '
se reemplaza por ':'
);Si marca la casilla de verificación Personalizado en caso de error, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor específico o establecer un mensaje de error específico. En caso de que falle un paso de preprocesamiento, la métrica no dejará de ser compatible si se selecciona la opción de descartar el valor o establecer un valor específico.
Convierta valores SNMP a JSON.
Especifique un nombre de campo en el JSON y la ruta SNMP OID correspondiente. Los valores de los campos se completarán con los valores de la ruta OID SNMP especificada.
Comentarios:
Aplique opciones de formato al valor de obtención SNMP:
' '
se reemplaza por ':'
);Si marca la casilla de verificación Personalizado en caso de error, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor específico o establecer un mensaje de error específico. En caso de que falle un paso de preprocesamiento, la métrica no dejará de ser compatible si se selecciona la opción de descartar el valor o establecer un valor específico.
Multiplique el valor por el valor entero o de punto flotante especificado.
Comentarios:
1e+70
; macros de usuario y macros LLD; cadenas que incluyen macros, por ejemplo, {#MACRO}e+10
, {$MACRO1}e+{$MACRO2}
. Las macros deben resolverse en un número entero o de punto flotante.Calcule la diferencia entre el valor actual y el anterior.
Comentarios:
Calcule la velocidad de cambio de valor (diferencia entre el valor actual y el anterior) por segundo.
Comentarios:
Convierta el valor del formato booleano a decimal.
Comentarios:
Convierta el valor del formato octal a decimal.
Si marca la casilla de verificación Personalizado en caso de error, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor específico o establecer un mensaje de error específico. En caso de que falle un paso de preprocesamiento, la métrica no dejará de ser compatible si se selecciona la opción de descartar el valor o establecer un valor específico.
Convierta el valor del formato hexadecimal a decimal.
Si marca la casilla de verificación Personalizado en caso de error, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor específico o establecer un mensaje de error específico. En caso de que falle un paso de preprocesamiento, la métrica no dejará de ser compatible si se selecciona la opción de descartar el valor o establecer un valor específico.
Ingrese el código JavaScript en el editor modal que aparece al hacer clic en el campo de parámetro o en el ícono del lápiz que está a su lado.
Comentarios:
Defina un rango en el que debe estar un valor especificando valores mínimos/máximos (inclusive).
Comentarios:
Especifique una expresión regular con la que debe coincidir un valor.
Si marca la casilla de verificación Personalizado en caso de error, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor específico o establecer un mensaje de error específico. En caso de que un paso de preprocesamiento falle, la métrica no dejará de ser compatible si se selecciona la opción de descartar el valor o establecer un valor específico.
Especifique una expresión regular con la que un valor no debe coincidir.
Si marca la casilla de verificación Personalizado en caso de error, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor específico o establecer un mensaje de error específico. En caso de que falle un paso de preprocesamiento, la métrica no dejará de ser compatible si se selecciona la opción de descartar el valor o establecer un valor específico.
Busque un mensaje de error a nivel de aplicación ubicado en JSONPath. Detenga el procesamiento si tuvo éxito y el mensaje no está vacío; de lo contrario, continúe procesando con el valor que había antes de este paso de preprocesamiento.
Comentarios:
Busque un mensaje de error a nivel de aplicación ubicado en XPath. Detenga el procesamiento si tuvo éxito y el mensaje no está vacío; de lo contrario, continúe procesando con el valor que había antes de este paso de preprocesamiento.
Comentarios:
Busque un mensaje de error a nivel de aplicación utilizando una expresión regular. Detenga el procesamiento si tuvo éxito y el mensaje no está vacío; de lo contrario, continúe procesando con el valor que había antes de este paso de preprocesamiento.
Parámetros:
Comentarios:
Compruebe si no se pudo recuperar ningún valor de la métrica. Especifique cómo se debe procesar el error, basándose en la inspección del mensaje de error devuelto.
Parámetros:
Comentarios:
Descarta un valor si no ha cambiado.
Comentarios:
Descarta un valor si no ha cambiado dentro del período de tiempo definido (en segundos).
Comentarios:
Utilice la siguiente consulta para extraer los datos necesarios de las métricas de Prometheus.
Consulte Comprobaciones de Prometheus para obtener más detalles.
Convierta las métricas de Prometheus requeridas a JSON.
Consulte Comprobaciones de Prometheus para obtener más detalles.
Las macros de usuario y macros de usuario con contexto están soportadas en:
El contexto de la macro se ignora cuando una macro se reemplaza con su valor. El valor de la macro se inserta en el código tal cual, no es posible agregar escape adicional antes de colocar el valor en el código JavaScript. Tenga en cuenta que esto puede provocar errores de JavaScript en algunos casos.
Consulte pruebas de preprocesamiento.