Esta es una traducción de la página de documentación original en español. Ayúdanos a mejorarla.
Table of Contents

8 Problemas conocidos

Consulte también: Problemas de compilación.

Inicio de proxy con MySQL 8.0.0-8.0.17

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

[Z3001] Falló la conexión a la base de datos 'zabbix': [1227] Acceso denegado; necesita (al menos uno de) los privilegios SUPER, SYSTEM_VARIABLES_ADMIN o SESSION_VARIABLES_ADMIN para esta operación

Eso se debe a que MySQL 8.0.0 comenzó a aplicar permisos especiales para establecer variables de sesión. Sin embargo, en 8.0.18 se eliminó este comportamiento: A partir de MySQL 8.0.18, establecer el valor de sesión de esta variable del sistema ya no es una operación restringida.

La solución temporal se basa en otorgar privilegios adicionales al usuario zabbix:

Para las versiones de MySQL 8.0.14 - 8.0.17:

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

Para las 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 configurado el modo "STRICT_TRANS_TABLES". Si está ausente, la actualización de la base de datos Zabbix fallará (ver también ZBX-19435).

Timescale DB: alto uso de memoria con una gran cantidad de particiones

Las versiones 9.6-12 de PostgreSQL usan demasiada memoria al actualizar tablas con una gran cantidad de particiones (ver informe del problema) . Este problema se manifiesta cuando Zabbix actualiza las tendencias en sistemas con TimescaleDB si las tendencias se dividen en trozos relativamente pequeños (por ejemplo, 1 día). Esto lleva a cientos de fragmentos presentes en las tablas de tendencias. con configuración de limpieza predeterminada: la condición en la que se encuentra PostgreSQL es probable que 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, por favor mire 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 números enteros

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

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

Actualización con MariaDB 10.2.1 y anterior

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 arreglar cambiando el formato de fila a dinámico (ver también ZBX-17690).

Plantillas

Template compatibility in dual-stack (IPv4/IPv6) environments

In dual-stack environments (systems configured to support both IPv4 and IPv6), the hostname localhost typically resolves to both IPv4 and IPv6 addresses. Due to the common prioritization of IPv6 over IPv4 by many operating systems and DNS resolvers, Zabbix templates may fail to work correctly if the service being monitored is configured to listen only on IPv4.

Services that are not configured to listen on IPv6 addresses may become inaccessible, leading to monitoring failures. Users might configure access correctly for IPv4 but still face connectivity issues due to the default behavior of prioritizing IPv6.

A workaround for this is to ensure that the services (Nginx, Apache, PostgreSQL, etc.) are configured to listen on both IPv4 and IPv6 addresses, and Zabbix server/agent is allowed access via IPv6. Additionally, in Zabbix templates and configurations, use localhost explicitly instead of 127.0.0.1 to ensure compatibility with both IPv4 and IPv6.

For example, when monitoring PostgreSQL with the PostgreSQL by Zabbix agent 2 template, you may need to edit the pg_hba.conf file to allow connections for the zbx_monitor user. If the dual-stack environment prioritizes IPv6 (system resolves localhost to ::1) and you configure localhost but only add an IPv4 entry (127.0.0.1/32), the connection will fail because there is no matching IPv6 entry.

The following pg_hba.conf file example ensures that the zbx_monitor user can connect to any database from the local machine using both IPv4 and IPv6 addresses with different authentication methods:

# 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

If necessary, you can also use the IPv4 address (127.0.0.1) directly when configuring the PostgreSQL by Zabbix agent 2 template macro for the connection string.

Instalación accidental de paquetes EPEL Zabbix

Con el repositorio EPEL instalado y habilitado, la instalación de Zabbix desde paquetes hará que se instalen paquetes EPEL Zabbix en lugar de paquetes oficiales de Zabbix.

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

dnf remove zabbix-server-mysql

Bloquee paquetes Zabbix de EPEL. Agregue la siguiente línea en el archivo /etc/yum.conf:

exclude=zabbix7.0*

Instale el servidor Zabbix nuevamente:

dnf install zabbix-server-mysql

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

7.0.0-release1.el8

Paquetes 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 necesarios. 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 administrador de paquetes habilitados en los sistemas UBI y provocarán fallas en la 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 se gestiona mediante suscripciones que, en el caso de entornos UBI, se propagan montando la configuración del repositorio y los directorios secretos del host RHEL en el espacio de nombres del sistema de archivos del contenedor.

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

Expired signing key for RHEL packages

When upgrading Zabbix on Red Hat Enterprise Linux or its derivatives, you may encounter an expired signing key issue for packages on Zabbix repository. When a signing key expires, attempts to verify package signatures will result in an error indicating that the certificate or key is no longer valid. For example:

error: Verifying a signature using certificate D9AA84C2B617479C6E4FCF4D19F2475308EFA7DD (Zabbix LLC (Jul 2022) <[email protected]>):
         1. Certificiate 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

To resolve such issues, manually reinstall the latest zabbix-release package for your specific variant of RHEL (replace the link below with the correct one from Zabbix repository.

For example, on RHEL 9, run:

rpm -Uvh https://repo.zabbix.com/zabbix/7.2/release/rhel/9/noarch/zabbix-release-latest.el9.noarch.rpm

Then, update the repository information:

dnf update

For more information, see ZBX-24761.

Conexión de base de datos TLS con MariaDB

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

Possible deadlocks with MySQL/MariaDB

When running under high load, and with more than one LLD worker involved, it is possible to run into a deadlock caused by an InnoDB error related to the row-locking strategy (see upstream bug). The error has been fixed in MySQL since 8.0.29, but not in MariaDB. For more details, see ZBX-21506.

Correlación de eventos globales

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

Rango de tipos de datos numéricos (flotantes) con PostgreSQL 11 y versiones anteriores

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

NetBSD 8.0 y posteriores

Varios procesos de Zabbix pueden bloquearse aleatoriamente al iniciarse en NetBSD versiones 8.X y 9.X. Eso se debe al tamaño de pila predeterminado demasiado pequeño. (4 MB), que debe aumentarse ejecutando:

ulímite -s 10240

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

Limitaciones de las expresiones regulares en el agente Zabbix 2

Zabbix Agent 2 no admite búsquedas hacia adelante y hacia atrás en expresiones regulares debido a las limitaciones de la biblioteca estándar de expresiones regulares de Go.

Comprobaciones de IPMI

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

Comprobaciones SSH

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

  • Cuando se utiliza libssh 0.9.x en algunas distribuciones de Linux con OpenSSH 8, las comprobaciones de SSH pueden ocasionalmente informar "No se pueden leer datos del servidor SSH". esto está causado por un [problema] (https://gitlab.com/libssh/libssh-mirror/-/merge_requests/101) en libssh (informe más detallado). Se espera el error haber sido solucionado por una versión estable de libssh 0.9.5. Ver también ZBX-17756 para obtener más detalles.

  • Usando 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. Véase también ZBX-21337 para más detalles.

Comprobaciones ODBC

  • El controlador MySQL unixODBC no debe usarse con el servidor Zabbix o Proxy Zabbix compilado 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 de subida de datos. 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 más información y soluciones disponibles.

  • Los datos XML consultados desde Microsoft SQL Server pueden quedar truncados en de varias formas en los sistemas Linux y UNIX.
  • Se ha observado que el uso de controles ODBC en CentOS 8 para monitorear bases de datos Oracle utilizando Oracle Instant Client para Linux 11.2.0.4.0 hace que el servidor Zabbix se bloquee. El problema puede ser solucionado actualizando Oracle Instant Client a 12.1.0.2.0, 12.2.0.1.0, 18.5.0.0.0 o 19. Véase también ZBX-18402.

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

El parámetro del método de solicitud, utilizado solo en comprobaciones HTTP, puede ser configurado incorrectamente en '1', un valor no predeterminado para todos los elementos como resultado de actualizar desde una versión Zabbix anterior a 4.0. Para obtener detalles sobre cómo solucionar este problema , consulte ZBX-19308.

Supervisión web y agente HTTP

El servidor Zabbix pierde memoria en algunas distribuciones Linux debido a un error upstream cuando "SSL¶ verify peer" está habilitado en escenarios web o agente HTTP. Consulte ZBX-10486 para más información y soluciones disponibles.

Controles simples

Hay un error en las versiones de fping anteriores a v3.10 que maneja mal los paquetes de repetición de eco duplicados. Esto puede causar resultados inesperados para Elementos icmpping, icmppingloss, icmppingsec. Se recomienda usar la última versión de fping. Por favor mira ZBX-11726 para más detalles.

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

Cuando los contenedores se ejecutan en modo sin root o en un entorno con restricciones específicas, es posible que se produzcan errores relacionados con la ejecución de fping al realizar comprobaciones ICMP, como "fping: Operación no permitida" o que se pierdan todos los paquetes de 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 no root puede requerir una modificación de sysctl, es decir:

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

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

Comprobaciones SNMP

Si se utiliza el sistema operativo OpenBSD, un error use-after-free en la biblioteca Net-SNMP hasta la versión 5.7.3 puede causar un bloqueo del servidor Zabbix si el parámetro SourceIP está configurado en el archivo de configuración del servidor Zabbix. Como solución alternativa, no configure el parámetro SourceIP. El mismo problema se aplica también a Linux, pero no hace que el servidor Zabbix deje de funcionar. Un parche local para net-snmp Se aplicó el paquete en OpenBSD y se lanzará con OpenBSD 6.3.

picos de datos SNMP

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

calturadores SNMP

El paquete "net-snmp-perl", necesario para los capturadores SNMP, se eliminó en RHEL 8.0-8.2; agregado nuevamente en RHEL 8.3.

Entonces, 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.

Fallo del proceso de alerta en RHEL 7

Se han encontrado casos de fallas en el proceso de alerta del servidor Zabbix en RHEL 7. Consulte ZBX-10461 para obtener más detalles.

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

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

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 obtener más información, consulte ZBX-23250.

Cambiar configuraciones regionales de interfaz

Se ha observado que las configuraciones regionales del frontend pueden cambiar sin lógica aparente, p.e. algunas páginas (o partes de páginas) se muestran en un idioma mientras que otras páginas (o partes de páginas) están en un idioma diferente. Normalmente el problema puede aparecer cuando hay varios usuarios, algunos de ellos quienes usan una configuración regional, mientras que otros usan otra.

Una solución conocida para esto es deshabilitar el subproceso múltiple en PHP y Apache.

El problema está relacionado con cómo funciona la configuración regional en PHP: configuración regional La información se mantiene por proceso, no por hilo. Entonces en un entorno multiproceso, cuando hay varios proyectos ejecutados por el mismo proceso Apache, es posible que la configuración regional se cambie en otro hilo y eso cambia la forma en que se pueden procesar los datos en el hilo Zabbix.

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

  • ZBX-10911 (Problema con cambios de configuración regional del frontend)
  • ZBX-16297 (Problema con procesamiento de números en gráficos usando la función bcdiv de BC funciones matemáticas)

Gráficos

Horario de verano

Los cambios al horario de verano (DST) provocan irregularidades cuando se muestran etiquetas del eje X (duplicación de fecha, fecha faltante, etc.).

Agregación de suma

Cuando se utiliza la agregación de suma en un gráfico para un período inferior a una hora, los gráficos muestran valores incorrectos (multiplicados) cuando los datos provienen de tendencias.

Texto superpuesto

Para algunos idiomas de interfaz (por ejemplo, japonés), las fuentes locales pueden provocar que el texto se superponga 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

Los elementos log[] y logrt[] vuelven a leer repetidamente el archivo de registro del comenzo si el sistema de archivos está 100% lleno y el archivo de registro se está agregando (ver ZBX-10884 para más información).

Consultas MySQL lentas

El servidor Zabbix genera consultas SELECT lentas en caso de que los valores de las métricas no existan. Se sabe que este problema ocurre en las versiones MySQL 5.6/5.7 (para una discusión más amplia, consulte ZBX-10652), y, en casos específicos, también puede ocurrir en versiones posteriores de MySQL. Una solución alternativa a esto es deshabilitar index_condition_pushdown u optimizar prefer_ordering_index en MySQL. Sin embargo, tenga en cuenta que es posible que esta solución no resuelva todos los problemas relacionados con consultas lentas.

inicio de sesión API

Se puede crear una gran cantidad de sesiones de usuario abiertas cuando se usa scripts con user.login método sin su correspondiente user.logout.

Problema de dirección IPv6 en trampas SNMPv3

Debido a un error net-snmp, es posible que la dirección IPv6 no se muestre correctamente cuando utilizando SNMPv3 en trampas SNMP. Para obtener más detalles y una posible solución, consulte ZBX-14541.

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

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. Eso significa que las direcciones IP IPv6 de más de 39 caracteres se mostraran de forma incompleta.

El agente de Zabbix verifica en Windows

Entradas DNS no existentes en un parámetro Servidor del agente Zabbix archivo de configuración (zabbix_agentd.conf) puede aumentar el agente Zabbix tiempo de respuesta en Windows. Esto sucede porque el almacenamiento en caché de DNS en Windows no almacena en caché las respuestas negativas para las direcciones IPv4. Sin embargo, las respuestas negativas de direcciones IPv6 se almacenan en caché, por lo que una posible solución esto es deshabilitar IPv4 en el host.

Exportación/importación YAML

Hay algunos problemas conocidos con YAML exportar/importar:

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

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

El asistente de configuración de frontend no puede guardar el archivo de configuración en SUSE con NGINX + php-fpm. Esto es causado por un ajuste en /usr/lib/systemd/system/php-fpm.service unit, que evita que Zabbix escribir en /etc. (introducido en PHP 7.4).

Hay dos opciones de solución disponibles:

  • Configurar la opción ProtectSystem a 'true' en lugar de 'full' en la php-fpm systemd unit.
  • Guarde manualmente el archivo /etc/zabbix/web/zabbix.conf.php.

Chromium para Zabbix web service en Ubuntu 20

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

No se pueden obtener datos: Chrome no pudo iniciarse: cmd_run.go:994:
       ADVERTENCIA: no se puede crear el directorio de datos de usuario: no se puede crear
       "/var/lib/zabbix/snap/chromium/1564": mkdir /var/lib/zabbix: permiso denegado
       Lo sentimos, actualmente no se admiten los directorios de inicio fuera de /home. Consulte https://forum.snapcraft.io/t/11209 para obtener más detalles.

Este error ocurre porque /var/lib/zabbix se usa como directorio de inicio del usuario 'zabbix'.

Códigos de error personalizados de MySQL

Si Zabbix se usa con la instalación de MySQL en Azure, un error poco claro El mensaje [9002] Ocurrieron algunos errores puede aparecer en los registros de Zabbix. Este texto de error genérico es enviado al servidor Zabbix o al proxy por la base de datos. Para obtener más información sobre 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 agregado soporte para PCRE2. Aunque PCRE todavía es compatible, los paquetes de instalación de Zabbix para RHEL 7 y posteriores, SLES (todas las versiones), Debian 9 y posteriores, Ubuntu 16.04 y posteriores se han actualizado para usar PCRE2. Si bien proporciona muchos beneficios, cambiar a PCRE2 puede hacer que ciertos patrones de expresiones regulares de PCRE existentes dejen de ser 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 la semántica, cambie la expresión a ^[-\w\.] . Esto sucede debido al hecho de que PCRE2 trata el signo del guión como un delimitador, creando un rango dentro de una clase de carácter.

Error del widget de Geomap

Es posible que los mapas en el widget Geomap no se carguen correctamente si actualizó 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 anterior, utilizar 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 la interfaz de Zabbix.

Alternativamente, puede editar manualmente un archivo de configuración 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 con:

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

A medida que las variables globales se comparten entre diferentes llamadas de webhook, el siguiente código hará que el contador del valor 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 con sus propios datos y que no haya colisiones entre llamadas simultáneas.