Esta sección proporciona detalles del preprocesamiento del valor del item. El valor del item El preprocesamiento permite definir y ejecutar transformación reglas para los valores de los elementos recibidos.
El preprocesamiento lo gestiona el proceso del administrador de preprocesamiento junto con los trabajadores de preprocesamiento que realizan los pasos de preprocesamiento. Todos los valores (con o sin preprocesamiento) de diferentes recolectores de datos pasan por el administrador de preprocesamiento antes se agrega al caché del historial. Se utiliza comunicación IPC basada en sockets. entre los recolectores de datos (encuestadores, tramperos, etc.) y el preprocesamiento proceso. Ya sea el servidor Zabbix o el proxy Zabbix (para los elementos monitoreados por el proxy) realiza los pasos de preprocesamiento.métricamétrica
Para visualizar el flujo de datos desde la fuente de datos a la base de datos Zabbix, podemos utilizar el siguiente diagrama simplificado:
El diagrama anterior muestra solo procesos, objetos y acciones relacionados con el procesamiento del valor de la métrica en forma simplificada. El diagrama no muestra cambios de dirección condicionales, manejo de errores o bucles. La caché de datos locales del administrador de preprocesamiento tampoco se muestra porque no afecta directamente el flujo de datos. El objetivo de este diagrama es mostrar los procesos. involucrados en el procesamiento del valor de la métrica y la forma en que interactúan.
Una métrica puede cambiar su estado a NO SOPORTADA mientras se realiza el preprocesamiento si alguno de los pasos de preprocesamiento falla.
Una métrica puede cambiar su estado a NO SOPORTADA si falla la normalización de datos (por ejemplo, cuando un valor textual no se puede convertir a número).
El preprocesamiento de datos se realiza en los siguientes pasos:
Tenga en cuenta que el diagrama el preprocesamiento de la métrica principal se simplifica ligeramente al omitir el almacenamiento en caché del preprocesamiento.
El procesamiento del valor del artículo se ejecuta en múltiples pasos (o fases) mediante múltiples procesos. Esto puede causar:
Como resultado, el artículo dependiente recibe un valor, mientras que el artículo maestro cambia su estado es NO SOPORTADO.
La cola de preprocesamiento está organizada como:
El almacenamiento en caché del preprocesamiento se introdujo para mejorar el rendimiento del preprocesamiento de múltiples métricas dependientes que tienen pasos de preprocesamiento similares (que es un resultado LLD común).
El almacenamiento en caché se realiza preprocesando una métrica dependiente y reutilizando algunos de los datos de preprocesamiento interno para el resto de las métricas dependientes. La caché de preprocesamiento solo se admite para el primer paso de preprocesamiento de los siguientes tipos:
[?(@.path == "value")]
)El archivo de configuración del servidor Zabbix permite a los usuarios establecer el recuento de subprocesos de trabajo de preprocesamiento. El parámetro de configuración StartPreprocessors debe usarse para establecer el número de instancias iniciadas previamente de trabajadores de preprocesamiento. El número óptimo de trabajadores de preprocesamiento puede ser determinado por muchos factores, incluido el recuento de métricas "preprocesables" (métricas que requieren ejecutar algún paso de preprocesamiento), el recuento de procesos de recopilación de datos, el recuento promedio de pasos para el preprocesamiento de métricas, etc.
Pero suponiendo que no haya operaciones de preprocesamiento pesadas, como analizar grandes fragmentos XML/JSON, la cantidad de trabajadores de preprocesamiento puede coincidir con la cantidad total de recolectores de datos. De esta manera, en la mayoría de los casos (excepto en los casos en que los datos del recopilador llegan en masa) habrá al menos un trabajador de preprocesamiento desocupado para los datos recopilados.
Demasiados procesos de recopilación de datos (sondeadores, sondeadores inalcanzables, sondeadores ODBC, sondeadores HTTP, sondeadores Java, pingers, tramppers, proxypollers) junto con el administrador IPMI, el capturador SNMP y los trabajadores de preprocesamiento pueden agotar el límite de descriptores de archivos por proceso para el administrador de preprocesamiento.
Agotar el límite de descriptores de archivos por proceso hará que el servidor Zabbix se detenga, generalmente poco después del inicio, pero a veces demora más. Para evitar tales problemas, revise el archivo de configuración del servidor Zabbix para optimizar la cantidad de comprobaciones y procesos simultáneos. Además, si es necesario, asegúrese de que el límite del descriptor de archivo esté establecido lo suficientemente alto verificando y ajustando los límites del sistema.