2 Requisitos

Hardware

Memoria

Zabbix requiere tanto memoria física como en disco. La cantidad de memoria en disco necesaria depende obviamente del número de equipos y parámetros que se estén monitorizando. Si planea mantener un historial largo de los parámetros monitorizados, debería pensar en al menos un par de gigabytes para tener suficiente espacio para almacenar el historial en la base de datos. Cada proceso demonio de Zabbix requiere varias conexiones a un servidor de base de datos. La cantidad de memoria asignada para la conexión depende de la configuración del motor de base de datos.

Cuanta más memoria física tenga, más rápido funcionará la base de datos (y por lo tanto Zabbix).

CPU

Zabbix y especialmente la base de datos de Zabbix pueden requerir recursos significativos de CPU dependiendo del número de parámetros monitorizados y del motor de base de datos elegido.

Otro hardware

Se requiere un puerto de comunicación serie y un módem GSM serie para utilizar la compatibilidad con notificaciones SMS en Zabbix. Un convertidor USB a serie también funcionará.

Ejemplos de configuración de hardware

La tabla proporciona ejemplos de configuración de hardware, suponiendo una plataforma Linux/BSD/Unix.

Estos son ejemplos de tamaño y configuración de hardware para empezar. Cada instalación de Zabbix es única. Asegúrese de evaluar el rendimiento de su sistema Zabbix en un entorno de pruebas o desarrollo, para que pueda comprender completamente sus requisitos antes de desplegar la instalación de Zabbix en su entorno de producción.

Tamaño de la instalación Métricas monitorizadas1 Núcleos de CPU/vCPU Memoria
(GiB)
Base de datos Amazon EC22
Pequeña 1 000 2 8 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.large/m6g.large
Mediana 10 000 4 16 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL
m6i.xlarge/m6g.xlarge
Grande 100 000 16 64 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL,
Oracle
m6i.4xlarge/m6g.4xlarge
Muy grande 1 000 000 32 96 MySQL Server,
Percona Server,
MariaDB Server,
PostgreSQL,
Oracle
m6i.8xlarge/m6g.8xlarge

1 1 métrica = 1 item + 1 trigger + 1 gráfico
2 Ejemplo con instancias EC2 de uso general de Amazon, usando arquitectura ARM64 o x86_64; durante la evaluación y las pruebas de instalación de Zabbix, antes de instalarlo en su entorno de producción, debe seleccionarse un tipo de instancia adecuado, como uno optimizado para Cómputo/Memoria/Almacenamiento.

La configuración real depende en gran medida del número de items activos y de las tasas de actualización (consulte la sección database size de esta página para obtener más detalles). Se recomienda encarecidamente ejecutar la base de datos en un server separado para instalaciones grandes.

Plataformas compatibles

Debido a los requisitos de seguridad y la naturaleza crítica del servidor de monitorización, UNIX es el único sistema operativo que puede ofrecer de manera constante el rendimiento, la tolerancia a fallos y la resiliencia necesarios. Zabbix funciona en versiones líderes del mercado.

Los componentes de Zabbix están disponibles y probados para las siguientes plataformas:

Plataforma Servidor Agente Agente 2 Comentarios
Linux x x x
Windows - x x El agente Zabbix es compatible con todas las versiones de escritorio y servidor desde Windows XP (64 bits)/Server 2003.

El agente Zabbix 2 es compatible con todas las versiones de escritorio y servidor desde Windows 10 (32 bits)/Server 2016, ya que solo se compila con una versión de Go compatible para evitar vulnerabilidades de seguridad críticas. Desde Go 1.21, las versiones mínimas requeridas de Windows se han elevado, haciendo que Windows 10/Server 2016 sea la versión mínima para el agente Zabbix 2.
macOS x x -
IBM AIX x x - El agente Zabbix no funciona en plataformas AIX por debajo de las versiones 6.1 TL07 / 7.1 TL01.
FreeBSD x x -
OpenBSD x x -
Solaris x x -
NetBSD x x -
HP-UX x x -

El servidor/agente Zabbix puede funcionar en otros sistemas operativos tipo Unix.

Zabbix desactiva los volcados de memoria si se compila con cifrado y no se inicia si el sistema no permite desactivar los volcados de memoria.

Software requerido

Zabbix está construido sobre servidores web modernos, motores de bases de datos líderes y el lenguaje de scripting PHP.

Software externo de terceros circundante

Si se indica como obligatorio, el software/biblioteca requerido es estrictamente necesario.
Los opcionales se necesitan para dar soporte a alguna función específica.

Software Mandatory status Supported versions Comments
MySQL/Percona One of 8.0.30-9.6.X Required if MySQL (or Percona) is used as Zabbix backend database. InnoDB engine is required.

Added support for MySQL versions:
- 8.4.X since Zabbix 7.0.1;
- 9.0.X since Zabbix 7.0.2;
- 9.5.X since Zabbix 7.0.22;
- 9.6.X since Zabbix 7.0.25.

We recommend using the C API (libmysqlclient) library for building server/proxy.
MariaDB 10.5.00-12.2.X InnoDB engine is required.

The recommended version is 11.4.

We recommend using the MariaDB Connector/C library for building server/proxy.

Added support for MariaDB versions:
- 11.4.X since Zabbix 7.0.1;
- 11.5.X since Zabbix 7.0.4;
- 12.0.X since Zabbix 7.0.19;
- 12.2.X since Zabbix 7.0.25.

See also: Possible deadlocks with MariaDB and Access to UI elements with MariaDB 10.5.1-10.5.9.
Oracle 19c - 21c Required if Oracle is used as Zabbix backend database.
The support for Oracle DB is deprecated since Zabbix 7.0.
PostgreSQL 13.0-18.X Required if PostgreSQL is used as Zabbix backend database.
Depending on the installation size, it might be required to increase PostgreSQL work_mem configuration property (4MB being the default value), so that the amount of memory used by the database for particular operation is sufficient and query execution does not take too much time.

Added support for PostgreSQL versions:
- 17.X since Zabbix 7.0.6;
- 18.X since Zabbix 7.0.20.
TimescaleDB for PostgreSQL 2.13.0-2.26.X Required if TimescaleDB is used as a PostgreSQL database extension. Make sure to install TimescaleDB Community Edition, which supports compression.

Note that PostgreSQL 15 is supported since TimescaleDB 2.10.
You may also refer to TimescaleDB documentation for details regarding PostgreSQL and TimescaleDB version compatibility.

Added support for TimescaleDB versions:
- 2.15.X since Zabbix 7.0.1;
- 2.16.X since Zabbix 7.0.4;
- 2.17.X since Zabbix 7.0.6;
- 2.18.X since Zabbix 7.0.10;
- 2.19.X since Zabbix 7.0.13;
- 2.20.X since Zabbix 7.0.17;
- 2.21.X since Zabbix 7.0.18;
- 2.22.X since Zabbix 7.0.20;
- 2.23.X since Zabbix 7.0.22;
- 2.24.X since Zabbix 7.0.23;
- 2.25.X since Zabbix 7.0.24;
- 2.26.X since Zabbix 7.0.25.
SQLite Optional 3.3.5-3.53.X SQLite is only supported with Zabbix proxies. Required if SQLite is used as Zabbix proxy database.

Support for SQLite versions:
- 3.53.X since Zabbix 7.0.25.
Elasticsearch 7.X Elasticsearch is only supported with Zabbix servers, exclusively for storing history data. The support of Elasticsearch is currently experimental. See also required software for server/proxy.
smartmontools 7.1 or later Required for Zabbix agent 2.
who Required for the user count plugin.
dpkg Required for the system.sw.packages plugin.
pkgtool Required for the system.sw.packages plugin.
rpm Required for the system.sw.packages plugin.
pacman Required for the system.sw.packages plugin.
q applets qlist and qsize, as part of q applets, are required for the system.sw.packages plugin on Gentoo Linux.

Aunque Zabbix puede funcionar con bases de datos disponibles en los sistemas operativos, para obtener la mejor experiencia recomendamos usar bases de datos instaladas desde los repositorios oficiales del desarrollador de la base de datos.

Frontend

El ancho mínimo de pantalla admitido para el frontend de Zabbix es de 1200px.

Si se indica como obligatorio, el software/biblioteca requerido es estrictamente necesario. Los opcionales se necesitan para admitir alguna función específica.

Software Mandatory status Supported versions Comments
PHP Yes 8.0.0 - 8.5.X Compatibilidad añadida para versiones de PHP:
- 8.4.X desde Zabbix 7.0.10;
- 8.5.X desde Zabbix 7.0.25.
Apache One of 2.4 or later
Nginx 1.20 or later
MySQL One of See Third-party external surrounding software
PostgreSQL
Oracle
PHP extensions
mysqli Yes Requerido si MySQL se usa como base de datos backend de Zabbix.
pgsql Requerido si PostgreSQL se usa como base de datos backend de Zabbix.
oci8 Requerido si Oracle se usa como base de datos backend de Zabbix.
bcmath php-bcmath (--enable-bcmath)
mbstring php-mbstring (--enable-mbstring)
sockets php-net-socket (--enable-sockets); requerido para la compatibilidad con scripts de usuario.
gd 2.0.28 or later php-gd (si el distribuidor lo proporciona como un paquete independiente); la extensión GD de PHP debe admitir imágenes PNG (--with-png-dir), imágenes JPEG (--with-jpeg-dir) y FreeType 2 (--with-freetype-dir). Puede requerirse la versión 2.3.0 o posterior para evitar un posible solapamiento de texto en los gráficos en algunos idiomas del frontend.
libxml 2.6.15 or later php-xml (si el distribuidor lo proporciona como un paquete independiente)
xmlwriter php-xmlwriter (si el distribuidor lo proporciona como un paquete independiente)
xmlreader php-xmlreader (si el distribuidor lo proporciona como un paquete independiente)
ctype php-ctype (--enable-ctype)
session php-session (si el distribuidor lo proporciona como un paquete independiente)
ldap No php-ldap; requerido para la autenticación LDAP.
openssl php-openssl; requerido para la autenticación SAML.
gettext php-gettext (--with-gettext); requerido para las traducciones.
cURL php-curl; requerido para Duo Universal Prompt MFA.

Bibliotecas de frontend de terceros que se suministran con Zabbix:

Library Mandatory status Supplied version Comments
jQuery JavaScript Library Yes 3.6.0 Biblioteca JavaScript que simplifica el desarrollo multiplataforma entre navegadores.
jQuery UI 1.12.1 Un conjunto de interacciones, efectos, widgets y temas de interfaz de usuario construido sobre jQuery.
SAML PHP Toolkit 4.3.1 Un toolkit de PHP que añade compatibilidad con la autenticación SAML 2.0 para poder iniciar sesión en Zabbix.

Historial de versiones suministradas:
- 4.0.0 desde Zabbix 7.0.0;
- 4.3.1 desde Zabbix 7.0.24 (recomendado).
Duo Universal PHP library 1.1.2 Una biblioteca de PHP que añade compatibilidad con la autenticación multifactor Duo Universal Prompt para Zabbix.

Historial de versiones suministradas:
- 1.0.2 desde Zabbix 7.0.0;
- 1.1.0 desde Zabbix 7.0.23;
- 1.1.2 desde Zabbix 7.0.26 (recomendado).
Symfony Yaml Component 5.1.0 Añade compatibilidad para exportar e importar elementos de configuración de Zabbix en formato YAML.

Zabbix también puede funcionar en versiones anteriores de Apache, MySQL, Oracle y PostgreSQL.

Para fuentes distintas de la predeterminada DejaVu, podría requerirse la función de PHP imagerotate. Si falta, estas fuentes podrían representarse incorrectamente cuando se muestre un gráfico. Esta función solo está disponible si PHP se compila con GD integrado, lo cual no ocurre en Debian y otras distribuciones.

Bibliotecas de terceros utilizadas para escribir y depurar el código del frontend de Zabbix:

Library Mandatory status Minimum version Description
Composer No 2.4.1 Un gestor de paquetes a nivel de aplicación para PHP que proporciona un formato estándar para administrar dependencias de software PHP y bibliotecas requeridas.
PHPUnit 8.5.29 Un framework de pruebas unitarias de PHP para probar el frontend de Zabbix.
SASS 3.4.22 Un lenguaje de scripting preprocesador que se interpreta y compila en hojas de estilo en cascada (CSS).

Las cookies y JavaScript deben estar habilitados.

Se admiten las últimas versiones estables de Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari y Opera.

Se implementa la política de mismo origen para IFrames, lo que significa que Zabbix no puede colocarse en marcos en un dominio diferente.

Aun así, las páginas colocadas en un marco de Zabbix tendrán acceso al frontend de Zabbix (a través de JavaScript) si la página que se coloca en el marco y el frontend de Zabbix están en el mismo dominio. Una página como http://secure-zabbix.com/cms/page.html, si se coloca en paneles en http://secure-zabbix.com/zabbix/, tendrá acceso completo por JS a Zabbix.

Server/proxy

Si se indica como obligatorio, el software/biblioteca requerido es estrictamente necesario. Los opcionales son necesarios para admitir alguna función específica.

Requirement Mandatory status Description
libpcre/libpcre2 One of Se requiere la biblioteca PCRE/PCRE2 para la compatibilidad con Perl Compatible Regular Expression (PCRE).
El nombre puede variar según la distribución GNU/Linux, por ejemplo 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x.
libevent Yes Requerida para la comunicación entre procesos. Versión 2.0.10 o superior (desde Zabbix 7.0.4; 1.4 antes de eso).
libevent-pthreads Requerida para la comunicación entre procesos.
libpthread Requerida para la compatibilidad con mutex y bloqueos de lectura/escritura (puede formar parte de libc).
libresolv Requerida para la resolución DNS (puede formar parte de libc).
libiconv Requerida para la codificación/conversión de formato de texto (puede formar parte de libc). Obligatoria para Zabbix server en Linux.
libz Requerida para la compatibilidad con compresión.
libm Biblioteca matemática. Requerida solo por Zabbix server.
libmysqlclient One of Requerida si se usa MySQL.
libmariadb Requerida si se usa MariaDB.
libclntsh Requerida si se usa Oracle; la versión de libclntsh debe coincidir con la versión de la base de datos Oracle utilizada o ser superior.
libpq5 Requerida si se usa PostgreSQL; la versión de libpq5 debe coincidir con la versión de la base de datos PostgreSQL utilizada o ser superior.
libsqlite3 Requerida si se usa SQLite. Requerida solo para Zabbix proxy.
libOpenIPMI No Requerida para la compatibilidad con IPMI. Requerida solo por Zabbix server.
libssh2 or libssh Requerida para SSH checks. Versión 1.0 o superior (libssh2); 0.9.0 o superior (libssh).
libcurl Requerida para las siguientes funciones:
- Web monitoring, VMware monitoring y items HTTP agent (para todas: versión 7.19.1 o superior);
- items Zabbix agent web.page.* (versión 7.19.1 o superior; consulte también los requisitos de agent);
- SMTP authentication (versión 7.20.0 o superior);
- Elasticsearch (versión 7.28.0 o superior).
Se recomienda la versión 7.28.0 o superior para todas las funciones.
Para usar funciones de cURL actualizadas para items web.page.*, reinicie Zabbix server/proxy.
Para la autenticación SMTP, use el paquete libcurl-full en tiempo de ejecución.
libxml2 Requerida para la monitorización de VMware y el preprocesamiento XML XPath.
net-snmp Requerida para la compatibilidad con SNMP. Versión 5.3.0 o superior.
La compatibilidad con protocolos de cifrado fuertes (AES192/AES192C, AES256/AES256C) está disponible a partir de la biblioteca net-snmp 5.8; en sistemas basados en RHEL 8+ se recomienda usar net-snmp 5.8.15 o posterior.
libunixodbc Requerida para la monitorización de bases de datos.
libgnutls or libopenssl Requerida al usar encryption.
Versiones mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1
libldap Requerida para la compatibilidad con LDAP.
fping Requerida para ICMP ping items.
c-ares Requerida para la resolución DNS asíncrona si Zabbix está configurado con la opción --with-ares. En caso contrario, se usará libevent.
Compatible desde Zabbix 7.0.11; versión mínima: 1.16.0
Agent
Requirement Mandatory status Description
libpcre/libpcre2 One of Se requiere la biblioteca PCRE/PCRE2 para la compatibilidad con Perl Compatible Regular Expression (PCRE).
El nombre puede variar según la distribución GNU/Linux; por ejemplo, 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x.
Requerida para la monitorización de logs. También es necesaria en Windows.
libpthread Yes Requerida para la compatibilidad con mutex y read-write lock (puede formar parte de libc). No es necesaria en Windows.
libresolv Requerida para la resolución DNS (puede formar parte de libc). No es necesaria en Windows.
libiconv Requerida para la conversión de codificación/formato de texto a UTF-8 en items de log, contenido de archivos, expresiones regulares de archivos y items regmatch (puede formar parte de libc). No es necesaria en Windows.
libgnutls or libopenssl No Requerida si se usa encryption.
Versiones mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1
En Microsoft Windows se requiere OpenSSL 1.1.1 o posterior.
libldap Requerida si se usa LDAP. No compatible con Windows.
libcurl Requerida para la compatibilidad ampliada con items web.page.* del agent de Zabbix.
Sin libcurl, está disponible la funcionalidad básica (por ejemplo, web.page.get[http://example.com]). Con libcurl, el agent admite funciones adicionales, como URL HTTP con credenciales (por ejemplo, http://user:[email protected]) y URL HTTPS.
Se requiere la versión 7.19.1 o superior (se recomienda 7.28.0 o superior).
Para usar las funciones actualizadas de cURL, reinicie el agent de Zabbix.
libmodbus Solo es necesaria si se usa la monitorización de Modbus.
Versión 3.0 o superior.
Agent 2
Requirement Mandatory status Description
Go Yes Se requiere para compilar Zabbix agent 2 y sus plugins desde el código fuente.
Se admite Go 1.24.10 o posterior. Consulte go.dev para obtener instrucciones de instalación.
Las bibliotecas Go utilizadas por Zabbix agent 2 y sus plugins se enumeran en el repositorio Git de Zabbix (las bibliotecas marcadas como indirect en el repositorio son dependencias de otras bibliotecas requeridas):
- Zabbix agent 2
- Plugin support
- PostgreSQL
- MongoDB
- MSSQL
- Ember+
- Example plugin
libpcre/libpcre2 One of Se requiere la biblioteca PCRE/PCRE2 para la compatibilidad con Perl Compatible Regular Expression (PCRE).
La denominación puede variar según la distribución GNU/Linux; por ejemplo, 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x.
Es necesaria para la supervisión de registros. También es necesaria en Windows.
libopenssl No Se requiere al usar cifrado.
OpenSSL 1.0.1 o posterior es necesario en plataformas UNIX.
La biblioteca OpenSSL debe tener habilitado el soporte PSK. LibreSSL no es compatible.
En sistemas Microsoft Windows se requiere OpenSSL 1.1.1 o posterior.
Servicio web

La última versión estable de Google Chrome es compatible para generar informes programados utilizando el servicio web de Zabbix.

La versión de Go requerida para compilar el servicio web coincide con la utilizada para el agente Zabbix 2.

Java gateway

Si obtuvo Zabbix desde el repositorio fuente o un archivo, entonces las dependencias necesarias ya están incluidas en el árbol de fuentes.

Si obtuvo Zabbix desde el paquete de su distribución, entonces las dependencias necesarias ya están proporcionadas por el sistema de empaquetado.

En ambos casos anteriores, el software está listo para ser utilizado y no es necesario realizar descargas adicionales.

Sin embargo, si desea proporcionar sus propias versiones de estas dependencias (por ejemplo, si está preparando un paquete para alguna distribución de Linux), a continuación se muestra la lista de versiones de bibliotecas con las que se sabe que Java gateway funciona. Zabbix también puede funcionar con otras versiones de estas bibliotecas.

La siguiente tabla enumera los archivos JAR que actualmente se incluyen con Java gateway en el código original:

Biblioteca Estado obligatorio Versión incluida Comentarios
android-json 4.3r1 JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos. Esta es la implementación compatible con org.json extraída del SDK de Android.
logback-classic 1.5.16
logback-core 1.5.16
slf4j-api 2.0.16

Java gateway se puede compilar utilizando Oracle Java o el OpenJDK de código abierto (versión 1.6 o superior). Los paquetes proporcionados por Zabbix se compilan utilizando OpenJDK. La siguiente tabla enumera los paquetes de OpenJDK utilizados para compilar los paquetes de Zabbix por distribución:

Distribución Paquete OpenJDK
AlmaLinux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
AlmaLinux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.332.b09-2; arm64: 1.8.0.382.b05-2)
Amazon Linux 2023 java-22-amazon-corretto-devel (amd64, arm64: 22.0.2+9-1)
CentOS Stream 9 java-11-openjdk-devel (amd64, arm64: 11.0.18.0.10-3)
CentOS Stream 8 java-1.8.0-openjdk-devel (amd64, arm64: 1.8.0.362.b08-3)
CentOS 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Debian 12 default-jdk-headless (amd64, arm64: 2:1.17-74)
Debian 11 default-jdk-headless (amd64: 2:1.11-72)
OpenSUSE Leap 15 java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1)
Oracle Linux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4.0.1; arm64: 11.0.20.0.8-2.0.1)
Oracle Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4.0.1); java-11-openjdk-devel (arm64: 11.0.20.0.8-3.0.1)
Oracle Linux 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Raspberry Pi OS 12 default-jdk-headless (arm64, armhf: 2:1.17-74)
Raspberry Pi OS 11 default-jdk-headless (arm64: 2:1.11-72; armhf: 2:1.11-72+b4)
RHEL 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
RHEL 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
RHEL 7 java-1.8.0-openjdk-devel (amd64: 1.8.0.282.b08-1)
Rocky Linux 9 java-11-openjdk-devel (amd64: 11.0.19.0.7-4; arm64: 11.0.20.0.8-3)
Rocky Linux 8 java-1.8.0-openjdk-devel (amd64: 1.8.0.372.b07-4; arm64: 1.8.0.382.b05-2)
SLES 15 java-17-openjdk-devel (amd64: 17.0.5.0-150400.3.9.3; arm64: 17.0.8.0-150400.3.27.1)
Ubuntu 24.04 default-jdk-headless (amd64, arm64: 2:1.21-75+exp1)
Ubuntu 22.04 default-jdk-headless (amd64, arm64: 2:1.11-72build2)
Ubuntu 20.04 default-jdk-headless (amd64, arm64: 2:1.11-72)

Números de puerto por defecto

La siguiente lista de puertos abiertos por componente es aplicable para la configuración por defecto:

Componente de Zabbix Número de puerto Protocolo Tipo de conexión
Agente de Zabbix 10050 TCP a demanda
Agente 2 de Zabbix 10050 TCP a demanda
Servidor de Zabbix 10051 TCP a demanda
Proxy de Zabbix 10051 TCP a demanda
Pasarela Java de Zabbix 10052 TCP a demanda
Servicio web de Zabbix 10053 TCP a demanda
Interfaz web de Zabbix 80 HTTP a demanda
443 HTTPS a demanda
Trapper de Zabbix 10051 TCP a demanda

Los números de puerto deben estar abiertos en el firewall para habilitar las comunicaciones de Zabbix. Las conexiones TCP salientes normalmente no requieren configuraciones explícitas en el firewall.

Tamaño de la base de datos

Los datos de configuración de Zabbix requieren una cantidad fija de espacio en disco y no crecen mucho.

El tamaño de la base de datos de Zabbix depende principalmente de estas variables, que definen la cantidad de datos históricos almacenados:

  • Número de valores procesados por segundo

Este es el número promedio de nuevos valores que el server de Zabbix recibe cada segundo. Por ejemplo, si tenemos 3000 items para monitorizar con una frecuencia de actualización de 60 segundos, el número de valores por segundo se calcula como 3000/60 = 50.

Esto significa que se añaden 50 nuevos valores a la base de datos de Zabbix cada segundo.

  • Configuración del housekeeper para el historial

Zabbix mantiene los valores durante un período de tiempo fijo, normalmente varias semanas o meses. Cada nuevo valor requiere una cierta cantidad de espacio en disco para datos e índices.

Por lo tanto, si queremos mantener 30 días de historial y recibimos 50 valores por segundo, el número total de valores será aproximadamente (30*24*3600)* 50 = 129.600.000, o unos 130M de valores.

Dependiendo del motor de base de datos utilizado, el tipo de valores recibidos (flotantes, enteros, cadenas, archivos de registro, etc.), el espacio en disco para mantener un solo valor puede variar desde 40 bytes hasta cientos de bytes. Normalmente es alrededor de 90 bytes por valor para items numéricos2. En nuestro caso, significa que 130M de valores requerirán 130M * 90 bytes = 10,9GB de espacio en disco.

El tamaño de los valores de items de texto/log es imposible de predecir exactamente, pero puede esperar alrededor de 500 bytes por valor.

  • Configuración del housekeeper para tendencias

Zabbix mantiene un conjunto de valores máximo/mínimo/promedio/cantidad de 1 hora para cada item en la tabla trends. Los datos se utilizan para tendencias y gráficos de períodos largos. El período de una hora no se puede personalizar.

La base de datos de Zabbix, dependiendo del tipo de base de datos, requiere alrededor de 90 bytes por cada total. Supongamos que queremos mantener datos de tendencias durante 5 años. Los valores para 3000 items requerirán 3000*24*365* 90 = 2,2GB por año, o 11GB para 5 años.

  • Configuración del housekeeper para eventos

Cada evento de Zabbix requiere aproximadamente 250 bytes de espacio en disco1. Es difícil estimar el número de eventos generados por Zabbix diariamente. En el peor de los casos, podemos suponer que Zabbix genera un evento por segundo.

Para cada evento recuperado, se crea un registro event_recovery. Normalmente la mayoría de los eventos serán recuperados, por lo que podemos suponer un registro event_recovery por evento. Eso significa 80 bytes adicionales por evento.

Opcionalmente, los eventos pueden tener etiquetas, cada registro de etiqueta requiere aproximadamente 100 bytes de espacio en disco1. El número de etiquetas por evento (#tags) depende de la configuración. Por lo tanto, cada uno necesitará #tags * 100 bytes de espacio en disco adicionales.

Esto significa que si queremos mantener 3 años de eventos, esto requeriría 3*365*24*3600* (250+80+#tags*100) = \~30GB+#tags*100B de espacio en disco2.

1 Más cuando se tienen nombres de eventos, etiquetas y valores no ASCII.
2 Las aproximaciones de tamaño se basan en MySQL y pueden ser diferentes para otras bases de datos.

La tabla contiene fórmulas que se pueden utilizar para calcular el espacio en disco requerido para el sistema Zabbix:

Parámetro Fórmula para el espacio en disco requerido (en bytes)
Configuración de Zabbix Tamaño fijo. Normalmente 10MB o menos.
Historial días*(items/frecuencia de actualización)*24*3600*bytes
items : número de items
días : número de días para mantener el historial
frecuencia de actualización : frecuencia de actualización promedio de los items
bytes : número de bytes requeridos para mantener un solo valor, depende del motor de base de datos, normalmente \~90 bytes.
Tendencias días*(items/3600)*24*3600*bytes
items : número de items
días : número de días para mantener el historial
bytes : número de bytes requeridos para mantener una sola tendencia, depende del motor de base de datos, normalmente \~90 bytes.
Eventos días*eventos*24*3600*bytes
eventos : número de eventos por segundo. Un (1) evento por segundo en el peor de los casos.
días : número de días para mantener el historial
bytes : número de bytes requeridos para mantener un solo evento, depende del motor de base de datos, normalmente \~330 + número promedio de etiquetas por evento * 100 bytes.

Por lo tanto, el espacio total requerido en disco se puede calcular como:

Configuración + Historial + Tendencias + Eventos

El espacio en disco NO se utilizará inmediatamente después de la instalación de Zabbix. El tamaño de la base de datos crecerá y luego dejará de crecer en algún momento, lo que depende de la configuración del housekeeper.

Sincronización de tiempo

Es muy importante tener una hora del sistema precisa en el servidor donde se ejecuta Zabbix. ntpd es el demonio más popular que sincroniza la hora del host con la hora de otras máquinas. Se recomienda encarecidamente mantener la hora del sistema sincronizada en todos los sistemas donde se ejecutan los componentes de Zabbix.

Requisitos de red

La siguiente lista de puertos abiertos por componente es aplicable para la configuración por defecto.

Componentes Puerto
Frontend http en 80, https en 443
Servidor 10051 (para uso con proxy/agentes activos)
Proxy Activo 10051
Proxy Pasivo 10051
Agente2 10050
Trapper
JavaGateway 10052
WebService 10053

Los números de puerto deben abrirse en el cortafuegos para habilitar las comunicaciones externas con Zabbix. Las conexiones TCP salientes normalmente no requieren configuraciones explícitas en el cortafuegos.