Zabbix 4.2 lanzado

Nuestro equipo está muy contento de compartir la noticia de que se ha lanzado un sistema de monitoreo gratuito y de código abierto. Zabbix 4.2!

Zabbix 4.2 lanzado

¿Es la versión 4.2 la respuesta a la pregunta principal sobre la vida, el universo y la monitorización en general? ¡Echemos un vistazo!

Recordemos que Zabbix es un sistema universal para monitorear el rendimiento y 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, su procesamiento y transformación, el análisis de los datos recibidos y el almacenamiento final de estos datos, la visualización y el envío de alertas mediante reglas de escalamiento. El sistema también ofrece opciones flexibles para ampliar los métodos de alerta y recopilación de datos, así como capacidades de automatización a través de API. Una única interfaz web implementa la gestión centralizada de las configuraciones de monitoreo y la distribución de derechos de acceso a varios grupos de usuarios. El código del proyecto se distribuye gratuitamente bajo licencia. GPLv2.

Zabbix 4.2 es una nueva versión no LTS con un período de soporte oficial reducido. Para los usuarios que se centran en un ciclo de vida largo de productos de software, recomendamos utilizar versiones LTS, como 3.0 y 4.0.

Entonces, hablemos de las nuevas funciones y mejoras importantes de la versión 4.2:

Más plataformas oficiales

Zabbix 4.2 lanzado
Además de los paquetes oficiales existentes, también ofrecemos nuevas versiones para:

  • RaspberryPi, Mac OS/X, SUSE Enterprise Linux Servidor 12
  • Agente MSI para Windows
  • Imágenes acoplables

Soporte integrado de Prometheus para monitoreo de aplicaciones

Zabbix puede recopilar datos de varias formas (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 conozca el soporte de Prometheus!

Estrictamente hablando, en el pasado era posible recopilar datos de los exportadores de Prometheus gracias al tipo de elemento de datos HTTP/HTTPS y a las expresiones regulares.

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

Zabbix 4.2 lanzado
Obtener el valor de una métrica específica

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

Zabbix 4.2 lanzado
Encontrar métricas usando un filtro en el lenguaje de consulta PromQL

De momento hay más 300 integraciones y recetas de seguimiento servicios y aplicaciones de terceros que utilizan Zabbix. El soporte de Prometheus le permitirá agregar un conjunto completo de aplicaciones que tienen exportadores de Prometheus oficiales o respaldados por la comunidad. Se trata de seguimiento de servicios populares, contenedores y recursos en la nube.

Monitoreo efectivo de alta frecuencia

¿Queremos detectar problemas lo más rápido posible? ¡Por supuesto, sin duda! La mayoría de las veces, este enfoque nos obliga a sondear dispositivos y recopilar datos con demasiada frecuencia, lo que supone una mayor carga para el sistema de seguimiento. ¿Cómo evitar esto?

Hemos implementado un mecanismo de limitación en las reglas de preprocesamiento. La limitación, en esencia, nos da la oportunidad de omitir valores idénticos.

Supongamos que estamos monitoreando el estado de una aplicación crítica. Cada segundo comprobamos si nuestra aplicación funciona o no. Al mismo tiempo, Zabbix recibe un flujo continuo de datos de 1 (funcionando) y 0 (no funcionando). Por ejemplo: 1111111111110001111111111111…

Cuando todo está en orden con nuestra aplicación, Zabbix recibe un flujo de solo unos. ¿Necesitan ser procesados? En general no, porque solo nos interesa cambiar el estado de la aplicación, no queremos recopilar y almacenar tantos datos. Por lo tanto, la limitación le permite omitir un valor si es idéntico al anterior. Como resultado, solo recibiremos datos sobre el cambio de estado, por ejemplo, 01010101... ¡Esta es información suficiente para detectar problemas!

Zabbix simplemente ignora los valores faltantes, no se registran en el historial y no afectan los activadores de ninguna manera. Desde el punto de vista de Zabbix, no faltan valores.

Zabbix 4.2 lanzado
Ignorar valores duplicados

¡Excelente! Ahora podemos sondear dispositivos con mucha frecuencia y detectar problemas instantáneamente sin almacenar información innecesaria en una base de datos.

¿Qué pasa con los gráficos? ¡Estarán vacíos por falta de datos! ¿Y cómo puede saber si Zabbix está recopilando datos si faltan la mayoría de estos datos?

¡Nosotros también pensamos en eso! Zabbix ofrece otro tipo de aceleración, la aceleración con latidos del corazón.

Zabbix 4.2 lanzado
Una vez por minuto comprobamos si la métrica está activa.

En este caso, Zabbix, a pesar del flujo de datos repetido, almacenará 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á el flujo de unidades de cada segundo en un flujo de cada minuto. Es fácil ver que esto conduce a una compresión de 60 veces los datos recibidos.

¡Ahora estamos seguros de que los datos se están recopilando, la función de activación nodata() está funcionando y todo está bien con los gráficos!

Validación de datos recopilados y manejo de errores.

Ninguno de nosotros quiere recopilar datos erróneos o poco fiables. Por ejemplo, sabemos que un sensor de temperatura debería devolver datos entre 0°C y 100°C y cualquier otro valor debería considerarse falso y/o ignorarse.

Ahora esto es posible utilizando reglas de validación de datos integradas en el preprocesamiento para el cumplimiento o no cumplimiento de expresiones regulares, rangos de valores, JSONPath y XMLPath.

Ahora podemos controlar la reacción al error. Si la temperatura está fuera de rango, podemos simplemente ignorar dicho valor, establecer un valor predeterminado (por ejemplo, 0 °C) o definir nuestro propio mensaje de error, por ejemplo, "Sensor dañado" o "Reemplazar batería".

Zabbix 4.2 lanzado
La temperatura debe ser de 0 a 100, ignora el resto.

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

Cualquier transformación de datos usando JavaScript.

Si las reglas de preprocesamiento integradas no fueran suficientes para nosotros, ahora ofrecemos total libertad al usar scripts JavaScript personalizados.

Zabbix 4.2 lanzado
Sólo una línea de código para convertir Fahrenheit a Celsius

Esto abre infinitas posibilidades para procesar los datos entrantes. El beneficio práctico de esta funcionalidad es que ya no necesitamos los scripts externos que usábamos para realizar ninguna manipulación de datos. Ahora todo esto se puede hacer usando JavaScript.

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

Zabbix 4.2 lanzado
¡Extrayendo información útil de la salida de Apache mod_status!

Prueba de preprocesamiento

Ahora no tenemos que adivinar cómo funcionan nuestros complejos scripts de preprocesamiento. ¡Ahora existe una forma cómoda de comprobar si el preprocesamiento funciona correctamente directamente desde la interfaz!

Zabbix 4.2 lanzado

¡Procesamos millones de métricas por segundo!

Antes de Zabbix 4.2, el preprocesamiento lo manejaba exclusivamente el servidor Zabbix, lo que limitaba la capacidad de usar servidores proxy para la distribución de carga.

A partir de Zabbix 4.2, obtenemos un escalado de carga increíblemente eficiente mediante la compatibilidad con el preprocesamiento del lado proxy. ¡Ahora los proxy lo hacen!

Zabbix 4.2 lanzado

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

Descubrimiento de bajo nivel más sencillo

Recuerde que el descubrimiento de bajo nivel (LLD) es un mecanismo muy poderoso para descubrir automáticamente cualquier tipo de recursos de monitoreo (sistemas de archivos, procesos, aplicaciones, servicios, etc.) y crear automáticamente elementos de datos, activadores, nodos de red basados ​​en ellos y otros. objetos. Esto ahorra un tiempo increíble, simplifica la configuración y permite utilizar una plantilla en hosts con diferentes recursos de monitoreo.

El descubrimiento de bajo nivel requería JSON con formato especial como entrada. ¡Eso es todo, ya no volverá a suceder!

Zabbix 4.2 permite el descubrimiento de bajo nivel (LLD) para utilizar datos arbitrarios en formato JSON. ¿Por qué es importante? Esto le permite comunicarse, por ejemplo, con API externas sin recurrir a scripts y utilizar la información recibida para crear automáticamente hosts, elementos de datos y activadores.

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

Zabbix 4.2 lanzado
Vinculando JSON con información sobre procesos con LLD

¡Las posibilidades son realmente infinitas!

Soporte de escala de tiempo DB

Zabbix 4.2 lanzado

¿Qué es TimescaleDB? Este es PostgreSQL normal más un módulo de extensión del equipo de TimescaleDB. TimescaleDB promete un mejor rendimiento debido a 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 rápido y fácil de mantener! Sin embargo, debo señalar que nuestro equipo aún no ha realizado una comparación seria de rendimiento con PostgreSQL normal.

Por el momento, TimescaleDB es un producto bastante joven y en rápido desarrollo. ¡Úselo con precaución!

Fácil gestión de etiquetas

Si antes las etiquetas sólo se podían gestionar en el nivel de activación, ahora la gestión de etiquetas es mucho más flexible. ¡Zabbix admite etiquetas para plantillas y hosts!

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

Zabbix 4.2 lanzado
Definir etiquetas para un nodo de red

Registro automático más flexible

Zabbix 4.2 le permite filtrar hosts por nombre usando expresiones regulares. Esto permite crear diferentes escenarios de detección para diferentes grupos de nodos de red. Es especialmente conveniente si utilizamos reglas complejas de nomenclatura de dispositivos.

Descubrimiento de red más flexible

Otra mejora se refiere a la denominación de los nodos de la red. Ahora es posible administrar los nombres de los dispositivos durante el descubrimiento de la red y obtener el nombre del dispositivo a partir de un valor métrico.

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

Zabbix 4.2 lanzado
Asigne automáticamente el nombre del host local a un nombre visible

Comprobación de la funcionalidad de los métodos de notificación.

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

Zabbix 4.2 lanzado

Monitoreo remoto de los componentes de la infraestructura de Zabbix.

Ahora es posible monitorear de forma remota las métricas internas del servidor y proxy de Zabbix (métricas de rendimiento y estado de los componentes de Zabbix).

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

Soporte de formato HTML para mensajes de correo electrónico

Ahora no estamos limitados al texto plano y podemos crear hermosos mensajes de correo electrónico gracias a la compatibilidad con el formato HTML. ¡Es hora de aprender HTML + CSS!

Zabbix 4.2 lanzado
Los mensajes son más fáciles de entender incluso con un uso mínimo de HTML

Acceso a sistemas externos desde tarjetas de red.

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

Zabbix 4.2 lanzado
Abre un ticket en Jira con un clic

Una regla de descubrimiento puede ser un elemento de datos dependiente

¿Por qué es necesario? Preguntas. Esto permite que los datos de métricas subyacentes se utilicen tanto para el descubrimiento como para la recopilación directa de datos. Por ejemplo, en el caso de recopilar datos de un exportador de Prometheus, Zabbix realizará una solicitud HTTP e inmediatamente utilizará 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

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

Zabbix 4.2 lanzado
Los dispositivos problemáticos se han vuelto más visibles

Extracción de datos de encabezados HTTP en monitoreo web

En Web Monitoring, se agregó la capacidad de seleccionar datos del encabezado HTTP recibido.

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

Zabbix 4.2 lanzado
Extrayendo AuthID del encabezado HTTP

Zabbix Sender utiliza todas las direcciones IP

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

Zabbix 4.2 lanzado

Nuevo filtro conveniente en configuración de disparador

La página de configuración de activadores ahora tiene un filtro ampliado para una selección rápida y conveniente de activadores según criterios específicos.

Zabbix 4.2 lanzado
Seleccionar disparadores relacionados con el servicio K8S

Mostrar la hora exacta

Aquí todo es simple, ahora Zabbix muestra la hora exacta cuando pasa el mouse sobre el gráfico.

Zabbix 4.2 lanzado

Otras innovaciones

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

¿Cómo actualizo?

Para actualizar desde versiones anteriores, sólo necesita instalar nuevos binarios (servidores y proxies) y una nueva interfaz. Zabbix actualizará automáticamente la base de datos. No es necesario instalar nuevos agentes.

Estamos organizando seminarios web gratuitos para aquellos que quieran aprender más sobre Zabbix 4.2 y tener la oportunidad de hacer preguntas al equipo de Zabbix. ¡Inscribirse!

No te olvides de lo popular canal de telegramas Comunidad Zabbix, donde siempre podrás obtener consejos y respuestas a tus preguntas en ruso de colegas más experimentados y, si tienes suerte, de los propios desarrolladores de Zabbix. Recomendado para principiantes grupo para principiantes.

Enlaces de interés

- Notas de la versión
- Actualizar notas
- Artículo original

Fuente: habr.com

Añadir un comentario