Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.
Table of Contents

8 Problemas conocidos

Consulte también: Problemas de compilación.

Inicio del proxy con MySQL 8.0.0-8.0.17

zabbix_proxy en versiones de MySQL 8.0.0-8.0.17 falla con el siguiente error de "acceso denegado":

[Z3001] connection to database 'zabbix' failed: [1227] Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation

Esto se debe a que MySQL 8.0.0 comenzó a exigir permisos especiales para establecer variables de sesión. Sin embargo, en la versión 8.0.18 este comportamiento fue eliminado: A partir de MySQL 8.0.18, establecer el valor de sesión de esta variable de sistema ya no es una operación restringida.

La solución consiste en otorgar privilegios adicionales al usuario zabbix:

Para versiones de MySQL 8.0.14 - 8.0.17:

grant SESSION_VARIABLES_ADMIN on *.* to 'zabbix'@'localhost';

Para versiones de MySQL 8.0.0 - 8.0.13:

grant SYSTEM_VARIABLES_ADMIN on *.* to 'zabbix'@'localhost';

Actualización

Configuración del modo SQL para una actualización exitosa

La configuración sql_mode en MySQL/MariaDB debe tener el modo "STRICT_TRANS_TABLES" establecido. Si está ausente, la actualización de la base de datos de Zabbix fallará (ver también ZBX-19435).

Actualización con MariaDB 10.2.1 y anteriores

La actualización de Zabbix puede fallar si las tablas de la base de datos se crearon con MariaDB 10.2.1 y anteriores, porque en esas versiones el formato de fila predeterminado es compacto. Esto se puede solucionar cambiando el formato de fila a dinámico (ver también ZBX-17690).

Plantillas

Compatibilidad de la plantilla en entornos de doble pila (IPv4/IPv6)

En entornos de doble pila (sistemas configurados para admitir tanto IPv4 como IPv6), el nombre de equipo localhost normalmente se resuelve tanto en direcciones IPv4 como IPv6. Debido a la priorización común de IPv6 sobre IPv4 por parte de muchos sistemas operativos y resolutores DNS, las plantillas de Zabbix pueden dejar de funcionar correctamente si el servicio que se está monitorizando está configurado para escuchar solo en IPv4.

Los servicios que no están configurados para escuchar en direcciones IPv6 pueden volverse inaccesibles, lo que provoca fallos en la monitorización. Los usuarios pueden configurar el acceso correctamente para IPv4 pero aún así enfrentar problemas de conectividad debido al comportamiento predeterminado de priorizar IPv6.

Una solución para esto es asegurarse de que los servicios (Nginx, Apache, PostgreSQL, etc.) estén configurados para escuchar en direcciones IPv4 e IPv6, y que el servidor/agente de Zabbix tenga permitido el acceso a través de IPv6. Además, en las plantillas y configuraciones de Zabbix, utilice explícitamente localhost en lugar de 127.0.0.1 para garantizar la compatibilidad con IPv4 e IPv6.

Por ejemplo, al monitorizar PostgreSQL con la plantilla PostgreSQL por Zabbix agent 2, es posible que deba editar el archivo pg_hba.conf para permitir conexiones para el usuario zbx_monitor. Si el entorno de doble pila prioriza IPv6 (el sistema resuelve localhost como ::1) y configura localhost pero solo agrega una entrada IPv4 (127.0.0.1/32), la conexión fallará porque no hay una entrada IPv6 correspondiente.

El siguiente ejemplo de archivo pg_hba.conf garantiza que el usuario zbx_monitor pueda conectarse a cualquier base de datos desde la máquina local utilizando direcciones IPv4 e IPv6 con diferentes métodos de autenticación:

# TYPE     DATABASE     USER            ADDRESS          METHOD
         host     all          zbx_monitor     localhost        trust
         host     all          zbx_monitor     127.0.0.1/32     md5
         host     all          zbx_monitor     ::1/128          scram-sha-256

Si es necesario, también puede utilizar la dirección IPv4 (127.0.0.1) directamente al configurar la macro de la plantilla PostgreSQL por Zabbix agent 2 para la cadena de conexión.

Instalación accidental de paquetes Zabbix de EPEL

Con el repositorio EPEL instalado y habilitado, instalar Zabbix desde paquetes llevará a que se instalen los paquetes Zabbix de EPEL en lugar de los paquetes oficiales de Zabbix.

En este caso, desinstale los paquetes Zabbix de EPEL, es decir:

dnf remove zabbix-server-mysql

Bloquee los paquetes Zabbix de EPEL. Añada la siguiente línea en el archivo /etc/yum.conf:

exclude=zabbix7.0*

Instale el servidor Zabbix nuevamente:

dnf install zabbix-server-mysql

Tenga en cuenta que los paquetes oficiales de Zabbix tienen la palabra release en su cadena de versión:

7.0.0-release1.el8

Paquetes de Zabbix para RHEL en entornos Red Hat UBI

Al instalar Zabbix desde paquetes de Red Hat Enterprise Linux en entornos Red Hat Universal Base Image, asegúrese de tener acceso a los repositorios y dependencias requeridos. Los paquetes de Zabbix dependen de las bibliotecas libOpenIPMI.so y libOpenIPMIposix.so, que no son proporcionadas por ningún paquete en los repositorios predeterminados del gestor de paquetes habilitados en sistemas UBI y esto resultará en fallos de instalación.

Las bibliotecas libOpenIPMI.so y libOpenIPMIposix.so están disponibles en el paquete OpenIPMI-libs, que es proporcionado por el repositorio redhat-#-for-<arch>-appstream-rpms. El acceso a este repositorio está gestionado por suscripciones, que, en el caso de entornos UBI, se propagan montando la configuración del repositorio y los directorios de secretos del equipo RHEL en el espacio de nombres del sistema de archivos del contenedor.

Para más información, consulte ZBX-24291.

Clave de firma caducada para paquetes RHEL

Al actualizar Zabbix en Red Hat Enterprise Linux o sus derivados, puede encontrarse con un problema de clave de firma caducada para los paquetes en el repositorio de Zabbix. Cuando una clave de firma caduca, los intentos de verificar las firmas de los paquetes darán como resultado un error que indica que el certificado o la clave ya no son válidos. Por ejemplo:

error: Verifying a signature using certificate D9AA84C2B617479C6E4FCF4D19F2475308EFA7DD (Zabbix LLC (Jul 2022) <[email protected]>):
         1. Certificate 19F2475308EFA7DD invalid: certificate is not alive
             because: The primary key is not live
             because: Expired on 2024-07-04T11:41:23Z
         2. Key 19F2475308EFA7DD invalid: key is not alive
             because: The primary key is not live
             because: Expired on 2024-07-04T11:41:23Z

Para resolver estos problemas, reinstale manualmente el paquete zabbix-release más reciente para su variante específica de RHEL (reemplace el enlace a continuación por el correcto del repositorio de Zabbix).

Por ejemplo, en RHEL 10, ejecute:

rpm -Uvh https://repo.zabbix.com/zabbix/8.0/release/rhel/10/noarch/zabbix-release-latest.el10.noarch.rpm

Luego, actualice la información del repositorio:

dnf update

Para más información, consulte ZBX-24761.

Timescale DB: alto uso de memoria con un gran número de particiones

Las versiones de PostgreSQL 9.6-12 utilizan demasiada memoria al actualizar tablas con un gran número de particiones. Este problema se manifiesta cuando Zabbix actualiza tendencias en sistemas con TimescaleDB si las tendencias se dividen en fragmentos relativamente pequeños (por ejemplo, 1 día). Esto conduce a cientos de fragmentos presentes en las tablas de tendencias con la configuración de limpieza por defecto, una condición en la que es probable que PostgreSQL se quede sin memoria.

El problema se ha resuelto desde Zabbix 5.0.1 para nuevas instalaciones con TimescaleDB, pero si TimescaleDB se configuró con Zabbix antes de eso, consulte ZBX-16347 para las notas de migración.

Timescale DB 2.5.0: la política de compresión puede fallar en tablas que contienen enteros

Este problema se manifiesta cuando se utiliza TimescaleDB 2.5.0/2.5.1. Se ha resuelto desde TimescaleDB 2.5.2.

Para más información, consulte TimescaleDB Issue #3773.

Conexión TLS a la base de datos con MariaDB

La conexión TLS a la base de datos no es compatible con la opción 'verify_ca' para el parámetro DBTLSConnect parámetro si se utiliza MariaDB.

Posibles bloqueos mutuos con MySQL/MariaDB

Cuando se ejecuta bajo alta carga y con más de un trabajador LLD involucrado, es posible encontrarse con un bloqueo mutuo causado por un error de InnoDB relacionado con la estrategia de bloqueo de filas (ver error upstream). El error ha sido corregido en MySQL desde la versión 8.0.29, pero no en MariaDB. Para más detalles, consulte ZBX-21506.

Correlación global de eventos

Es posible que los eventos no se correlacionen correctamente si el intervalo de tiempo entre el primer y el segundo evento es muy pequeño, es decir, medio segundo o menos.

Rango de tipo de dato numérico (flotante) con PostgreSQL 11 y anteriores

PostgreSQL 11 y versiones anteriores solo admiten un rango de valores de punto flotante de aproximadamente -1.34E-154 a 1.34E+154.

NetBSD 8.0 y versiones posteriores

Varios procesos de Zabbix pueden fallar aleatoriamente al iniciar en las versiones 8.X y 9.X de NetBSD. Esto se debe a que el tamaño de pila por defecto es demasiado pequeño (4MB), por lo que debe aumentarse ejecutando:

ulimit -s 10240

Para más información, consulte el informe de problema relacionado: ZBX-18275.

Limitaciones de expresiones regulares en Zabbix agent 2

Zabbix agent 2 no admite lookaheads ni lookbehinds en expresiones regulares debido a las limitaciones de la biblioteca estándar Go regexp.

Comprobaciones IPMI

Las comprobaciones IPMI no funcionarán con el paquete estándar de la biblioteca OpenIPMI en Debian anterior a 9 (stretch) y Ubuntu anterior a 16.04 (xenial). Para solucionar esto, vuelva a compilar la biblioteca OpenIPMI con OpenSSL habilitado como se discute en ZBX-6139.

Comprobaciones SSH

  • Algunas distribuciones de Linux como Debian, Ubuntu no admiten claves privadas cifradas (con frase de contraseña) si la biblioteca libssh2 está instalada desde paquetes. Consulte ZBX-4850 para más detalles.

  • Al usar libssh 0.9.x en algunas distribuciones de Linux con OpenSSH 8, las comprobaciones SSH pueden ocasionalmente informar "No se pueden leer datos del servidor SSH". Esto es causado por un problema de libssh (informe más detallado). Se espera que el error haya sido corregido en la versión estable libssh 0.9.5. Consulte también ZBX-17756 para más detalles.

  • Usar la tubería "|" en el script SSH puede provocar un error "No se pueden leer datos del servidor SSH". En este caso, se recomienda actualizar la versión de la biblioteca libssh. Consulte también ZBX-21337 para más detalles.

Comprobaciones ODBC

  • El controlador MySQL unixODBC no debe usarse con el servidor Zabbix o el proxy Zabbix compilados contra la biblioteca del conector MariaDB y viceversa; si es posible, también es mejor evitar usar el mismo conector como controlador debido a un error upstream. Configuración sugerida:

    Conector PostgreSQL, SQLite u Oracle → Controlador MariaDB o MySQL unixODBC Conector MariaDB → Controlador MariaDB unixODBC Conector MySQL → Controlador MySQL unixODBC

Consulte ZBX-7665 para obtener más información y soluciones alternativas disponibles.

  • Los datos XML consultados desde Microsoft SQL Server pueden truncarse de varias formas en sistemas Linux y UNIX.

  • Se ha observado que el uso de comprobaciones ODBC para monitorizar bases de datos Oracle utilizando varias versiones de Oracle Instant Client para Linux provoca que el servidor Zabbix se bloquee.
    Consulte también: ZBX-18402, ZBX-20803.

  • Si utiliza el controlador FreeTDS UnixODBC, debe anteponer una sentencia 'SET NOCOUNT ON' a una consulta SQL (por ejemplo, SET NOCOUNT ON DECLARE @strsql NVARCHAR(max) SET @strsql = ....). De lo contrario, la métrica de monitorización de base de datos en Zabbix no podrá recuperar la información y mostrará el error "SQL query returned empty result".
    Consulte ZBX-19917 para obtener más información.

Parámetro de método de solicitud incorrecto en métricas

El parámetro de método de solicitud, utilizado solo en comprobaciones HTTP, puede estar configurado incorrectamente en '1', un valor no predeterminado para todas las métricas como resultado de una actualización desde una versión de Zabbix anterior a la 4.0. Para obtener detalles sobre cómo solucionar esta situación, consulte ZBX-19308.

Monitorización web y agente HTTP

El servidor Zabbix presenta fugas de memoria en algunas distribuciones de Linux debido a un error ascendente cuando "SSL verificar par" está habilitado en escenarios web o en el agente HTTP. Por favor, consulte ZBX-10486 para más información y soluciones alternativas disponibles.

Comprobaciones simples

Existe un error en las versiones de fping anteriores a la v3.10 que maneja incorrectamente los paquetes de eco duplicados. Esto puede causar resultados inesperados en las métricas icmpping, icmppingloss, icmppingsec. Se recomienda utilizar la última versión de fping. Por favor, consulte ZBX-11726 para más detalles.

Errores con la ejecución de fping en contenedores sin privilegios de root

Cuando los contenedores se ejecutan en modo sin privilegios de root o en un entorno con restricciones específicas, puede encontrar errores relacionados con la ejecución de fping al realizar comprobaciones ICMP, como fping: Operation not permitted o la pérdida de todos los paquetes a todos los recursos.

Para solucionar este problema, agregue --cap-add=net_raw a los comandos "docker run" o "podman run".

Además, la ejecución de fping en entornos sin privilegios de root puede requerir la modificación de sysctl, es decir:

sudo sysctl -w "net.ipv4.ping_group_range=0 1995"

donde "1995" es el GID de zabbix. Para más detalles, consulte ZBX-22833.

Comprobaciones SNMP

Si se utiliza el sistema operativo OpenBSD, un error de uso después de liberar memoria en la biblioteca Net-SNMP hasta la versión 5.7.3 puede causar un fallo del servidor Zabbix si el parámetro SourceIP está configurado en el archivo de configuración del servidor Zabbix. Como solución temporal, por favor no configure el parámetro SourceIP. El mismo problema también se aplica a Linux, pero no provoca que el servidor Zabbix deje de funcionar. Se aplicó un parche local para el paquete net-snmp en OpenBSD y se lanzará con OpenBSD 6.3.

Picos de datos SNMP

Se han observado picos en los datos SNMP que pueden estar relacionados con ciertos factores físicos, como picos de voltaje en la red eléctrica. Consulte ZBX-14318 para más detalles.

Trampas SNMP

El paquete "net-snmp-perl", necesario para las trampas SNMP, ha sido eliminado en RHEL 8.0-8.2; se ha vuelto a añadir en RHEL 8.3.

Por lo tanto, si está utilizando RHEL 8.0-8.2, la mejor solución es actualizar a RHEL 8.3.

Consulte también ZBX-17192 para más información.

Bloqueo del proceso alerter en RHEL 7

Se han encontrado casos de bloqueo del proceso alerter del servidor Zabbix en RHEL 7. Por favor, consulte ZBX-10461 para más detalles.

Actualización del agente Zabbix 2 (6.0.5 o anterior)

Al actualizar el agente Zabbix 2 (versión 6.0.5 o anterior) desde paquetes, puede ocurrir un error de conflicto de archivos relacionado con el plugin. Para solucionar el error, haga una copia de seguridad de la configuración de su agente 2 (si es necesario), desinstale el agente 2 e instálelo de nuevo.

En sistemas basados en RHEL, ejecute:

dnf remove zabbix-agent2
       dnf install zabbix-agent2

En sistemas basados en Debian, ejecute:

apt remove zabbix-agent2
       apt install zabbix-agent2

Para más información, consulte ZBX-23250.

Cambio de idioma en la interfaz web

Se ha observado que los idiomas de la interfaz web pueden cambiar sin una lógica aparente, es decir, algunas páginas (o partes de páginas) se muestran en un idioma mientras que otras páginas (o partes de páginas) en un idioma diferente. Típicamente, el problema puede aparecer cuando hay varios usuarios, algunos de los cuales usan un idioma, mientras que otros usan otro.

Una solución conocida para esto es deshabilitar el multihilo en PHP y Apache.

El problema está relacionado con cómo funciona la configuración del idioma en PHP: la información de idioma se mantiene por proceso, no por hilo. Así que en un entorno multihilo, cuando hay varios proyectos ejecutados por el mismo proceso de Apache, es posible que el idioma se cambie en otro hilo y eso cambie cómo se pueden procesar los datos en el hilo de Zabbix.

Para más información, consulte los informes de problemas relacionados:

  • ZBX-10911 (Problema con el cambio de idioma en la interfaz web)
  • ZBX-16297 (Problema con el procesamiento de números en gráficos usando la función bcdiv de las funciones BC Math)

Gráficos

Horario de verano

Los cambios al horario de verano (DST) resultan en irregularidades al mostrar las etiquetas del eje X (duplicación de fechas, fechas faltantes, etc).

Agregación de suma

Al usar la agregación de suma en un gráfico para un periodo inferior a una hora, los gráficos muestran valores incorrectos (multiplicados) cuando los datos provienen de tendencias.

Superposición de texto

Para algunos idiomas del frontend (por ejemplo, japonés), las fuentes locales pueden causar superposición de texto en la leyenda del gráfico. Para evitar esto, utilice la versión 2.3.0 (o posterior) de la extensión PHP GD.

Supervisión de archivos de registro

Las métricas log[] y logrt[] vuelven a leer repetidamente el archivo de registro desde el principio si el sistema de archivos está al 100% de su capacidad y el archivo de registro se está ampliando (consulte ZBX-10884 para obtener más información).

Consultas lentas de MySQL

El servidor Zabbix genera consultas SELECT lentas en caso de valores inexistentes para métricas. Este problema se sabe que ocurre en las versiones 5.6/5.7 de MySQL (para una discusión más extensa, consulte ZBX-10652), y, en casos específicos, también puede ocurrir en versiones posteriores de MySQL. Una solución temporal para esto es deshabilitar el optimizador index_condition_pushdown o prefer_ordering_index en MySQL. Sin embargo, tenga en cuenta que esta solución temporal puede no corregir todos los problemas relacionados con consultas lentas.

Configuración persistente de filtros desde enlaces

Al abrir un enlace a una página del frontend de Zabbix que contiene configuraciones de filtro, incluido el selector de tiempo, el filtro se guarda automáticamente en la base de datos para el usuario, reemplazando la configuración de filtro y/o selector de tiempo previamente guardada para esa página. Estas configuraciones permanecen activas hasta que el usuario las actualiza o restablece manualmente.

Problema con direcciones IPv6 en traps SNMPv3

Debido a un error en net-snmp, la dirección IPv6 puede no mostrarse correctamente al utilizar SNMPv3 en traps SNMP. Para más detalles y una posible solución, consulte ZBX-14541.

Dirección IP IPv6 larga recortada en la información de inicio de sesión fallido

Un mensaje de intento de inicio de sesión fallido mostrará solo los primeros 39 caracteres de una dirección IP almacenada, ya que ese es el límite de caracteres en el campo de la base de datos. Esto significa que las direcciones IP IPv6 más largas de 39 caracteres se mostrarán de forma incompleta.

Comprobaciones del agente Zabbix en Windows

Las entradas DNS inexistentes en el parámetro Server del archivo de configuración del agente Zabbix (zabbix_agentd.conf) pueden aumentar el tiempo de respuesta del agente Zabbix en Windows. Esto ocurre porque el demonio de caché DNS de Windows no almacena en caché las respuestas negativas para direcciones IPv4. Sin embargo, para las direcciones IPv6, las respuestas negativas sí se almacenan en caché, por lo que una posible solución es deshabilitar IPv4 en el equipo.

Exportación/importación YAML

Existen algunos problemas conocidos con la exportación/importación YAML:

  • Los mensajes de error no son traducibles;
  • A veces, un JSON válido con una extensión de archivo .yaml no se puede importar;
  • Las fechas legibles por humanos sin comillas se convierten automáticamente en marcas de tiempo Unix.

Asistente de configuración en SUSE con NGINX y php-fpm

El asistente de configuración del frontend no puede guardar el archivo de configuración en SUSE con NGINX + php-fpm. Esto es causado por una configuración en la unidad /usr/lib/systemd/system/php-fpm.service, que impide que Zabbix escriba en /etc. (introducido en PHP 7.4).

Hay dos opciones de solución alternativas disponibles:

  • Establecer la opción ProtectSystem en 'true' en lugar de 'full' en la unidad systemd de php-fpm.
  • Guardar manualmente el archivo /etc/zabbix/web/zabbix.conf.php.

Reenvío de la cabecera Authorization

En algunos casos, Apache o NGINX pueden impedir que la cabecera Authorization en las solicitudes API llegue a Zabbix. Esto puede causar problemas de autenticación al usar la API de Zabbix o servicios de inicio de sesión único (SSO), como SAML con Okta.

Para solucionar esto, actualice la configuración de su servidor web.

Para Apache, si lo está utilizando como proxy inverso (configuración no-CGI), agregue la siguiente directiva a /etc/httpd/conf/httpd.conf (en sistemas basados en RHEL) o /etc/apache2/apache2.conf (en Debian/Ubuntu):

SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

Si Apache ejecuta directamente scripts para manejar solicitudes (por ejemplo, usando mod_cgi), agregue la siguiente directiva en su lugar:

CGIPassAuth On

En cambio, NGINX maneja la cabecera Authorization automáticamente. Sin embargo, si NGINX está actuando como proxy inverso, puede reenviar explícitamente la cabecera Authorization agregando las siguientes directivas a /etc/nginx/nginx.conf (para la ubicación de su interfaz web de Zabbix):

...
       location / {
       ...
           proxy_set_header Authorization $http_authorization;
           proxy_pass http://backend_server;
       ...
       }

Después de actualizar la configuración, reinicie su servidor web.

Para más detalles, consulte:

Chromium para el servicio web de Zabbix en Ubuntu 20

Aunque en la mayoría de los casos, el servicio web de Zabbix puede ejecutarse con Chromium, en Ubuntu 20.04 usar Chromium provoca el siguiente error:

Cannot fetch data: chrome failed to start:cmd_run.go:994:
       WARNING: cannot create user data directory: cannot create 
       "/var/lib/zabbix/snap/chromium/1564": mkdir /var/lib/zabbix: permission denied
       Sorry, home directories outside of /home are not currently supported. See https://forum.snapcraft.io/t/11209 for details.

Este error ocurre porque /var/lib/zabbix se utiliza como directorio home del usuario 'zabbix'.

Códigos de error personalizados de MySQL

Cuando Zabbix detecta que la base de datos de backend no es accesible, envía una notificación y continúa intentando conectarse. Para ciertos motores de base de datos, se reconocen códigos de error específicos. En MySQL, estos códigos de error reconocidos incluyen:

  • CR_CONN_HOST_ERROR
  • CR_SERVER_GONE_ERROR
  • CR_CONNECTION_ERROR
  • CR_SERVER_LOST
  • CR_UNKNOWN_HOST
  • ER_SERVER_SHUTDOWN
  • ER_ACCESS_DENIED_ERROR
  • ER_ILLEGAL_GRANT_FOR_TABLE
  • ER_TABLEACCESS_DENIED_ERROR
  • ER_UNKNOWN_ERROR

Además, al utilizar Zabbix con una instalación de MySQL en Azure, puede aparecer el mensaje de error genérico [9002] Some errors occurred en los registros de Zabbix. Este mensaje es enviado por la base de datos al servidor o proxy de Zabbix. Para determinar la causa del error, consulte los registros de Azure.

Expresiones regulares no válidas después de cambiar a PCRE2

En Zabbix 6.0 se ha añadido soporte para PCRE2. Aunque PCRE sigue siendo compatible, los paquetes de instalación de Zabbix para RHEL 7 y versiones posteriores, SLES (todas las versiones), Debian 9 y versiones posteriores, Ubuntu 16.04 y versiones posteriores se han actualizado para usar PCRE2. Si bien esto proporciona muchos beneficios, cambiar a PCRE2 puede hacer que ciertos patrones de expresiones regulares de PCRE existentes se vuelvan no válidos o se comporten de manera diferente. En particular, esto afecta al patrón ^[\w-\.]. Para que esta expresión regular vuelva a ser válida sin afectar a la semántica, cambie la expresión a ^[-\w\.] . Esto ocurre debido a que PCRE2 trata el signo de guion como un delimitador, creando un rango dentro de una clase de caracteres.

Error del widget Geomap

Los mapas en el widget Geomap pueden no cargarse correctamente si ha actualizado desde una versión anterior de Zabbix con NGINX y no cambió al nuevo archivo de configuración de NGINX durante la actualización.

Para solucionar el problema, puede descartar el archivo de configuración antiguo, usar el archivo de configuración del paquete de la versión actual y reconfigurarlo como se describe en las instrucciones de descarga en la sección e. Configure PHP para el frontend de Zabbix.

Alternativamente, puede editar manualmente un archivo de configuración de NGINX existente (normalmente, /etc/zabbix/nginx.conf). Para hacerlo, abra el archivo y localice el siguiente bloque:

location ~ /(api\/|conf[^\.]|include|locale|vendor) {
               deny            all;
               return          404;
       }

Luego, reemplace este bloque por:

location ~ /(api\/|conf[^\.]|include|locale) {
               deny            all;
               return          404;
       }
       
       location /vendor {
               deny            all;
               return          404;
       }

Caso de uso con variables globales compartidas entre llamadas de webhook

Como las variables globales (por ejemplo, haciendo global = 1 sin una declaración var, let o const) se comparten entre diferentes llamadas de webhook, el siguiente código hará que el contador de valores de la etiqueta aumente gradualmente:

try 
       {
          aa = aa + 1;
       }
       catch(e)
       {
          aa = 0;
       }

       result = {
               'tags': {
                   'endpoint': aa
               }
           };
       return JSON.stringify(result);

Se recomienda utilizar variables locales en lugar de globales para asegurarse de que cada script opere sobre sus propios datos y que no haya colisiones entre llamadas simultáneas.

Grupos de procesadores en Windows

La documentación de Microsoft indica que los sistemas con menos de 64 procesadores lógicos siempre tienen un único grupo de procesadores, el Grupo 0. Sin embargo, los usuarios de Zabbix han informado de un error poco común ZBX-20260, cuando existen dos grupos de procesadores en sistemas con 64 o menos procesadores lógicos. Esto resultaba en que los contadores de rendimiento "(n)" solo estaban disponibles para uno de los dos grupos de procesadores. La causa raíz real de este error no se conoce. Sin embargo, un caso similar fue descrito en stackoverflow.com, y la causa raíz allí estaba en la interoperabilidad entre la BIOS y Windows.

Límites de filtrado con intercalaciones utf8mb4

Los filtros (por ejemplo, en Recopilación de datosMantenimiento) pueden no funcionar correctamente cuando se aplican a entidades que contienen ciertos caracteres Unicode (por ejemplo, ȼ, ɇ). Este problema surge debido a cómo la intercalación predeterminada utf8mb4_bin para bases de datos MySQL o MariaDB maneja la ordenación y comparación de caracteres Unicode.

Para abordar esta limitación, los usuarios pueden cambiar la intercalación de las columnas de la base de datos a alternativas como utf8mb4_0900_bin, utf8mb4_0900_ai_ci o utf8mb4_unicode_520_ci. Sin embargo, tenga en cuenta que cambiar la intercalación puede causar un comportamiento inesperado en el manejo de espacios vacíos, así como en la ordenación y filtrado de otros caracteres.

Para obtener más información sobre cómo cambiar las intercalaciones, consulte la documentación de MySQL o la documentación de MariaDB. Para obtener detalles sobre las diferencias de intercalación, consulte Conjuntos de caracteres Unicode en la documentación de MySQL.

Acceso a elementos de la interfaz de usuario con MariaDB 10.5.1–10.5.9

Acceder al frontend web de Zabbix con un rol distinto a Super Admin puede resultar en el mensaje: "Se ha producido un error del sistema. Por favor, contacte con el administrador de Zabbix.". Este problema afecta a las instalaciones que utilizan versiones de MariaDB desde la 10.5.1 hasta la 10.5.9.

Para evitar este problema, actualice MariaDB a una versión posterior a la 10.5.9. Para más detalles, consulte ZBX-25746.

Perfilando el uso excesivo de memoria con tcmalloc

Si sospecha que su instalación de Zabbix está utilizando demasiada memoria, puede usar la función de perfilado de memoria de tcmalloc para investigar el consumo de memoria del servidor/proxy de Zabbix.

1. Al instalar Zabbix desde fuentes, configure las siguientes banderas adicionales:

export CFLAGS="-std=gnu99 -g -O0"

La bandera -std=gnu99 es necesaria para compilar el servidor de Zabbix, el proxy de Zabbix o el agente de Zabbix. La bandera -g añade información de depuración adicional, mientras que -O0 desactiva las optimizaciones, que pueden interferir con el perfilado de tcmalloc.

2. Establezca las siguientes variables de entorno antes de iniciar el servidor de Zabbix. Estas variables indican a tcmalloc cómo rastrear e informar el uso de memoria:

LD_PRELOAD="/usr/lib/aarch64-linux-gnu/libtcmalloc.so" \
       HEAPPROFILE=./heap_profile \
       HEAP_PROFILE_ALLOCATION_INTERVAL=0 \
       HEAP_PROFILE_INUSE_INTERVAL=4294967296 \
       HEAPPROFILESIGNAL=5 \
       MALLOCSTATS=1 \
       ./sbin/zabbix_server -f -c /etc/zabbix/zabbix_server.conf

3. Genere un volcado de perfil enviando la señal 5 al proceso objetivo. Reemplace 1234 por el ID real del proceso (PID):

kill -5 1234

4. Imprima el perfil generado:

pprof-symbolize -text ./sbin/zabbix_server ./heap_profile.0001.heap
       
       Using local file ./sbin/zabbix_server.
       Using local file ./heap_profile.0001.heap.
       Total: 1078.1 MB
         1076.8  99.9%  99.9%   1076.8  99.9% zbx_malloc2
            1.0   0.1% 100.0%      1.0   0.1% __GI___strdup
            0.2   0.0% 100.0%      0.2   0.0% CRYPTO_zalloc@@OPENSSL_3.0.0
            0.1   0.0% 100.0%      0.1   0.0% OPENSSL_LH_insert@@OPENSSL_3.0.0
            0.0   0.0% 100.0%      0.0   0.0% zbx_realloc2
            0.0   0.0% 100.0%      0.1   0.0% PKCS7_decrypt@@OPENSSL_3.0.0
            0.0   0.0% 100.0%      0.0   0.0% find_best_tree_node
            0.0   0.0% 100.0%      0.0   0.0% CRYPTO_strndup@@OPENSSL_3.0.0
            ...
            0.0   0.0% 100.0%      0.0   0.0% preprocessing_flush_value
            0.0   0.0% 100.0%   1074.0  99.6% preprocessor_add_request

En este ejemplo, zbx_malloc2 es responsable de casi todas las asignaciones de memoria.

Consulte también:

Replicación de grupo MySQL 8.0 en modo multi‐primario

Al utilizar la replicación de grupo MySQL 8.0 en modo multi‐primario, puede encontrar un error durante la confirmación de transacciones similar al siguiente:

1531697:20250128:064734.697 query [txnlev:1] [update alerts set status=1,retries=0,error='' where alertid=154618;
       1531697:20250128:064734.713 query [txnlev:1] [commit;]
       1531697:20250128:064734.753 [Z3005] query failed: [3101] Plugin instructed the server to rollback the current transaction. [commit;]

Este error parece ser provocado por problemas con operaciones de reversión que involucran restricciones de clave externa.

Consulte también: