A mediados de mayo se lanzó Zabbix 5.0 y organizamos una serie de reuniones en línea en diferentes idiomas para demostrar visualmente todos los cambios e innovaciones a la comunidad. Te invitamos a leer el informe del Director Ejecutivo y creador de Zabbix Alexey Vladyshev, en el que cuenta paso a paso las novedades de Zabbix 5.0.
Zabbix 4.2 y Zabbix 4.4
Empecemos por los cambios introducidos en Zabbix 4.0 debido al uso de versiones LTS.
En la versión de Zabbix 4.2, lanzada en abril de 2019, aparecieron las siguientes características:
Monitoreo de aceleración de alta frecuencia que escala y aumenta NVPS, lo que significa una detección y alertas de problemas más rápidas sin una carga pesada en Zabbix.
Recopilación de datos mediante un agente HTTP.
Soporte de recopilación de datos de Prometheus Pro.
El preprocesamiento admite validación y JavaScript, lo que le permite transformar cualquier dato recopilado.
Preprocesamiento en el lado del proxy, que permite un escalado más eficiente utilizando proxies.
Gestión de etiquetas mejorada: metainformación a nivel de eventos y problemas con la que es conveniente trabajar, porque las etiquetas se admiten tanto a nivel de plantilla como a nivel de host.
En septiembre del año pasado se lanzó Zabbix 4.4, que ofrecía las siguientes características:
Nuevo agente de Zabbix.
Soporte de webhook para alertas y notificaciones, permitiendo la integración con sistemas externos.
Soporte de TimescaleDB.
La base de conocimientos integrada para métricas y activadores se ha vuelto visible para los usuarios de Zabbix. Por ejemplo, los usuarios pueden utilizar la descripción de elementos y activadores en Monitoreo > Últimos datos.
El nuevo estándar para plantillas.
Zabbix 5.0
Hoy hablaremos sobre la versión LTS de Zabbix 5.0, que tendrá soporte durante 5 años. El soporte para la versión 4.4 finaliza después de un mes. La versión LTS de Zabbix 3.0 será compatible durante otros 3,5 años.
Zabbix proporciona seguimiento de muchas cosas, cuya lista se puede especificar en la página http://www.zabbix.com/integrations, donde se presentan plantillas y complementos de monitoreo, incluso para el nuevo agente.
Plantillas disponibles para monitoreo e integración
Además, existen opciones de integración con varios sistemas, incluidos sistemas de tickets, sistemas ITSM y sistemas de mensajería Webhook.
Opciones de integración
Zabbix 5.0 tiene soporte integrado ampliado para la integración con varios sistemas de tickets, así como sistemas de notificación:
Integración con varios sistemas.
Se ha ampliado la lista de plantillas integradas para monitorear aplicaciones y dispositivos:
Plantillas integradas para monitorear aplicaciones y dispositivos
Todas las actualizaciones están disponibles para descargar en Repositorio de Git.
Cualquier usuario o desarrollador puede participar en Zabbix con desarrollos ya preparados, plantillas o complementos, mediante un procedimiento sencillo:
Consideración de la solicitud por parte del equipo de desarrollo. Si un complemento o plantilla cumple con los estándares de Zabbix, se incluye en el producto y el trabajo de dicho desarrollador será respaldado oficialmente por el equipo de Zabbix.
Zabbix es un software de código abierto disponible para ver, estudiar y modificar. El usuario tiene la oportunidad de utilizar libremente el producto, participar en la mejora del programa o utilizar el código para sus nuevos programas. Por otro lado, el equipo de Zabbix hace todo lo posible para que Zabbix sea fácil de instalar en varias plataformas.
Los desarrolladores de Zabbix ofrecen paquetes para casi todas las distribuciones más populares y diversas plataformas de virtualización. Además, Zabbix se puede instalar en la nube pública con un solo clic. Zabbix también está disponible en las plataformas Red Hat Openshift u OpenStack.
Paquetes Zabbix para distribuciones y plataformas.
Soporte para Zabbix Agent 2 para Windows y Linux
El nuevo Zabbix Agent 2 es una de las mejores soluciones del mercado.
Ofrece una estructura basada en complementos y admite scripts de recopilación de datos que pueden ejecutarse durante horas.
Admite análisis activos paralelos y conexiones persistentes a sistemas externos, lo que resulta útil, por ejemplo, para una supervisión eficaz de la base de datos.
Admite enlaces y eventos, lo cual es importante para monitorear, por ejemplo, dispositivos MQTT.
La nueva versión del agente es fácil de instalar (porque el nuevo agente admite todas las funciones anteriores).
Además, se ofrece soporte para almacenamiento de datos persistentes para el nuevo agente en Zabbix 5.0. Anteriormente, la información no enviada se almacenaba solo en la memoria intermedia del agente, pero en la nueva versión es posible configurar el almacenamiento de dicha información en el disco.
Almacenamiento de datos persistente
Esto es importante en caso de monitorear sistemas críticos y comunicaciones inestables, ya que una gran cantidad de datos críticos se guardan antes de enviarse al servidor Zabbix. La opción también es útil para conexiones satelitales que pueden no estar disponibles durante mucho tiempo. IMPORTANTE! Zabbix 5.0 sigue siendo compatible con Zabbix Agent 1.
Cambios de seguridad en Zabbix 5.0
1. La nueva versión admite proxy HTTP para webhook, lo que permite conexiones desde el servidor Zabbix a sistemas de notificación externos de una manera más segura y manejable.
Si necesita integrar un servidor Zabbix en la red local con un sistema externo, como JIRA en la nube, puede mantener una conexión a través de un proxy HTTP, lo que mejora la controlabilidad y confiabilidad de la conexión.
2. Tanto para el agente antiguo como para el nuevo, es posible elegir qué cheques deben estar disponibles para un agente en particular. Por ejemplo, puede limitar la cantidad de comprobaciones creando listas blancas y negras y definiendo claves admitidas.
Lista blanca para comprobaciones relacionadas con MySQL
AllowKey=mysql[*]
DenyKey=*
Lista negra para denegar todos los scripts de shell
DenyKey=system.run[*]
Lista negra para denegar el acceso a /etc/contraseña
DenyKey=vfs.file.contents[/etc/passwd,*]
3. Puede seleccionar algoritmos de cifrado para todos los componentes de Zabbix para evitar el uso de cifrados inseguros para conexiones TLS. Esto es importante para monitorear entornos para los cuales se aplican ciertos estándares de seguridad.
Seleccionar algoritmos de cifrado para conexiones TLS
4. Zabbix 5.0 agregó soporte para conexiones de bases de datos cifradas. Actualmente solo está disponible la conexión cifrada con PostgreSQL y MySQL.
Conexiones de bases de datos cifradas
5. Zabbix 5.0 cambió de MD5 a SHA256 para almacenar hashes de contraseñas de usuario en la base de datos, ya que actualmente es el algoritmo más seguro.
6. Zabbix 5.0 admite macros de usuario secretas para almacenar información confidencial, como contraseñas y tokens API a los que los usuarios finales no tienen acceso.
Macros secretas
7. Todas las conexiones de Zabbix a sistemas externos y conexiones internas a agentes son seguras. El cifrado se admite mediante certificados TLS o mediante cifrado de clave previamente compartida para conectarse a agentes y servidores proxy, o HTTPS. La seguridad del lado del agente se puede mejorar mediante listas blancas y negras. La interfaz funciona a través de HTTPS.
Conexiones seguras
8. Soporte para SAML para proporcionar un único punto de autenticación con un proveedor de identidad confiable para que las credenciales del usuario no salgan del firewall.
Autenticación SAML
La compatibilidad con SAML permite que Zabbix se integre con varios proveedores de identidades locales y en la nube, como Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0, así como Azure, AWS o Google Cloud Platform.
Usabilidad de Zabbix 5.0
1. Interfaz de usuario optimizada para pantallas anchas. Hemos movido el menú desde la parte superior, donde siempre no hay suficiente espacio, al lado izquierdo de la pantalla. El menú todavía se muestra en modo completo, mínimo y oculto.
Interfaz optimizada para pantalla ancha
2. Copie widgets de paneles le permite crear nuevos PANELES muy rápidamente. Para hacer esto, seleccione el widget deseado en el PANEL, haga clic en Copiar
Copia de widget
e inserte el widget en el panel deseado.
Pegue el widget copiado
3. Exportar gráficos. Para copiar el gráfico y enviarlo, por ejemplo, por correo electrónico, puede obtener el gráfico en formato PNG seleccionando el widget deseado y haciendo clic en Descargar imagen.
Exportación de gráficos
4. Filtrado por etiquetas: Problema por gravedad y Hosts del problema. Por ejemplo, fue posible recopilar datos sobre todos los problemas asociados con un nodo de red en un centro de datos.
Filtrar por etiquetas
5. Soporte para módulos para ampliar la interfaz Zabbix.. Para instalar un módulo independiente, debe copiarlo a un directorio específico. Los módulos le permiten ampliar la funcionalidad de la interfaz existente, crear nuevas páginas, cambiar la estructura del menú, por ejemplo, agregar elementos.
Cualquier usuario puede escribir e integrar un módulo. Para hacer esto, el módulo se copia en la carpeta de módulos, después de lo cual se vuelve visible para la interfaz, donde se puede activar y desactivar.
Agregar un nuevo módulo
6. Facilidad de navegación a través de recursos asociados a los nodos de la red.. En Monitoreo > Anfitriones muestra una lista de dispositivos monitoreados por Zabbix: hosts, servicios, dispositivos de red, etc. Además, está disponible una navegación rápida a pantallas, gráficos y problemas específicos del dispositivo.
Quitamos las pestañas. Monitorización > Gráficas y Monitorización > Webs, y toda la navegación se realiza a través de Monitoreo > Anfitriones. La información mostrada se puede filtrar, incluso por etiquetas, lo que le permite mostrar dispositivos deshabilitados
Navegando por los recursos asociados con los hosts
Por ejemplo, puede seleccionar dispositivos que pertenecen a servicios de usuario final seleccionando 'Service', así como fijar el nivel de importancia de estos problemas.
Opciones de filtrado
7. Nueva operación de preprocesamiento: 'Reemplazo' le permite hacer algunas cosas útiles que antes solo se podían hacer con expresiones regulares, lo cual resulta bastante complicado para muchos usuarios. Reemplaza le permite reemplazar una cadena o carácter por otro, lo que le permite simplemente convertir los datos recibidos en formato de texto en una representación numérica.
Reemplazar declaración
8. Declaración JSONPath, que le permite extraer nombres de atributos en una forma conveniente
Operador para JSONPath
9. Mostrar mensajes de correo electrónico de Zabbix. En versiones anteriores, todos los mensajes de correo electrónico de Zabbix en la carpeta Bandeja de entrada mostrado en una lista. A partir de Zabbix 5.0, los mensajes se agruparán por problema.
Agrupar mensajes de correo electrónico de Zabbix
10. Soporte para macros personalizadas para IPMI para nombre de usuario y contraseña. Si se utilizan macros secretas para el nombre de usuario y la contraseña, se denegará el acceso a su valor.
Soporte para macros personalizadas
11. Cambio masivo de macros de usuario para hosts. En la nueva versión, puede abrir una lista de plantillas, seleccionar una lista de hosts y agregar macros o cambiar los valores de las macros existentes.
Agregar y editar macros personalizadas
y también eliminar algunas macros específicas o todas de las plantillas seleccionadas para hosts.
Eliminar macros individuales o de todos los usuarios
12. Control del formato del mensaje a nivel del método de notificación.. En Tipos de soporte apareció la pestaña plantillas de medios con plantillas de mensajes.
Plantillas de métodos de notificación
Puede definir diferentes plantillas para diferentes tipos de mensajes.
Definir una plantilla para un tipo de mensaje
En versiones anteriores, había que gestionar estos mensajes a nivel de acción, definiendo mensajes y un asunto predeterminado.
Gestión de plantillas de nivel de acción
En la nueva versión, todo se puede definir a nivel global y, a nivel de mensaje, se pueden reescribir las configuraciones globales.
Gestión de plantillas a nivel global.
Para la mayoría de los usuarios, definir formatos de plantilla a nivel de medios es suficiente. Además, después de importar algún método de notificación nuevo, todos los formatos de plantilla relevantes ya forman parte de él.
13. Uso más amplio de JavaScript. JavaScript se utiliza para preprocesar scripts, webhooks, etc. En la línea de comandos, trabajar con JavaScript no es fácil.
Zabbix 5.0 utiliza una nueva utilidad: zabbix_js, que ejecuta JavaScript que toma datos, los procesa y genera valores de salida.
utilidad zabbix_js
Ejemplos de uso de la utilidad zabbix_js
14. Soporte para operaciones de texto con expresiones desencadenantes. le permite verificar las versiones de los componentes instalados, comparar valores con cualquier constante, mientras que una macro personalizada puede ser una constante,
comparar el último valor con el anterior, por ejemplo, cuando se trata de datos de texto,
{host:text.last()}<>{host.text.prev()}
o
{host:text.last(#1)}<>{host.text.prev(#2)}
o comparar valores de texto de diferentes métricas.
{hostA:textA.last()}={hostB:textB.last()}
15. Automatización y descubrimiento.
Hay nuevas comprobaciones JMX disponibles para obtener y descubrir una lista de contadores JMX, lo cual es muy útil, por ejemplo, para monitorear aplicaciones Java, así como para automatizar la creación de elementos de monitoreo, métricas, activadores y gráficos.
jmx.get[]
и
jmx.discovery[]
controles JMX
La nueva versión tiene una clave para monitorear los contadores de rendimiento de Windows, que es compatible con los agentes nuevos y antiguos en ruso e inglés y permite, por ejemplo, detectar la cantidad de procesadores, sistemas de archivos, servicios, etc.
Monitorear los contadores de rendimiento de Windows con una clave contador_perf
El monitoreo ODBC ahora es mucho más fácil. Anteriormente, todos los parámetros para la monitorización ODBC debían describirse en un archivo externo. /etc/odbc.ini, al que no se podía acceder desde la interfaz de Zabbix. En la nueva versión, casi todos los parámetros pueden formar parte de la clave métrica.
Clave métrica con descripción de parámetros.
En la nueva versión, puede configurar el nombre del servidor y el puerto a nivel de métrica, y el nombre de acceso y la contraseña utilizando macros secretas por seguridad.
Usando macros secretas
Al utilizar el protocolo IPMI para el monitoreo de equipos, fue posible crear plantillas más simples para la automatización usando ipmi.obtener.
ipmi.obtener
16. Prueba de elementos de datos desde la interfaz.. Zabbix 5.0 introdujo la capacidad de probar algunos elementos y, lo que es más importante, plantillas de elementos desde la interfaz.
Prueba de elementos de datos
Cualquier problema que surja se muestra en la interfaz.
Problemas de visualización en la interfaz.
Se utiliza un algoritmo similar para las plantillas de elementos. Además, si un elemento no es compatible, simplemente puede hacer clic en Probar.
17. Prueba de métodos de notificación, que se introdujo en Zabbix 4.4, se conserva, lo cual es importante al integrar Zabbix con otros sistemas, como los sistemas de tickets.
Métodos de notificación de prueba
18. Soporte para macros personalizadas para prototipos de artículos.. Puede utilizar macros LLD para definir valores para macros personalizadas.
Uso de macros LLD para definir valores de macro personalizados
19. Admite datos Float64, que se necesitan principalmente para monitorear valores muy grandes, se requieren en Zabbix para respaldar los datos recibidos de los agentes de Prometheus.
Si está instalado Zabbix 5.0, los datos no se migrarán automáticamente al estándar Float64. El usuario todavía tiene la opción de utilizar los tipos de datos antiguos. Los scripts de migración Float64 se ejecutan manualmente y cambian los tipos de datos en tablas históricas. El reemplazo automático no se utiliza porque lleva mucho tiempo.
20. Mejoras de escalabilidad de Zabbix 5.0: optimización de la interfaz y eliminación de "cuellos de botella"
Se eliminaron listas desplegables, por ejemplo, para seleccionar hosts, porque esta característica no es escalable.
Hay límites "integrados" para el tamaño de las tablas General.
Hay nuevas oportunidades en Monitoreo > Hosts > Gráficos.
Ha aparecido la función de paginación (Monitoreo > Hosts > Web) donde no estaba.
21. Compresión mejorada
La compresión en Zabbix se basa en la extensión de PostgreSQL TimescaleDB (desde Zabbix 4.4). TimescaleDB proporciona partición automática de la base de datos y mejora el rendimiento de la base de datos porque el rendimiento de TimescaleDB es prácticamente independiente del tamaño de la base de datos.
En Zabbix 5.0 Administración > General > Limpieza puede configurar, por ejemplo, la compresión de datos de más de 7 días. Esto reduce significativamente el espacio en disco requerido (casi diez veces, según los usuarios), lo que mejora el ahorro de espacio en disco y mejora el rendimiento.
Compresión con TimescaleDB
22. Configurar SNMP a nivel de interfaz. En Zabbix 5.0, en lugar de tres tipos de elementos, solo se utiliza uno: el agente SNMP. Todos los atributos SNMP se han movido a la capa de interfaz del host para simplificar las plantillas, cambiar entre versiones de SNMP, etc.
Configuración de SNMP a nivel de interfaz
23. Dependencia del seguimiento de la disponibilidad de los nodos de la red de la disponibilidad de los servidores proxy le permite mostrar el problema de la disponibilidad del proxy como una prioridad en caso de indisponibilidad de los hosts al monitorear usando un disparador con la función sin datos:
{HostA:item.nodata(1m)}=1
La disponibilidad de los hosts está determinada por la disponibilidad del proxy.
Función sin datos por defecto tiene en cuenta la disponibilidad del proxy. Para una verificación más rigurosa que no tenga en cuenta la disponibilidad del proxy, se utiliza el segundo parámetro: estricto:
{HostA:item.nodata(1m,strict)}=1
24. Gestión de reglas de descubrimiento de bajo nivel. Zabbix 5.0 introdujo un filtro LLD que le permite ver, entre otras cosas, reglas de descubrimiento no compatibles
filtro LLD
25. Capacidad de no reconocer un problema (no reconocer) le permite corregir errores y es útil al crear flujos de trabajo que dependen de la confirmación del problema.
Eliminando la confirmación del problema
26. Cambiar las reglas del descubrimiento de bajo nivel. - la capacidad de agregar excepciones al detectar objetos como resultado del monitoreo de sistemas de archivos, lo que le permite crear o no ciertos objetos, activadores, elementos de datos, etc., en la detección de bajo nivel, cambiar la gravedad de los problemas, agregar etiquetas para ciertos objetos, excluir objetos, por ejemplo, sistemas de archivos temporales, de la búsqueda, cambiar el intervalo de actualización de datos, etc.
Excepción de la detección de bajo nivel de sistemas de archivos temporales
Por ejemplo, puede cambiar el nivel de prioridad de los activadores para los sistemas de archivos de Oracle descubiertos y dejar el nivel de prioridad de los activadores de otros sistemas de archivos en el mismo nivel.
Cambiar el nivel de prioridad de los activadores para sistemas de archivos individuales
27. Nuevas macros en Zabbix 5.0 mejorar la calidad del seguimiento.
Nuevas macros en Zabbix 5.0
28. Otras innovaciones en Zabbix 5.0:
Mejoras en Zabbix 5.0
29. Fin del soporte
Funcionalidad no compatible
Conclusión
¡Actualizar a Zabbix 5.0 es muy fácil! Instale y ejecute los nuevos archivos binarios y frontend del servidor y el servidor actualizará automáticamente su base de datos.
La información sobre el procedimiento de actualización de Zabbix está disponible en: https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500
IMPORTANTE!
La actualización de datos históricos al formato Float64 es opcional.
Los datos de TimescaleDB son de solo lectura.
La versión mínima requerida es PHP7.2.
DB2 no es compatible como backend para el servidor Zabbix
(!) Se pueden ver vídeos y diapositivas de presentaciones de Alexey Vladyshev y otros oradores de Zabbix Meetup Online (ruso) aquí.