Table of Contents

11 Notas de actualización para 7.0.0

Estas notas son para actualizar de Zabbix 6.4.x a Zabbix 7.0.0.

Todas las notas se agrupan en:

  • Cambios importantes: cambios que pueden dañar las instalaciones existentes y otra información crítica relacionada con el proceso de actualización
  • Otros: toda la información restante que describe los cambios en la funcionalidad Zabbix

Ver también:

Proceso de actualización

Para completar con éxito la actualización del servidor Zabbix en MySQL/MariaDB, es posible que necesite configurar GLOBAL log_bin_trust_function_creators = 1 en MySQL si el registro binario está habilitado, no hay privilegios de superusuario y log_bin_trust_function_creators = 1 no está configurado en el archivo de configuración de MySQL.

Para configurar la variable usando la consola MySQL, ejecute:

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

Una vez que la actualización se haya completado con éxito, esta opción se puede desactivar:

mysql> SET GLOBAL log_bin_trust_function_creators = 0;

Cambios importantes

Fallo del servidor con PostgreSQL/TimescaleDB después de actualizar a 7.0.1 desde 7.0.0

La actualización a Zabbix 7.0.1 (o posterior) desde Zabbix 7.0.0 con PostgreSQL/TimescaleDB provoca una falla del servidor. Este problema se debe a una solución alternativa a un problema del trabajo de compresión en la tabla de registro de auditoría en Zabbix 7.0 que cambia irreversiblemente la política de compresión de la tabla de registro de auditoría. Consulte los problemas conocidos para obtener detalles sobre cómo arreglar la tabla de registro de auditoría manualmente.

Si aún no ha actualizado a Zabbix 7.0.0, tenga en cuenta que no debería haber tales problemas con las actualizaciones de versiones de Zabbix anteriores a 7.0 a 7.0.1. Siga las instrucciones en la sección de configuración de la página Configuración de TimescaleDB "Para instalaciones existentes".

Ubicación predeterminada para el archivo de configuración del agente de Windows

La ubicación predeterminada donde el agente Zabbix en Windows busca el archivo de configuración ha sido cambiado. Ahora el agente lo busca en el directorio donde se encuentra el binario del agente zabbix_agentd.exe (en lugar de C:\zabbix_agentd.conf, como antes).

El agente Zabbix 2 en Windows ya buscó el archivo de configuración predeterminado en el directorio donde se encuentra el binario zabbix_agent2.exe. Sin embargo, en la nueva versión el agente 2 espera que el archivo de configuración se llame zabbix_agent2.conf (en lugar de zabbix_agent2.win.conf)

Consulte también: Instalación del agente Zabbix en Windows.

Valores vacíos permitidos en la configuración del complemento del agente 2

Ahora se permiten valores vacíos en los parámetros de configuración relacionados con el complemento en el agente Zabbix 2.

TimescaleDB 1.x ya no es compatible

Se ha eliminado la compatibilidad con TimescaleDB 1.x.

Tipos de datos de doble precisión en TimescaleDB

Antes de actualizar a Zabbix 7.0.0, es necesario actualizar manualmente TimescaleDB para usar tipos de datos de doble precisión si TimescaleDB se usa con compresión. Puede saber si TimescaleDB no utiliza tipos de datos de doble precisión mediante la advertencia en la sección de interfaz Información del sistema o en el registro del servidor Zabbix: "La base de datos no se actualizó para utilizar valores de doble precisión. La compatibilidad con el tipo numérico antiguo se eliminará en versiones futuras".

Para obtener más información, consulte Se eliminó el tipo de valor numérico (flotante) antiguo.

Registro de auditoría convertido a hipertabla en TimescaleDB

La tabla auditlog se ha convertido a hipertabla en TimescaleDB en instalaciones nuevas para beneficiarse de la partición automática a tiempo (7 días de forma predeterminada) y un mejor rendimiento.

Para actualizar con éxito las instalaciones existentes:

  1. Inicie el servidor Zabbix; esto actualizará la base de datos existente.
  2. Verifique el archivo de registro del servidor para confirmar que la actualización de la base de datos se realizó correctamente; Si es así, detenga el servidor Zabbix y continúe con el siguiente paso.
  3. Ejecute el script postgresql/timescaledb/schema.sql (desde Zabbix 7.0.0, la ubicación y el nombre del script se cambiaron de postgresql/timescaledb.sql a postgresql/timescaledb/schema.sql). Tenga en cuenta que el servidor Zabbix registrará una advertencia si se inicia sin ejecutar este script.

Ver también:

Tabla de base de datos separada para servidores proxy

Los registros de proxy se han eliminado de la tabla "hosts" y ahora están almacenados en la nueva tabla "proxy".

Además, los datos operativos de los servidores proxy (como el último acceso, la versión, la compatibilidad) se han eliminado de la tabla host_rtdata y ahora se almacenan en la nueva tabla proxy_rtdata.

También hay un nuevo objeto proxy en la API. Todas las operaciones con servidores proxy deben actualizarse para realizarse a través de este nuevo objeto proxy.

Tiempo de espera de ejecución de consultas para métricas del monitor de base de datos

Según los cambios en configuración del tiempo de espera de la métrica, tanto el tiempo de espera de inicio de sesión de ODBC como el tiempo de espera de ejecución de la consulta para monitor de base de datos las métricas ahora están limitadas al valor del parámetro Timeout establecido en el formulario configuración de la métrica.

Simultaneidad en el descubrimiento de redes

En la nueva versión, el proceso de descubrimiento de red se ha rediseñado para permitir la simultaneidad entre las comprobaciones de servicio. Se ha agregado un nuevo proceso de administrador de descubrimiento junto con una cantidad configurable de trabajadores (o subprocesos) de descubrimiento. El administrador del descubrimiento. procesa reglas de descubrimiento y crea un trabajo de descubrimiento por cada regla con tareas (verificaciones de servicio). Los cheques de servicio se recogen y realizado por los trabajadores del descubrimiento.

El parámetro StartDiscoverers ahora determina el número total de trabajadores de descubrimiento disponibles para el descubrimiento. El número predeterminado de StartDiscoverers se ha aumentado de 1 a 5 y el rango de 0-250 a 0-1000. Los procesos de "descubrimiento" de versiones anteriores de Zabbix se han eliminado.

Además, la cantidad de trabajadores disponibles por cada regla ahora se puede configurar en la interfaz. Este parámetro es opcional. Durante la actualización se configurará en "Uno" como en versiones anteriores de Zabbix.

Cambios en la API

Consulte la lista de cambios de API en Zabbix 7.0.0.

Versión PHP mínima requerida

La versión mínima requerida de PHP se ha elevado de 7.4.0 a 8.0.0.

Aumento del tamaño máximo y la cantidad de widgets del tablero

El ancho predeterminado se ha incrementado 3 veces para todos los widgets. Tenga en cuenta que si está utilizando widgets personalizados, es posible que tenga que actualizar los parámetros respectivos del archivo manifest.json (por ejemplo, al configurar un Reloj personalizado, el ancho debe cambiarse de 4 a 12).

Un widget ahora puede tener hasta 72 columnas de ancho (anteriormente 24) y de 1 a 64 filas de alto (anteriormente 2 a 32). Por lo tanto, el tablero ahora puede contener hasta 72 widgets horizontalmente.

Historial de métricas y widgets de texto sin formato

El nuevo widget del tablero Historial de métricas ha reemplazado al widget Texto sin formato y ofrece varias mejoras.

A diferencia del widget Texto sin formato, que solo mostraba los datos más recientes de la métrica en texto sin formato, el widget Historial de métricas admite varias opciones de visualización para múltiples tipos de métricas (numéricos, de caracteres, de registro, de texto y binarios). Por ejemplo, puede mostrar barras o indicadores de progreso, imágenes para tipos de datos binarios (útiles para métricas del navegador) y resaltar valores de texto (útiles para monitoreo de archivos de registro).

Después de la actualización, todos los widgets de Texto sin formato previamente configurados se reemplazarán automáticamente con widgets de Historial de métricas, conservando los mismos ajustes de configuración. Sin embargo, cualquier script API que haga referencia al widget Texto sin formato debe actualizarse manualmente.

Otros

Sondeadores asincrónicos

Después de la actualización, todas las comprobaciones SNMP del agente, el agente HTTP y walk[OID] se trasladarán a sondeadores asíncronos.

Detección de funciones de la biblioteca cURL en tiempo de ejecución

Anteriormente, las funciones de la biblioteca cURL se detectaban en el momento de la compilación del servidor, proxy o agente de Zabbix. Si se actualizaban las funciones de cURL, para utilizarlas era necesario volver a compilar el componente Zabbix respectivo.

Ahora solo se requiere reiniciar para que las funciones actualizadas de la biblioteca cURL estén disponibles en Zabbix. Ya no es necesaria la recompilación. Esto es cierto para el servidor, proxy o agente de Zabbix.

Además:

  • La versión de cURL con tiempo de compilación mínimo requerido se elevó a 7.19.1;
  • Cuando se construye, Zabbix simplemente verifica si la biblioteca cURL está disponible (si se solicita) y satisface el requisito de versión;
  • Al emitir un error de biblioteca cURL en tiempo de ejecución, se agregará la versión que se está utilizando (por ejemplo, "la biblioteca cURL no admite SSL/TLS (usando la versión 7.88.1)");
  • Cuando se inicia el servidor Zabbix y se registra la autenticación SMTP, escribirá la disponibilidad de la autenticación SMTP de la biblioteca cURL que se está utilizando.

Base de datos Oracle en desuso

El soporte para Oracle como base de datos backend ha quedado obsoleto desde Zabbix 7.0. y se espera que se elimine por completo en futuras versiones.

Comprobación de actualización de software

Ahora se agrega una verificación de actualización de software de forma predeterminada a las instalaciones nuevas y existentes: la interfaz de Zabbix se comunicará con el punto final público de Zabbix para buscar actualizaciones.

Puede desactivar esta verificación configurando AllowSoftwareUpdateCheck=0 en la configuración del servidor.

Valores de punto flotante recortados para métricas de enteros

Ahora, si se recibe un valor de punto flotante para ua métrica de entero sin signo, el valor se recortará de la parte decimal y se guardará como un número entero. Anteriormente, un valor de coma flotante hacía que una m-etrica de entero no fuera compatible.

Formato de hora de EE. UU.

Las visualizaciones de hora y fecha en la interfaz ahora se ajustan a la visualización de fecha y hora estándar de EE. UU. cuando se utiliza el idioma de interfaz predeterminado (en_US).

Antes Ahora

Iconos reemplazados por fuentes

Todos los íconos en la interfaz se han cambiado de imágenes de íconos a fuentes.

Último filtro de datos

En MonitoreoÚltimos datos, el subfiltro y los datos ya no se muestran de forma predeterminada si el filtro no está configurado. Sin embargo, tenga en cuenta que los filtros guardados anteriores que se configuraron usando solo el subfiltro no se ven afectados. En tales casos, el subfiltro permanecerá visible y los datos se mostrarán incluso sin que se haya configurado el filtro principal.

Parámetros de configuración

Se ha cambiado el valor predeterminado para varios parámetros de configuración:

  • El parámetro de configuración BufferSize para el agente Zabbix 2 se ha aumentado de 100 a 1000;
  • El parámetro de configuración Plugins.<PluginName>.System.Capacity para el agente Zabbix 2 se ha aumentado de 100 a 1000 (máximo). Tenga en cuenta que el parámetro Plugins.<PluginName>.Capacity, obsoleto en Zabbix 6.0, se ha eliminado por completo;
  • El parámetro de configuración StartAgents para el agente Zabbix se ha aumentado de 3 a 10. Tenga en cuenta en el paquete que para sistemas más pequeños (es decir, Raspberry Pi) el valor predeterminado puede seguir siendo 3.

Estos cambios no afectan a las instalaciones existentes donde estos parámetros están establecidos explícitamente.

Cálculos agregados

Se han actualizado varias funciones agregadas. Ahora:

  • Las funciones agregadas ahora también admiten tipos no numéricos para el cálculo. Esto puede ser útil, por ejemplo, con las funciones count y count_foreach.
  • Las funciones agregadas count y count_foreach admiten parámetros opcionales operador y patrón, que se puede utilizar para ajustar el filtrado de métricas y contar solo los valores que coinciden con los criterios determinados.
  • Todas las funciones foreach ya no incluyen métricas no admitidas en el recuento.
  • La función last_foreach, previamente configurada para ignorar el argumento del período de tiempo, lo acepta como parámetro opcional.

Se eliminó el antiguo tipo de valor numérico (flotante)

Desde Zabbix 5.0.0, el tipo de datos numérico (flotante) admite una precisión de aproximadamente 15 dígitos y un rango de aproximadamente -1,79E+308 a 1,79E+308. Esto está implementado por defecto en instalaciones nuevas. Al actualizar instalaciones existentes que se crearon antes de Zabbix 5.0, se aplica automáticamente un parche de actualización de la base de datos, excepto para TimescaleDB con compresión.

Para bases de datos Oracle, versiones anteriores de bases de datos MySQL e instalaciones grandes, la ejecución del parche puede llevar mucho tiempo. Por este motivo, se recomienda actualizar el tipo de datos manualmente antes de iniciar la actualización.

El parche altera las columnas de datos de las tablas de historial y tendencias, que generalmente contienen una gran cantidad de datos, por lo que se espera que tarde algún tiempo en completarse. Dado que la estimación exacta no se puede predecir y depende del rendimiento del servidor, la configuración y la versión del sistema de administración de bases de datos, se recomienda probar primero el parche fuera del entorno de producción. Con MySQL 8.0 y MariaDB 10.5 configurados de forma predeterminada, se sabe que el parche se ejecuta instantáneamente para tablas grandes debido al algoritmo eficiente y al hecho de que anteriormente se usaba el mismo tipo doble pero con precisión limitada, lo que significa que no es necesario almacenar los datos en sí. modificado.

Ejecute el parche (archivos SQL) para su base de datos, como se describe en la página Actualización de la base de datos a claves primarias y tipos de datos de doble precisión.

Tenga en cuenta que con TimescaleDB, el soporte de compresión solo debe activarse después de aplicar este parche.

¡Importante! Ejecute estos scripts únicamente para la base de datos del servidor.

Para aplicar un parche:

  • Detenga el servidor Zabbix.
  • Ejecute los scripts para su base de datos.
  • Inicie el servidor Zabbix nuevamente.

Opción para el tipo de inicio del servicio del agente de Windows

La opción para configurar el tipo de inicio del servicio del agente/agent 2 Windows Zabbix (-S --startup-type ) ha sido añadido. Esta opción permite configurar el servicio agente/agente 2 para que se inicie automáticamente al iniciar Windows (automático), después de que los servicios iniciados automáticamente hayan completado el inicio (retrasado), cuando lo inicie manualmente un usuario o aplicación (manual) o para deshabilitar el servicio por completo (deshabilitado).

Al realizar la instalación del agente de Windows desde MSI, el tipo de inicio predeterminado en Windows Server 2008/Vista y versiones posteriores ahora es "retrasado" si no se especifica lo contrario en el parámetro de comando de línea "STARTUPTYPE". Esto mejora la confiabilidad y el rendimiento del servicio de Windows agente/agente 2 Zabbix, particularmente durante los reinicios del sistema.

Plantillas

Para plantillas nuevas y cambios en plantillas existentes, consulte Cambios de plantilla.

Nueva estructura de directorios para archivos relacionados con bases de datos

Al instalar Zabbix desde paquetes y preparar el esquema de la base de datos, la ubicación de los archivos relacionados con la base de datos ha cambiado para corresponder mejor a la estructura de archivos en las fuentes:

  • Los archivos de inicialización de la base (schema.sql, data.sql, images.sql) se encuentran en la raíz del directorio de la base de datos.
  • Los archivos/parches opcionales para actualizar las tablas de la base de datos se encuentran en el directorio option-patches.
  • Extensiones y complementos de bases de datos ahora son subdirectorios, nombrados según la extensión y ubicados en el directorio de base de datos respectivo.
  • Cambios específicos de TimescaleDB:
    • Se ha sustituido la abreviatura tsdb por timescaledb.
    • El directorio option-patches incluye los subdirectorios con-compresión y sin-compresión; estos contienen archivos/parches opcionales para actualizar tablas de bases de datos dependiendo de la configuración de compresión TimescaleDB.
    • El archivo de creación del esquema hipertabla para TimescaleDB se ha movido a database/postgresql/timescaledb/schema.sql.

Además, tenga en cuenta los siguientes cambios:

  • Se cambió el nombre de todos los archivos history_pk_*.sql a history_upgrade_*.sql y se agregó un archivo trends_upgrade.sql para mejorar los scripts de actualización de la base de datos.
  • El archivo double.sql se eliminó debido a la eliminación del tipo antiguo de valor numérico (flotante).

A continuación se muestra una comparación de la estructura de directorios anterior y actual para las bases de datos MySQL y PostgreSQL.

# Previous:                                         # Current:
       
       database                                            database
       ├── mysql                                           ├── mysql
       │  ├── data.sql                                     │  ├── option-patches
       │  ├── double.sql                                   │  │  └── history_upgrade_prepare.sql
       │  ├── history_pk_prepare.sql                       │  ├── data.sql
       │  ├── images.sql                                   │  ├── images.sql
       │  └── schema.sql                                   │  └── schema.sql
       │                                                   │
       │                                                   │
       ├── postgresql                                      ├── postgresql
       │  ├── tsdb_history_pk_upgrade_no_compression       │  ├── option-patches
       │  │  ├── history_pk.sql                            │  │  └── history_upgrade_prepare.sql
       │  │  ├── history_pk_log.sql                        │  ├── timescaledb
       │  │  ├── history_pk_str.sql                        │  │  ├── option-patches
       │  │  ├── history_pk_text.sql                       │  │  │  ├── with-compression
       │  │  └── history_pk_uint.sql                       │  │  │  │  ├── history_upgrade.sql
       │  ├── tsdb_history_pk_upgrade_with_compression     │  │  │  │  ├── history_upgrade_log.sql
       │  │  ├── history_pk.sql                            │  │  │  │  ├── history_upgrade_str.sql
       │  │  ├── history_pk_log.sql                        │  │  │  │  ├── history_upgrade_text.sql
       │  │  ├── history_pk_str.sql                        │  │  │  │  ├── history_upgrade_uint.sql
       │  │  ├── history_pk_text.sql                       │  │  │  │  └── trends_upgrade.sql
       │  │  └── history_pk_uint.sql                       │  │  │  └── without-compression
       │  ├── data.sql                                     │  │  │     ├── history_upgrade.sql
       │  ├── double.sql                                   │  │  │     ├── history_upgrade_log.sql
       │  ├── history_pk_prepare.sql                       │  │  │     ├── history_upgrade_str.sql
       │  ├── images.sql                                   │  │  │     ├── history_upgrade_text.sql
       │  ├── schema.sql                                   │  │  │     ├── history_upgrade_uint.sql
       │  └── timescaledb.sql                              │  │  │     └── trends_upgrade.sql
       │                                                   │  │  └── schema.sql
       │                                                   │  ├── data.sql
       │                                                   │  ├── images.sql
       │                                                   │  └── schema.sql
       ├── ...                                             ├── ...

Actualice sus scripts, si los hay, que contengan referencias a la estructura de directorios o archivos anteriores.

Cambios en la configuración del tiempo de espera de la métrica

Tras la actualización, los tiempos de espera globales para todos los tipos de métricas admitidos se establecerán en función del parámetro Timeout valor del archivo de configuración del servidor. Si se configura un proxy, de forma predeterminada, utilizará la configuración de tiempo de espera global del servidor.

Cuando se utiliza un servidor actualizado (versión 7.0.0 o posterior) con un proxy o agente anterior, el proxy o agente funcionará como antes:

  • el proxy utilizará el parámetro Timeout del archivo de configuración del proxy;
  • el agente utilizará el parámetro Timeout del archivo de configuración del agente.

Los parámetros de tiempo de espera se han eliminado de los archivos de configuración de los complementos Modbus y MQTT. Los tiempos de espera de ejecución de la solicitud ahora se pueden configurar usando el formulario de configuración de la métrica.

Métricas de navegador

Se ha agregado a Zabbix un nuevo tipo de métrica: Métrica de navegador, lo que permite monitorear sitios web y aplicaciones web complejas mediante un navegador. Las métricas de navegador permiten la ejecución de código JavaScript definido por el usuario para simular acciones relacionadas con el navegador, como hacer clic, ingresar texto, navegar por páginas web, etc.

Además, esta característica agrega los siguientes cambios:

  • Se ha agregado la plantilla Sitio web por navegador a las plantillas listas para usar;
  • Se agregó el tipo de métrica ITEM_TYPE_BROWSER (22) a la métrica de plantilla o de equipo, regla de descubrimiento de bajo nivel y la exportación/importación de la configuración del prototipo de la métrica;
  • Se han agregado los parámetros del archivo de configuración StartBrowserPollers y WebDriverURL en el servidor/proxy Zabbix;
  • El tiempo de espera de la métrica de navegador se ha agregado a los tiempos de espera de proxy o global (si no se utiliza un proxy);
  • Se agregó el parámetro de línea de comando -w <webdriver url> para habilitar el monitoreo del navegador a la utilidad de línea de comando zabbix_js.

Métricas del agente/agente2 actualizadas

  • wmi.get y wmi.getall, cuando se usan con el agente 2 Zabbix, ahora devuelven un JSON con valores booleanos representados como cadenas (por ejemplo, "RealTimeProtectionEnabled": "True" en lugar de "RealTimeProtectionEnabled": true que devolvían anteriormente) para que coincida con el formato de salida de estas métricas en el agente Zabbix;
  • oracle.ts.stats tiene un nuevo parámetro conname para especificar el nombre del contenedor de destino. Se actualizó el formato JSON de los datos devueltos. Cuando no se especifican tablespace, type ni conname en los parámetros clave, los datos devueltos incluirán un nivel JSON adicional con el nombre del contenedor, lo que permitirá la diferenciación entre contenedores.
  • Las métricas net.dns.* ya no se pueden configurar sin el parámetro name. Aunque siempre aparece como obligatorio, el parámetro name, si se omite, anteriormente se resolvía en un valor predeterminado (zabbix.com), lo cual ya no es el caso.

Para obtener la lista de cambios de métricas que no rompen la compatibilidad, consulte Novedades de Zabbix 7.0.0.

Capturas SNMP con alta disponibilidad de Zabbix

Zabbix ahora puede leer archivos de captura SNMP desde el lugar correcto en caso de que el nodo activo se cambie en una configuración de alta disponibilidad.

Sin embargo, para que esta funcionalidad funcione, es necesario actualizar el formato de hora en cualquier script bash, perl y SNMPTT a "%Y-%m-%dT%H:%M:%S%z" (es decir, 2024-01-10T11:56:14+0300).