2 Requisitos

Hardware

Memoria

Zabbix requiere memoria física y de disco. La cantidad de espacio en disco requerido depende obviamente del número de equipos y parámetros que están siendo monitoreados. Si planea mantener un largo historial de seguimiento de parámetros, 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 de demonio 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 Zabbix pueden requerir una cantidad significativa de recursos de CPU dependiendo del número de parámetros monitoreados y del motor de base de datos elegido.

Otro hardware

Se requiere un puerto de comunicación serial y un módem GSM serie para el soporte de notificación por SMS en Zabbix. El convertidor de USB a serie también funciona.

Ejemplos de configuración de hardware

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

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

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

1 1 métrica = 1 métrica + 1 iniciador + 1 gráfico
2 Ejemplo con instancias EC2 de uso general de Amazon, que utilizan arquitectura ARM64 o x86_64, se debe seleccionar el tipo de instancia adecuado como Computación/Memoria/Almacenamiento optimizado durante la evaluación y prueba de instalación de Zabbix antes de instalarla en su entorno de producción.

La configuración real depende mucho del número de métricas activas y frecuencias de actualización (consulte la sección tamaño de la base de datos de esta página para más detalles). Es muy recomendable ejecutar la base de datos en un servidor independiente para grandes instalaciones.

Plataformas compatibles

Debido a los requisitos de seguridad y la naturaleza de misión crítica del servidor de monitoreo, UNIX es el único sistema operativo que puede ofrecer constantemente el rendimiento necesario, la tolerancia a fallos y la resiliencia. Zabbix opera en versiones líderes del mercado.

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

Plataforma Servidor Agente Agente2
Linux x x x
IBM AIX x x -
FreeBSD x x -
NetBSD x x -
OpenBSD x x -
HP-UX x x -
Mac OS X x x -
Solaris x x -
Windows - x x

El servidor/agente Zabbix puede funcionar también en otros sistemas operativos similares a Unix. El agente Zabbix es compatible con todas las versiones de escritorio y versiones de servidor de Windows desde XP (versión XP de 64 bits, desde Zabbix 6.2).

Para evitar vulnerabilidades críticas de seguridad en Zabbix Agent 2, se compila solo con [versiones Go compatibles] (https://go.dev/doc/devel/release#policy). A partir de Go 1.21, se aumentan las versiones mínimas requeridas de Windows; por lo tanto, desde Zabbix 6.4.12, la versión mínima de Windows para el agente Zabbix 2 es Windows 10/Server 2016.

Zabbix deshabilita los volcados de núcleo si se compila con cifrado y no se inicia si el sistema no permite la desactivación de volcados de memoria.

Software necesario

Zabbix se basa en servidores web modernos, motores de bases de datos líderes y lenguaje de programación PHP.

Software circundante externo de terceros

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

Software Estado obligatorio Versiones compatibles Comentarios
MySQL/Percona Uno de 8.0.30-8.2.X Requerido si MySQL (o Percona) se utiliza como base de datos backend de Zabbix. Se requiere el motor InnoDB.

Se agregó soporte para las versiones de MySQL:
- 8.1 desde Zabbix 6.4.6;
- 8.2 desde Zabbix 6.4.11;
- 8.3 since Zabbix 6.4.12.

Recomendamos usar la biblioteca C API (libmysqlclient) para crear servidor/proxy.
MariaDB 10.5.00-11.1.X Se requiere el motor InnoDB.

La versión recomendada es 10.5.

Recomendamos utilizar la biblioteca MariaDB Connector/C para crear servidor/proxy.

Se agregó soporte para las versiones de MariaDB:
- 10.11.X desde Zabbix 6.4.1;
- 11.0.X desde Zabbix 6.4.6;
- 11.1.X desde Zabbix 6.4.8;
- 11.2.X since Zabbix 6.4.12;
- 11.3.X since Zabbix 6.4.14.

Ver también: Posibles interbloqueos con MariaDB.
Oracle 19c - 21c Obligatorio si se utiliza Oracle como base de datos backend de Zabbix.
PostgreSQL 13.0-16.X Obligatorio si PostgreSQL se utiliza como base de datos backend de Zabbix.
Dependiendo del tamaño de la instalación, es posible que sea necesario aumentar la propiedad de configuración work_mem de PostgreSQL (siendo 4 MB el valor predeterminado ), de modo que la cantidad de memoria utilizada por la base de datos para una operación particular sea suficiente y la ejecución de la consulta no lleve demasiado tiempo.

Se agregó soporte para versiones de PostgreSQL:
- 16.X desde Zabbix 6.4. 8.
TimescaleDB para PostgreSQL 2.1.0-2.14.X Obligatorio si TimescaleDB se utiliza como una extensión de base de datos PostgreSQL. Asegúrese de instalar TimescaleDB Community Edition, que admite la compresión.

Tenga en cuenta que PostgreSQL 15 es compatible desde TimescaleDB 2.10.
También puede consultar la documentación oficial para obtener detalles sobre la compatibilidad de las versiones de PostgreSQL y TimescaleDB.

Se agregó soporte para las versiones de TimescaleDB:
- 2.10 desde Zabbix 6.4.1;
- 2.11 desde Zabbix 6.4.4;
- 2.12 desde Zabbix 6.4.9;
- 2.13 desde Zabbix 6.4.10;
- 2.14 since Zabbix 6.4.13.
SQLite Opcional 3.3.5-3.34.X SQLite solo es compatible con servidores proxy Zabbix. Requerido si se utiliza SQLite como base de datos proxy Zabbix.
smartmontools 7.1 o posterior Requerido para el agente Zabbix 2.
who Requerido para el complemento de recuento de usuarios.
dpkg Requerido para el complemento system.sw.packages.
pkgtool Requerido para el complemento system.sw.packages.
rpm Requerido para el complemento system.sw.packages.
pacman Requerido para el complemento system.sw.packages.

Aunque Zabbix puede trabajar con bases de datos disponibles en los sistemas operativos, para una mejor experiencia, recomendamos utilizar las bases de datos instaladas desde los repositorios oficiales de los desarrolladores de las bases de datos.

Interfaz

El ancho de pantalla mínimo admitido para la interfaz de Zabbix es 1200px.

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

Software Estado obligatorio Versión Comentarios
Apache Uno de 2.4 o posterior
Nginx 1.20 o posterior
PHP 7.4.0 - 8.3.X Se recomienda utilizar PHP 8.0 o posterior, porque el proveedor ya no admite PHP 7.4.

Se agregó soporte para versiones de PHP:<br >- 8.3.X desde Zabbix 6.4.11.
Extensiones PHP:
gd 2.0.28 o posterior La extensión PHP GD debe admitir imágenes PNG (--with-png-dir), imágenes JPEG (--with-jpeg-dir) y FreeType 2 (* --with-freetype-dir*).
Es posible que se requiera la versión 2.3.0 o posterior para evitar una posible superposición de texto en los gráficos para algunos idiomas de interfaz.
bcmath php-bcmath (--enable-bcmath)
ctype php-ctype (--enable-ctype)
libXML 2.6.15 o posterior php-xml, si el distribuidor lo proporciona como un paquete separado.
xmlreader php-xmlreader, si el distribuidor lo proporciona como un paquete separado.
xmlwriter php-xmlwriter, si el distribuidor lo proporciona como un paquete separado.
session php-session, si el distribuidor lo proporciona como un paquete separado.
sockets php-net-socket (--enable-sockets). Requerido para soporte de scripts de usuario.
mbstring php-mbstring (--enable-mbstring)
gettext php-gettext (--with-gettext). Requerido para que las traducciones funcionen.
ldap No php-ldap. Sólo es necesario si se utiliza la autenticación LDAP en la interfaz.
openssl php-openssl. Sólo es necesario si se utiliza la autenticación SAML en la interfaz.
mysqli Obligatorio si se utiliza MySQL como base de datos backend de Zabbix.
oci8 Obligatorio si se utiliza Oracle como base de datos backend de Zabbix.
pgsql Obligatorio si se utiliza PostgreSQL como base de datos backend de Zabbix.

Bibliotecas de interfaz de terceros que se suministran con Zabbix:

Biblioteca Estado obligatorio Versión mínima Comentarios
Biblioteca jQuery JavaScript 3.6.0 Biblioteca JavaScript que simplifica el proceso de desarrollo entre navegadores.
jQuery UI 1.12.1 Un conjunto de interacciones, efectos, widgets y temas de interfaz de usuario creados sobre jQuery.
Kit de herramientas PHP SAML de OneLogin 4.0.0 Un kit de herramientas PHP que agrega soporte de autenticación SAML 2.0 para poder iniciar sesión en Zabbix.
Componente Symfony Yaml 5.1.0 Agrega soporte para exportar e importar elementos de configuración de Zabbix en formato YAML.

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

Para fuentes distintas a la predeterminada DejaVu, la función imagerotate de PHP podría ser requerida. Si falta, es posible que estas fuentes se representen incorrectamente cuando se muestra un gráfico. Esta función sólo está disponible si PHP está compilado con GD incluido, lo cual no es el caso en Debian y otras distribuciones.

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

Biblioteca Estado obligatorio Versión mínima Descripción
Composer No 2.4.1 Un administrador de paquetes a nivel de aplicación para PHP que proporciona un formato estándar para administrar dependencias del software PHP y las bibliotecas requeridas.
PHPUnit 8.5.29 Un marco de pruebas unitarias PHP para probar la interfaz de Zabbix.
SASS 3.4.22 Un lenguaje de programación de preprocesador que se interpreta y compila en hojas de estilo en cascada (CSS).

Las cookies y JavaScript deben estar habilitados.

Las últimas versiones estables de Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari y Opera están soportadas.

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

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

Servidor/proxy

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

Requisito Estado obligatorio Descripción
libpcre/libpcre2 Uno de Se requiere una de las bibliotecas PCRE/PCRE2 para admitir Expresión regular compatible con Perl (PCRE).
El nombre puede diferir dependiendo de la distribución GNU/Linux, por ejemplo 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x (desde Zabbix 6.0.0).
libevent Requerido para la comunicación entre procesos. Versión 1.4 o superior.
libevent-pthreads Requerido para la comunicación entre procesos.
libpthread Requerido para soporte de mutex y bloqueo de lectura-escritura (podría ser parte de libc).
libresolv Requerido para la resolución DNS (podría ser parte de libc).
libiconv Requerido para la codificación de texto/conversión de formato (podría ser parte de libc). Obligatorio para el servidor Zabbix en Linux.
libz Requerido para soporte de compresión.
libm Biblioteca de matemáticas. Requerido únicamente por el servidor Zabbix.
libmysqlclient Uno de Obligatorio si se utiliza MySQL.
libmariadb Obligatorio si se utiliza MariaDB.
libclntsh Obligatorio si se utiliza Oracle; La versión libclntsh debe coincidir o ser superior a la versión de la base de datos Oracle utilizada.
libpq5 Obligatorio si se utiliza PostgreSQL; La versión libpq5 debe coincidir o ser superior a la versión de la base de datos PostgreSQL utilizada.
libsqlite3 Obligatorio si se utiliza Sqlite. Requerido solo para el proxy Zabbix.
libOpenIPMI No Obligatorio para la compatibilidad con IPMI. Requerido solo para el servidor Zabbix.
libssh2 o libssh Requerido para verificaciones SSH. Versión 1.0 o superior (libssh2); 0.9.0 o superior (libssh).
libssh es compatible desde Zabbix 4.4.6.
libcurl Requerido para monitoreo web, monitoreo de VMware, autenticación SMTP, web.page.* Agente Zabbix elementos, elementos del agente HTTP y Elasticsearch (si usado). Se recomienda la versión 7.28.0 o superior.
Requisitos de la versión de Libcurl:
- Autenticación SMTP: versión 7.20.0 o superior
- Elasticsearch: versión 7.28.0 o superior
libxml2 Requerido para la supervisión de VMware y el preprocesamiento de XML XPath.
net-snmp Requerido para la compatibilidad con SNMP. Versión 5.3.0 o superior.
La compatibilidad con protocolos de cifrado seguros (AES192/AES192C, AES256/AES256C) está disponible a partir de la biblioteca net-snmp 5.8; en sistemas basados en RHEL 8+, se recomienda utilizar net-snmp 5.8.15 o posterior.
libunixodbc Requerido para el monitoreo de la base de datos.
libgnutls o libopenssl Requerido cuando se usa encryption.
Versiones mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1
libldap Requerido para soporte LDAP.
fping Requerido para elementos de ping ICMP.
Agente
Requisito Estado obligatorio Descripción
libpcre/libpcre2 Uno de Se requiere una de las bibliotecas PCRE/PCRE2 para admitir Expresión regular compatible con Perl (PCRE).
El nombre puede diferir dependiendo de la distribución GNU/Linux, por ejemplo 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x (desde Zabbix 6.0.0).
Requerido para el monitoreo de registros. También requerido en Windows.
libpthread Requerido para soporte de mutex y bloqueo de lectura-escritura (podría ser parte de libc). No es necesario en Windows.
libresolv Requerido para la resolución DNS (podría ser parte de libc). No es necesario en Windows.
libiconv Requerido para la codificación de texto/conversión de formato a UTF-8 en elementos de registro, contenido de archivos, expresiones regulares de archivos y elementos de coincidencia (podría ser parte de libc). No es necesario en Windows.
libgnutls o libopenssl No Obligatorio 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 Obligatorio si se utiliza LDAP. No compatible con Windows.
libcurl Requerido para las métricas del agente Zabbix web.page.*. No es compatible con Windows.
Se recomienda la versión 7.28.0 o superior.
libmodbus Solo es necesario si se utiliza la monitorización Modbus.
Versión 3.0 o superior.

A partir de la versión 5.0.3, el agente Zabbix no funcionará en plataformas AIX inferiores a las versiones 6.1 TL07 / AIX 7.1 TL01.

Agente 2
Requisito Estado obligatorio Descripción
libpcre/libpcre2 Uno de Se requiere una de las bibliotecas PCRE/PCRE2 para admitir Expresión regular compatible con Perl (PCRE).
El nombre puede diferir dependiendo de la distribución GNU/Linux, por ejemplo 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x (desde Zabbix 6.0.0).
Requerido para el monitoreo de registros. También requerido en Windows.
libopenssl No Requerido cuando se usa cifrado.
Se requiere OpenSSL 1.0.1 o posterior en plataformas UNIX.
La biblioteca OpenSSL debe tener habilitada la compatibilidad con PSK. LibreSSL no es compatible.
En sistemas Microsoft Windows, se requiere OpenSSL 1.1.1 o posterior.

Bibliotecas Go

Requisito Estado obligatorio Versión mínima Descripción
git.zabbix.com/ap/plugin-support 1.X.X Biblioteca de soporte propia de Zabbix. Principalmente para complementos.
github.com/BurntSushi/locker 0.0.0 Bloqueos de lectura/escritura con nombre, sincronización de acceso.
github.com/chromedp/cdproto 0.0.0 Comandos, tipos y eventos generados para los dominios del protocolo Chrome DevTools.
github.com/chromedp/chromedp 0.6.0 Compatibilidad con el protocolo Chrome DevTools (generación de informes).
github.com/dustin/gomemcached 0.0.0 Un conjunto de herramientas de protocolo binario Memcached para Go.
github.com/eclipse/paho.mqtt.golang 1.2.0 Una biblioteca para manejar conexiones MQTT.
github.com/fsnotify/fsnotify 1.4.9 Notificaciones del sistema de archivos multiplataforma para Go.
github.com/go-ldap/ldap 3.0.3 Funcionalidad LDAP v3 básica para el lenguaje de programación Go.
github.com/go-ole/go-ole 1.2.4 Implementación ole de Win32 para Go.
github.com/godbus/dbus 4.1.0 Enlaces Native Go para D-Bus.
github.com/go-sql-driver/mysql 1.5.0 Controlador MySQL.
github.com/godror/godror 0.20.1 Controlador Oracle DB.
github.com/mattn/go-sqlite3 2.0.3 Controlador Sqlite3.
github.com/mediocregopher/radix/v3 3.5.0 Cliente Redis.
github.com/memcachier/mc/v3 3.0.1 Cliente binario de Memcached.
github.com/miekg/dns 1.1.43 Biblioteca DNS.
github.com/omeid/go-yarn 0.0.1 Almacén de cadenas de claves asignadas del sistema de archivos incrustable.
github.com/goburrow/modbus 0.1.0 Implementación tolerante a fallos de Modbus.
golang.org/x/sys 0.0.0 Paquetes Go para interacciones de bajo nivel con el sistema operativo.<br > También se utiliza en la biblioteca de soporte de complementos. Utilizado en complementos de MongoDB y PostgreSQL.
github.com/Microsoft/go-winio En Windows.
Sí, indirecto1
0.6.0 Windows implementación de canalización con nombre.
También se utiliza en la biblioteca de soporte de complementos. Utilizado en complementos de MongoDB y PostgreSQL.
github.com/goburrow/serial Sí, indirecto1 0.1.0 Biblioteca serial para Modbus.
golang.org/x/xerrors 0.0.0 Funciones para manipular errores.
gopkg.in/asn1-ber.v1 1.0.0 Biblioteca de codificación/decodificación para ASN1 BER.
github.com/go-stack/stack No, indirecto1 1.8.0
github.com/golang/snappy 0.0.1
github.com/klauspost/compress 1.13.6
github.com/xdg-go/pbkdf2 1.0.0
github.com/xdg-go/scram 1.0.2
github.com/xdg-go/stringprep 1.0.2
github.com/youmark/pkcs8 0.0.0

1 "Indirecto" significa que se usa en una de las bibliotecas que usa el agente. Es obligatorio ya que Zabbix usa la biblioteca que usa el paquete.

Vea también dependencias para complementos cargables:

Pasarela Java

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

Si obtuvo Zabbix del paquete de su distribución, entonces el el sistema de empaquetado ya proporciona las dependencias necesarias.

En los dos casos anteriores, el software está listo para ser utilizado y no requiere las descargas son necesarias.

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

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

Biblioteca Licencia Sitio web Comentarios
logback-core-1.2.3.jar EPL 1.0, LGPL 2.1 http://logback.qos.ch/ Probado con 0.9.27, 1.0.13, 1.1.1 y 1.2.3.
logback-classic-1.2.3.jar EPL 1.0, LGPL 2.1 http://logback.qos.ch/ Probado con 0.9.27, 1.0.13, 1.1.1 y 1.2.3.
slf4j-api-1.7.30.jar Licencia MIT http://www.slf4j.org/ Probado con 1.6.1, 1.6.6, 1.7.6 y 1.7.30.
android-json-4.3_r3.1.jar Licencia Apache 2.0 https://android.googlesource.com/platform/libcore/+/master/json Probado con 2.3.3_r1.1 y 4.3_r3.1. Consulte src/zabbix_java/lib/README para obtener instrucciones sobre cómo crear un archivo JAR.

La puerta de enlace de Java se puede construir utilizando Oracle Java o OpenJDK de código abierto (versión 1.6 o posterior). Los paquetes proporcionados por Zabbix se compilan utilizando OpenJDK. La siguiente tabla proporciona información sobre OpenJDK versiones utilizadas para construir paquetes Zabbix por distribución:

Distribución Versión de OpenJDK
RHELOS 8 1.8.0
RHELOS 7 1.8.0
SLES 15 11.0.4
SLES 12 1.8.0
Debian 10 11.0.8
Ubuntu 20.04 11.0.8
Ubuntu 18.04 11.0.8

Números de puerto predeterminados

La siguiente lista de puertos abiertos por componente se aplica a la configuración predeterminada:

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

Los números de puerto deben estar abiertos en el firewall para permitir las comunicaciones de Zabbix. Las conexiones TCP salientes normalmente no requieren una configuración explícita del 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 crece 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 valores nuevos que el servidor Zabbix recibe cada segundo. Por ejemplo, si tenemos 3000 métricas para monitorear con una velocidad de actualización de 60 segundos, el número de valores por segundo se calcula como 3000/60 = 50.

Significa que se agregan 50 nuevos valores a la base de datos de Zabbix cada segundo.

  • Configuración del limpiador 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 índice.

Entonces, si queremos conservar 30 días de historial y recibimos 50 valores por segundo, el número total de valores será de aproximadamente (30*24*3600)* 50 = 129.600.000, o alrededor de 130 millones 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 único valor puede variar desde 40 bytes hasta cientos de bytes. normalmente esta alrededor 90 bytes por valor para métricas numéricas2. En nuestro caso, significa que 130 M de valores requerirán 130 M * 90 bytes = 10,9 GB de espacio en disco.

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

  • Configuración del limpiador para las tendencias.

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

La base de datos Zabbix, según el tipo de base de datos, requiere alrededor de 90 bytes por cada total. Supongamos que queremos conservar los datos de tendencias durante 5 años. Los valores para 3000 elementos requerirán 3000*24*365* 90 = 2,2 GB por año, o 11 GB durante 5 años.

  • Configuración del limpiador para eventos.

Cada evento de Zabbix requiere aproximadamente 250 bytes de espacio en disco1. Es difícil estimar la cantidad de eventos que genera 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 se recuperarán, por lo que podemos asumir un registro de 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 adicionales de espacio en disco.

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

1 Más cuando se tienen nombres de eventos, etiquetas y valores que no sean 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 10 MB o menos.
Historial días*(métricas/frecuencia de actualización)*24*3600*bytes
métricas: número de métricas
días: número de días para mantener el historial
frecuencia de actualización: actualización promedio tasa de métricas
bytes: número de bytes necesarios para mantener un valor único, depende del motor de la base de datos, normalmente ~90 bytes.
Tendencias días*(métricas/3600)*24*3600*bytes
elementos: número de métricas
días: número de días para mantener el historial
bytes: número de bytes necesarios para mantener una tendencia única, depende del motor de la 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 necesarios para mantener una tendencia única, depende del motor de base de datos, normalmente ~330 + promedio número de etiquetas por evento * 100 bytes.

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

Sincronización de tiempo

Es muy importante tener la hora precisa del sistema en el servidor con Zabbix corriendo. ntpd es el demonio más popular que sincroniza la hora del equipo con la hora de otras máquinas. Se recomienda encarecidamente mantener la hora del sistema sincronizada en todos los componentes de Zabbix que se están ejecutando.

Requisitos de red

La siguiente lista de puertos abiertos por componente se aplica a la configuración predeterminada.

Puerto Componentes
Frontend http en 80, https en 443
Servidor 10051 (para uso con proxy/agentes activos)
Proxy activo 10051
Proxy pasivo 10051
Agente2 10050
Capturador
JavaGateway 10053
Servicio Web 10053

Los números de puerto deben abrirse en el firewall para permitir comunicaciones externas con Zabbix. Las conexiones TCP salientes normalmente no requieren una configuración explícita del firewall.