
Monitoriza tus certificados HTTPS con Zabbix
junio 19, 2019
Monitorización de servidores con tecnologías iLO (HP), iDRAC (DELL) e IPMI con Zabbix
enero 12, 2020
Mejoras y novedades en Zabbix 4.4
Uno de los componentes de nuestra herramienta, Minerva, ha sacado una nueva actualización, la versión 4.4. Vamos a proceder a explicar algunas de las novedades más útiles que nos ofrece la misma.
Entre las mejoras de este nuevo agente se encuentran una optimización de uso de conexiones TCP, reutilizándolas para enviar varios items en una misma conexión, con la consiguiente disminución del número de conexiones creadas, optimizando los recursos tanto del agente como de la red.
Una mejora importante para los agentes activos es la capacidad de poder crear intervalos programables igual que en el servidor, es decir, poder programar un ítem para que solo envíe valores en los intervalos especificados, por ejemplo, de lunes a viernes de 9 a 17. Así evitamos el envío de datos innecesarios y su almacenado.
Otra mejora importante es la capacidad de mantener la conexión con los servicios, por ejemplo, bases de datos, para poder indicar si hubo una caída entre dos conexiones e informar a Zabbix de ello. Con el agente anterior si dos comprobaciones consecutivas daban que existía conexión, no te enterarías nunca de la caída del servicio.
Por el momento, este nuevo agente solamente está disponible para algunas versiones Linux.
Por una lado tenemos las mejoras en la parte de las tablas de visualización. Las cuales principalmente consisten en añadir o modificar datos de las tablas. Por un lado, en las tablas de “problemas” y “Últimos datos” se añadió la descripción de las alertas o ítems para una mayor facilidad de identificación de los mismos.
Agente
Por primera vez, en mucho tiempo (básicamente desde la versión 1.0), tenemos un nuevo agente. Este nuevo agente estará escrito en GO, aunque reciclará cosas del agente anterior, el cual estaba escrito en C. Por el momento, ambos agentes estarán disponibles, aunque con el tiempo este último sustituirá al anterior.Entre las mejoras de este nuevo agente se encuentran una optimización de uso de conexiones TCP, reutilizándolas para enviar varios items en una misma conexión, con la consiguiente disminución del número de conexiones creadas, optimizando los recursos tanto del agente como de la red.
Una mejora importante para los agentes activos es la capacidad de poder crear intervalos programables igual que en el servidor, es decir, poder programar un ítem para que solo envíe valores en los intervalos especificados, por ejemplo, de lunes a viernes de 9 a 17. Así evitamos el envío de datos innecesarios y su almacenado.
Otra mejora importante es la capacidad de mantener la conexión con los servicios, por ejemplo, bases de datos, para poder indicar si hubo una caída entre dos conexiones e informar a Zabbix de ello. Con el agente anterior si dos comprobaciones consecutivas daban que existía conexión, no te enterarías nunca de la caída del servicio.
Por el momento, este nuevo agente solamente está disponible para algunas versiones Linux.
Gui
Por la parte de visualización de datos hubo bastante mejoras menores y una bastante notable. Vamos a proceder a empezar por las menores y por último comentaremos la mejora importante.Por una lado tenemos las mejoras en la parte de las tablas de visualización. Las cuales principalmente consisten en añadir o modificar datos de las tablas. Por un lado, en las tablas de “problemas” y “Últimos datos” se añadió la descripción de las alertas o ítems para una mayor facilidad de identificación de los mismos.

Por otro lado, en la sección de problemas, se añadió una característica interesante, que consiste en poder escribir un texto personalizado (ya sea con un texto predefinido con nosotros, con el valor de las variables monitorizadas o con una combinación de ambas) que se verá en la tabla. Con ello facilitaremos ver el valor de la variable monitorizada para entender mejor la gravedad de la alerta correspondiente.
En la tabla de “equipos”, se eliminará el molesto formato actual de “{PROXY}:{HOST}” para los equipos que están monitorizados por un proxy, saliendo solamente el nombre del equipo. Para compensar ésto, se ampliará la tabla en una columna. En esta columna saldrá el nombre del proxy que monitorice un equipo. Con este cambio conseguimos una mayor claridad al buscar los equipos. A la vez que se ve de manera más clara cuales son lo equipos que monitoriza cada proxy.
Por otro lado, en el apartado de “Macros”, ahora hay un nuevo campo en las macros. Éste campo es la descripción, el cual es útil para evitar los nombres largos en las macros para hacerlas muy descriptivas. Ahora podremos tener macros de una longitud normal, apoyadas por una descripción completa.
Finalmente, vamos a hablar del cambio importante dentro de la visualización. Esta nueva funcionalidad es un gráfico de barras. Ésto permite crear pantallas de visualización más variadas. De todas formas, estas pantallas siguen siendo bastante limitadas, por lo que siguen siendo poco útiles, lo que nos obliga a delegar esta visualización en otras plataformas, como podría ser Grafana.
Por la parte de las alertas también incorporan una nueva macro, que representa el ID del evento asociado al problema. Lo cual es muy útil para automatizar el creado de tareas, al poder especificar exactamente cual es el ID del problema a resolver.
Por la parte de las reglas de descubrimiento, se añaden un par de nuevas opciones de preprocesado. Una de ellas, que puede ser interesante, es el “XML Path”, que amplía el número de formatos que entienden estas reglas. Otra opción que añaden es el “CSV to JSON”, que cumple las mismas características que el anterior, aunque con la ventaja de que, al transformarlo a JSON, puedes aplicar todas las opciones que éstos tienen asociados. Esta última opción también se añade al preprocesado de los items.
Se amplía el número de ítems dependientes que pueden tener un simple ítem. Este valor pasa de 999 a 29999. Como vemos es un aumento sustancial que puede venir bien con el siguiente punto.
Para los ítems, se crea una nueva clave para un monitor de base de datos. Ésta clave, llamada “db.odbc.get”, hace posible que una consulta a la base de datos pueda devolver varias filas para ser analizadas. Ésto viene bien junto al anterior punto porque de una sola consulta podemos sacar muchas filas (salen en formato JSON) y luego hacer muchos ítems dependientes. Así evitamos muchas consultas innecesarias a la base de datos.
Finalmente, ahora puedes autoregistrar los equipos como antes pero que se registren con el dominio DNS, en vez de con la IP, por si tienes algún equipo que pueda variar esta IP.
Tampoco son nada desdeñables las nuevas implementaciones en la parte de procesado de datos, que facilitarán la tarea de como mandar los datos a Zabbix. Muchas de ellas están centradas en no tener que andar traduciendo entre formatos, que es una de las tareas más molestas de la recogida de datos.
La verdad es que la nueva versión tiene muchas mejoras interesantes. Vamos a ver que mejoras nos depara Zabbix en versiones futuras.
En la tabla de “equipos”, se eliminará el molesto formato actual de “{PROXY}:{HOST}” para los equipos que están monitorizados por un proxy, saliendo solamente el nombre del equipo. Para compensar ésto, se ampliará la tabla en una columna. En esta columna saldrá el nombre del proxy que monitorice un equipo. Con este cambio conseguimos una mayor claridad al buscar los equipos. A la vez que se ve de manera más clara cuales son lo equipos que monitoriza cada proxy.
Por otro lado, en el apartado de “Macros”, ahora hay un nuevo campo en las macros. Éste campo es la descripción, el cual es útil para evitar los nombres largos en las macros para hacerlas muy descriptivas. Ahora podremos tener macros de una longitud normal, apoyadas por una descripción completa.
Finalmente, vamos a hablar del cambio importante dentro de la visualización. Esta nueva funcionalidad es un gráfico de barras. Ésto permite crear pantallas de visualización más variadas. De todas formas, estas pantallas siguen siendo bastante limitadas, por lo que siguen siendo poco útiles, lo que nos obliga a delegar esta visualización en otras plataformas, como podría ser Grafana.
Base de datos
Se añade soporte para una nueva base de datos. Ésta base de datos se llama TimescaleDB. Esta base de datos, construida sobre Postgres, se especializa en el análisis de datos temporales, por lo que sería la base de datos perfecta para Zabbix. Esperemos que mejore el rendimiento de la plataforma.Exportación
Se simplifica mucho la exportación de ficheros. Se eliminan muchos datos innecesarios, es decir, con valores por defecto o directamente sin valor. Por otro lado, reemplazan muchos valores numéricos por su correspondencia en texto, para hacerlo más fácilmente entendible y editable directamente, sin tener que recurrir a la propia interfaz de Zabbix.Servidor
Uno de los cambios más importantes es la ampliación de las capacidades de las alertas al incorporar el motor de JavaScript a Zabbix. De esta manera, no se depende tanto de los scripts externos, lo que ayuda a mantener toda la lógica posible dentro de Zabbix, lo que facilita mucho el mantenimiento de las alertas.Por la parte de las alertas también incorporan una nueva macro, que representa el ID del evento asociado al problema. Lo cual es muy útil para automatizar el creado de tareas, al poder especificar exactamente cual es el ID del problema a resolver.
Por la parte de las reglas de descubrimiento, se añaden un par de nuevas opciones de preprocesado. Una de ellas, que puede ser interesante, es el “XML Path”, que amplía el número de formatos que entienden estas reglas. Otra opción que añaden es el “CSV to JSON”, que cumple las mismas características que el anterior, aunque con la ventaja de que, al transformarlo a JSON, puedes aplicar todas las opciones que éstos tienen asociados. Esta última opción también se añade al preprocesado de los items.
Se amplía el número de ítems dependientes que pueden tener un simple ítem. Este valor pasa de 999 a 29999. Como vemos es un aumento sustancial que puede venir bien con el siguiente punto.
Para los ítems, se crea una nueva clave para un monitor de base de datos. Ésta clave, llamada “db.odbc.get”, hace posible que una consulta a la base de datos pueda devolver varias filas para ser analizadas. Ésto viene bien junto al anterior punto porque de una sola consulta podemos sacar muchas filas (salen en formato JSON) y luego hacer muchos ítems dependientes. Así evitamos muchas consultas innecesarias a la base de datos.
Finalmente, ahora puedes autoregistrar los equipos como antes pero que se registren con el dominio DNS, en vez de con la IP, por si tienes algún equipo que pueda variar esta IP.
Conclusiones
Muchas de las mejoras vistas serán muy útiles a los usuarios habituales de la plataforma, sobretodo las centradas en la mejora de las tablas donde se muestran los datos de la monitorización. Que no por ser simple, dejan de ser menos efectivas, consiguiendo que se facilite bastante el trabajo.Tampoco son nada desdeñables las nuevas implementaciones en la parte de procesado de datos, que facilitarán la tarea de como mandar los datos a Zabbix. Muchas de ellas están centradas en no tener que andar traduciendo entre formatos, que es una de las tareas más molestas de la recogida de datos.
La verdad es que la nueva versión tiene muchas mejoras interesantes. Vamos a ver que mejoras nos depara Zabbix en versiones futuras.

CEO & MANAGING DIRECTOR
Experto en monitorización IT, sistemas y redes.
Minerva es nuestra plataforma enterprise-grade de monitorización basada en Zabbix y Grafana.
¡Te ayudamos a monitorizar tus equipos de red, comunicaciones y sistemas!
Suscríbete a nuestra Newsletter