Zabbix 4.2 lanzado

¡Nuestro equipo está muy feliz de compartir la noticia de que el lanzamiento del sistema gratuito de monitoreo de código abierto Zabbix 4.2 !



¿Es la versión 4.2 la respuesta a la pregunta principal de la vida, el universo y el monitoreo en general? A ver!

Recuerde que Zabbix es un sistema universal para monitorear el rendimiento y la disponibilidad de servidores, equipos de ingeniería y redes, aplicaciones, bases de datos, sistemas de virtualización, contenedores, servicios de TI y servicios web.

Zabbix implementa un ciclo completo desde la recopilación de datos, el procesamiento y la conversión, el análisis de los datos recibidos y la finalización con el almacenamiento de estos datos, la visualización y el envío de alertas mediante reglas de escalado. El sistema también ofrece opciones flexibles para expandir los métodos de recopilación de datos y alertas, así como las capacidades de automatización a través de la API. Una única interfaz web proporciona una gestión centralizada de las configuraciones de monitoreo y la distribución de los derechos de acceso a varios grupos de usuarios. El código del proyecto se distribuye libremente bajo la licencia GPLv2 .

Zabbix 4.2 es una nueva versión no LTS con un período de soporte oficial acortado. Se recomienda a los usuarios que se guían por un largo ciclo de operación de productos de software que usen versiones LTS, como 3.0 y 4.0.

Entonces, hablemos de las últimas actualizaciones y mejoras importantes de la versión 4.2:

Más plataformas oficiales



Además de los paquetes oficiales existentes, también ofrecemos nuevas compilaciones para:

  • RaspberryPi, Mac OS / X, SUSE Enterprise Linux Server 12
  • Agente MSI para Windows
  • Imágenes de Docker

Soporte Prometheus incorporado para monitoreo de aplicaciones


Zabbix puede recopilar datos de varias maneras (push / pull) de diferentes fuentes de datos. Estos son JMX, SNMP, WMI, HTTP / HTTPS, RestAPI, XML Soap, SSH, Telnet, agentes y scripts, y otras fuentes. ¡Ahora conoce el soporte de Prometheus!

Estrictamente hablando, la recopilación de datos de los exportadores de Prometheus fue posible antes gracias al tipo de elemento de datos HTTP / HTTPS y las expresiones regulares.

Sin embargo, la nueva versión permite trabajar con Prometheus de la manera más eficiente posible debido al soporte incorporado para el lenguaje de consulta PromQL. Y el uso de métricas dependientes le permite recopilar y procesar datos de manera más eficiente: una vez que solicita los datos y luego los distribuye de acuerdo con las métricas necesarias.


Obtenga el valor de una métrica específica

Es importante tener en cuenta que ahora el descubrimiento de bajo nivel puede usar los datos recopilados para crear métricas automáticamente. En este caso, Zabbix convierte los datos recibidos al formato JSON, que es muy conveniente para trabajar.


Encuentre métricas usando un filtro en el lenguaje de consulta PromQL

En este momento, hay más de 300 integraciones y recetas para monitorear servicios y aplicaciones de terceros que usan Zabbix. El soporte para Prometheus agregará una gama completa de aplicaciones que tienen exportadores de Prometheus oficiales o respaldados por la comunidad. Este es un monitoreo de servicios populares, contenedores y recursos en la nube.

Monitoreo eficiente de alta frecuencia


¿Queremos detectar problemas lo más rápido posible? Por supuesto, sin duda! Muy a menudo, este enfoque lleva al hecho de que necesitamos interrogar a los dispositivos y recopilar datos con demasiada frecuencia, lo que lleva a una mayor carga en el sistema de monitoreo. ¿Cómo evitar esto?

Implementamos el mecanismo de regulación en las reglas de preprocesamiento. Trotar, de hecho, nos permite omitir los mismos valores.

Supongamos que monitoreamos el estado de una aplicación crítica. Cada segundo, verificamos si nuestra aplicación está funcionando o no. En este caso, Zabbix recibe un flujo continuo de datos de 1 (funciona) y 0 (no funciona). Por ejemplo: 111111111111000111111111111111 ...

Cuando todo está en orden con nuestra aplicación, Zabbix recibe una transmisión de una sola unidad. ¿Necesito procesarlos? En general, no, porque solo estamos interesados ​​en cambiar el estado de la aplicación, no queremos recopilar y almacenar tantos datos. Por lo tanto, el trote le permite omitir un valor si es idéntico al anterior. Como resultado, solo obtenemos datos sobre el cambio de estado, por ejemplo, 01010101 ... ¡Hay suficiente información para detectar problemas!

Zabbix simplemente ignora los valores faltantes, no están escritos en el historial y no afectan a los desencadenantes de ninguna manera. Desde el punto de vista de Zabbix, los valores faltantes no existen.


Ignorar valores duplicados

Wow! Ahora podemos sondear dispositivos con mucha frecuencia, al tiempo que detectamos problemas instantáneamente sin almacenar información innecesaria en la base de datos.

¿Pero qué hay de los gráficos? ¡Estarán vacíos debido a la falta de datos! ¿Y cómo sabe si Zabbix recopila datos si se omite la mayoría de estos datos?

¡Pensamos en eso! Zabbix ofrece otro tipo de aceleración, aceleración con latidos del corazón.


Una vez por minuto verificamos si la métrica está viva

En este caso, Zabbix, a pesar del flujo repetido de datos, guardará al menos un valor en el intervalo de tiempo especificado. Si los datos se recopilan una vez por segundo, y el intervalo se establece en un minuto, Zabbix convertirá una secuencia de un segundo en una secuencia de un minuto. Es fácil ver que esto lleva a una compresión de 60 veces de los datos recibidos.

¡Ahora estamos seguros de que los datos se están recopilando, la función de disparo nodata () funciona y todo está en orden con los gráficos!

Validación de datos recopilados y manejo de errores.


Ninguno de nosotros quiere recopilar datos erróneos o inexactos. Por ejemplo, sabemos que un sensor de temperatura debe devolver datos entre 0 ° C y 100 ° C y cualquier otro valor debe considerarse erróneo y / o ignorado.

Ahora es posible con la ayuda de reglas de preprocesamiento incorporadas para la validación de datos para coincidencias o no expresiones regulares, rango de valores, JSONPath y XMLPath.

Ahora podemos controlar la respuesta al error. Si la temperatura está fuera de rango, simplemente podemos ignorar este valor, establecer el valor predeterminado (por ejemplo, 0 ° C) o definir nuestro propio mensaje de error, por ejemplo, "El sensor está dañado" o "Reemplace la batería".


La temperatura debe ser de 0 a 100, ignore el resto

Un buen ejemplo del uso de la validación es la capacidad de verificar la entrada para detectar la presencia de un mensaje de error y establecer este error para toda la métrica. Esta es una característica muy útil al recuperar datos de API externas.

Cualquier transformación de datos usando JavaScript


Si las reglas de preprocesamiento incorporadas no son suficientes para nosotros, ¡ahora ofrecemos total libertad utilizando scripts arbitrarios de JavaScript!


Solo una línea de código para convertir grados Fahrenheit a grados Celsius

Esto abre infinitas posibilidades para procesar datos entrantes. El beneficio práctico de esta funcionalidad es que ahora no necesitamos scripts externos que utilizamos para ninguna operación de datos. Ahora todo esto se puede hacer usando JavaScript.

¡Ahora es posible la transformación de datos, agregación, filtros, operaciones aritméticas y lógicas y mucho más!


¡Extraemos información útil de la salida de Apache mod_status!

Prueba de preprocesamiento


Ahora no necesitamos preguntarnos cómo funcionan nuestros complejos scripts de preprocesamiento. ¡Hubo una comprobación conveniente de la corrección del preprocesamiento directamente desde la interfaz!




¡Procesamos millones de métricas por segundo!


Antes de Zabbix 4.2, solo el servidor Zabbix se dedicaba al preprocesamiento, lo que limitaba la posibilidad de usar proxies para el equilibrio de carga.

A partir de la versión Zabbix 4.2, obtenemos una escala de carga increíblemente eficiente debido a la compatibilidad con el procesamiento profesional en el lado del proxy. ¡Ahora los proxies lo están haciendo!



En combinación con la limitación, este enfoque permite el monitoreo a gran escala de alta frecuencia y millones de comprobaciones por segundo, sin cargar el servidor central de Zabbix. Los proxies procesan grandes cantidades de datos, mientras que solo una pequeña fracción de ellos llega al servidor Zabbix debido a la aceleración, uno o dos órdenes de magnitud menos.

Detección de bajo nivel más simple


Recuerde que la detección de bajo nivel (LLD) es un mecanismo muy poderoso para detectar automáticamente cualquier tipo de recursos de monitoreo (sistemas de archivos, procesos, aplicaciones, servicios, etc.) y crear automáticamente elementos de datos, disparadores, nodos de red sobre su base y otros objetos Esto es increíblemente rápido, simplifica la configuración y le permite utilizar una plantilla para hosts que tienen diferentes recursos de monitoreo.

El descubrimiento de bajo nivel requiere una entrada JSON especialmente diseñada. ¡Eso es todo, ya no será!

Zabbix 4.2 permite que el descubrimiento de bajo nivel (LLD) utilice datos formateados JSON arbitrarios. ¿Por qué es esto importante? Esto permite, sin recurrir a scripts, comunicarse, por ejemplo, con API externas y utilizar la información recibida para crear automáticamente nodos de red, elementos de datos y disparadores.

Junto con el soporte de JavaScript, esto crea oportunidades fantásticas para crear plantillas para trabajar con varias fuentes de datos, como, por ejemplo, API en la nube, API de aplicaciones, datos en XML, formatos CSV, etc.


Asociar JSON con información de proceso con LLD

¡Las posibilidades son realmente infinitas!

Soporte de TimescaleDB





¿Qué es TimescaleDB? Este es un módulo de extensión PostgreSQL plus regular del equipo de TimescaleDB. TimescaleDB promete un mejor rendimiento con algoritmos y estructuras de datos más eficientes.

Además, otra ventaja de TimescaleDB es la partición automática de tablas con historial. ¡TimescaleDB es velocidad y facilidad de mantenimiento! Sin embargo, debo señalar que nuestro equipo aún no ha hecho una comparación seria de rendimiento con PostgreSQL regular.

Por el momento, TimescaleDB es un producto bastante joven y de rápido crecimiento. ¡Usar con precaución!

Fácil manejo de etiquetas


Si las etiquetas anteriores solo podían controlarse en el nivel de activación, ahora la administración de etiquetas es mucho más flexible. ¡Zabbix admite etiquetas para plantillas y hosts!

Todos los problemas detectados reciben etiquetas no solo del activador, sino también del host, así como las plantillas de este host.


Definir las etiquetas para el host.

Auto-registro más flexible


Zabbix 4.2 le permite filtrar hosts por nombre usando expresiones regulares. Esto hace posible crear diferentes scripts de descubrimiento para diferentes grupos de hosts. Es especialmente conveniente si utilizamos reglas complejas de nombres de dispositivos.

Descubrimiento de red más flexible


Otra mejora es el nombramiento de hosts. Ahora puede administrar los nombres de los dispositivos durante el descubrimiento de la red y obtener el nombre del dispositivo a partir del valor de la métrica.

Esta es una funcionalidad muy necesaria, especialmente para el descubrimiento de redes utilizando SNMP y el agente Zabbix.


Asigna automáticamente el nombre de host local al nombre visible

Comprobación de la operatividad de los métodos de notificación


Ahora, directamente desde la interfaz web, puede enviarse un mensaje de prueba y verificar si el método de notificación funciona. Esta funcionalidad es especialmente útil para verificar scripts que combinan Zabbix con varios sistemas de advertencia, sistemas de tareas y otros programas externos y API.



Monitoreo remoto de componentes de infraestructura Zabbix


Ahora puede supervisar de forma remota el servidor interno de Zabbix y las métricas de proxy (métricas de rendimiento y estado de los componentes de Zabbix).

¿Para qué es esto? La funcionalidad le permite monitorear las métricas internas de servidores y servidores proxy desde el exterior, le permite detectar y notificar rápidamente sobre problemas incluso si los componentes mismos están sobrecargados o, por ejemplo, se envía una gran cantidad de datos no enviados al proxy.

Soporte de formato HTML para mensajes de correo electrónico


Ahora no estamos limitados a texto simple y podemos formar hermosos mensajes de correo electrónico, gracias al soporte del formato HTML. ¡Es hora de aprender HTML + CSS!


Los mensajes son más fáciles de leer incluso con un uso mínimo de HTML

Acceso a sistemas externos desde tarjetas de interfaz de red


Hay soporte para un conjunto completo de nuevas macros en URL personalizadas para una mejor integración de mapas con sistemas externos. Esto permite uno o dos clics en el icono del host para abrir, por ejemplo, un ticket en el sistema de tareas.


Un clic para abrir una entrada en Jira

La regla de descubrimiento puede ser un elemento de datos dependiente.


¿Por qué necesitas esto? Preguntas. Esto permite el uso de datos métricos básicos para la detección y la recolección directa de datos. Por ejemplo, en el caso de recopilar datos del exportador Prometheus, Zabbix realizará una solicitud HTTP e inmediatamente usará la información recibida para todos los elementos de datos dependientes: valores métricos y reglas de descubrimiento de bajo nivel.

Una nueva forma de visualizar problemas en mapas


El soporte para imágenes GIF animadas en mapas ha aparecido para una visualización más visible de los problemas.


Los dispositivos con problemas se vuelven más visibles

Recuperación de datos de encabezados HTTP en monitoreo web


En la supervisión web, se ha agregado la capacidad de seleccionar datos del encabezado HTTP recibido.

Esto le permite crear scripts de varios pasos para el monitoreo web o el monitoreo de API de terceros utilizando el token de autorización obtenido en uno de los pasos.


Extraer AuthID del encabezado HTTP

Zabbix Sender usa todas las direcciones IP


Zabbix Sender ahora envía datos a todas las direcciones IP desde el parámetro ServerActive del archivo de configuración del agente.



Nuevo filtro conveniente en la configuración del disparador


La página de configuración del disparador tiene un filtro avanzado para una selección rápida y conveniente de disparadores de acuerdo con los criterios especificados.


Elija disparadores relacionados con el servicio K8S

Mostramos la hora exacta


Es simple, ahora Zabbix muestra la hora exacta cuando pasa el mouse sobre el gráfico.



Otras innovaciones


  • Implementado un algoritmo más predecible para cambiar el orden de los widgets en el tablero (panel)
  • La capacidad de cambiar en masa los parámetros de los prototipos de elementos de datos.
  • Compatibilidad con IPv6 para comprobaciones de DNS: "net.dns" y "new.dns.record"
  • Se agregó el parámetro de omisión para las comprobaciones de vmware.eventlog
  • El error de ejecución del paso de preprocesamiento incluye el número de paso

¿Cómo actualizar?


Para migrar desde versiones anteriores, solo necesita instalar nuevos archivos binarios (servidor y proxy) y una nueva interfaz. Zabbix actualizará automáticamente la base de datos. No se requiere la instalación de nuevos agentes.

Llevamos a cabo seminarios web gratuitos para aquellos que quieran aprender más sobre Zabbix 4.2 y poder hacer preguntas al equipo de Zabbix. Regístrate!

No se olvide del popular canal Telegram de la comunidad de Zabbix, donde siempre puede obtener consejos y respuestas a sus preguntas en ruso de colegas más experimentados y, si tiene suerte, de los propios desarrolladores de Zabbix. Para principiantes, recomendamos un grupo para principiantes .

Enlaces utiles


- Notas de la versión
- Notas de actualización
- Artículo original

Source: https://habr.com/ru/post/444894/


All Articles