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 el soporte de notificaciones SMS en Zabbix. Un convertidor USB a serie también funcionará.
La tabla proporciona ejemplos de configuración de hardware, asumiendo una plataforma Linux/BSD/Unix.
Estos son ejemplos de tamaño y configuración de hardware para comenzar. 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 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 |
m6i.4xlarge/m6g.4xlarge |
Muy grande | 1 000 000 | 32 | 96 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.8xlarge/m6g.8xlarge |
1 1 métrica = 1 métrica + 1 disparador + 1 gráfico
2 Ejemplo con instancias EC2 de propósito general de Amazon, utilizando arquitectura ARM64 o x86_64, se debe seleccionar un tipo de instancia adecuado como optimizado para Cómputo/Memoria/Almacenamiento durante la evaluación y pruebas de la instalación de Zabbix antes de instalar en su entorno de producción.
La configuración real depende en gran medida del número de métricas activas y de las tasas de actualización (consulte la sección tamaño de la base de datos de esta página para más detalles). Se recomienda encarecidamente ejecutar la base de datos en un servidor separado para instalaciones grandes.
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 de Zabbix es compatible con todas las versiones de escritorio y servidor desde Windows XP (64 bits)/Server 2003. El agente 2 de Zabbix 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 críticas de seguridad. 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 2 de Zabbix. |
macOS | x | x | - | |
IBM AIX | x | x | - | El agente de Zabbix no funciona en plataformas AIX inferiores a 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 de 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.
Zabbix está construido sobre servidores web modernos, motores de bases de datos líderes y el lenguaje de scripting PHP.
Si se indica como obligatorio, el software/biblioteca requerido es estrictamente necesario. Los opcionales son necesarios para soportar alguna función específica.
Software | Estado obligatorio | Versiones soportadas | Comentarios |
---|---|---|---|
MySQL/Percona | Uno de | 8.4.0-9.0.X | Requerido si se utiliza MySQL (o Percona) como base de datos de backend de Zabbix. Se requiere el motor InnoDB. Recomendamos utilizar la biblioteca C API (libmysqlclient) para compilar el servidor/proxy. |
MariaDB | 10.11.00-11.5.X | Se requiere el motor InnoDB. La versión recomendada es la 11.4. Recomendamos utilizar la biblioteca MariaDB Connector/C para compilar el servidor/proxy. Consulte también: Posibles interbloqueos con MariaDB y Acceso a elementos de la interfaz con MariaDB 10.5.1–10.5.9. |
|
PostgreSQL | 15.0-17.X | Requerido si se utiliza PostgreSQL como base de datos de backend de Zabbix. Dependiendo del tamaño de la instalación, puede ser necesario aumentar la propiedad de configuración work_mem de PostgreSQL (4MB es el valor por defecto), para 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 tome demasiado tiempo. |
|
TimescaleDB para PostgreSQL | 2.20.X | Requerido si se utiliza TimescaleDB como una extensión de base de datos de PostgreSQL. Asegúrese de instalar TimescaleDB Community Edition, que soporta compresión. Tenga en cuenta que PostgreSQL 15 es compatible desde TimescaleDB 2.10. También puede consultar la documentación de Timescale para obtener detalles sobre la compatibilidad de versiones entre PostgreSQL y TimescaleDB. |
|
SQLite | Opcional | 3.3.5-3.34.X | SQLite solo es compatible con proxies de Zabbix. Requerido si se utiliza SQLite como base de datos del proxy de Zabbix. |
smartmontools | 7.1 o posterior | Requerido para el agente Zabbix 2. | |
who | Requerido para el plugin de conteo de usuarios. | ||
dpkg | Requerido para el plugin system.sw.packages. | ||
pkgtool | Requerido para el plugin system.sw.packages. | ||
rpm | Requerido para el plugin system.sw.packages. | ||
pacman | Requerido para el plugin system.sw.packages. | ||
q applets | qlist y qsize , como parte de q applets, son requeridos para el plugin system.sw.packages en Gentoo Linux. |
Aunque Zabbix puede funcionar con bases de datos disponibles en los sistemas operativos, para una mejor experiencia, recomendamos utilizar bases de datos instaladas desde los repositorios oficiales de los desarrolladores de bases de datos.
El ancho mínimo de pantalla compatible para la interfaz web de Zabbix es de 1200px.
Si se indica como obligatorio, el software/biblioteca requerido es estrictamente necesario. Los opcionales son necesarios para soportar alguna función específica.
Software | Estado obligatorio | Versiones soportadas | Comentarios |
---|---|---|---|
PHP | Sí | 8.0.0 - 8.4.X | |
Apache | Uno de | 2.4 o posterior | |
Nginx | 1.20 o posterior | ||
MySQL | Uno de | ||
PostgreSQL | |||
Extensiones PHP | |||
mysqli | Sí | Requerido si se utiliza MySQL como base de datos de Zabbix. | |
pgsql | Requerido si se utiliza PostgreSQL como base de datos de Zabbix. | ||
bcmath | php-bcmath (--enable-bcmath) | ||
mbstring | php-mbstring (--enable-mbstring) | ||
sockets | php-net-socket (--enable-sockets); requerido para soporte de scripts de usuario. | ||
gd | 2.0.28 o posterior | php-gd (si el distribuidor lo proporciona como paquete separado); la extensión PHP GD debe soportar 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 posibles superposiciones de texto en gráficos para algunos idiomas de la interfaz. | |
libxml | 2.6.15 o posterior | php-xml (si el distribuidor lo proporciona como paquete separado) | |
xmlwriter | php-xmlwriter (si el distribuidor lo proporciona como paquete separado) | ||
xmlreader | php-xmlreader (si el distribuidor lo proporciona como paquete separado) | ||
ctype | php-ctype (--enable-ctype) | ||
session | php-session (si el distribuidor lo proporciona como paquete separado) | ||
ldap | No | php-ldap; requerido para autenticación LDAP. | |
openssl | php-openssl; requerido para autenticación SAML. | ||
gettext | php-gettext (--with-gettext); requerido para traducciones. | ||
curl | php-curl; requerido para la opción de autenticación multifactor Duo Universal Prompt. |
Bibliotecas de terceros para la interfaz web que se suministran con Zabbix:
Biblioteca | Estado obligatorio | Versión mínima | Comentarios |
---|---|---|---|
jQuery JavaScript Library | Sí | 3.6.0 | Biblioteca JavaScript que simplifica el desarrollo multiplataforma. |
jQuery UI | 1.12.1 | Un conjunto de interacciones de interfaz de usuario, efectos, widgets y temas construidos sobre jQuery. | |
SAML PHP Toolkit | 4.0.0 | Un toolkit PHP que añade soporte de autenticación SAML 2.0 para poder iniciar sesión en Zabbix. | |
Symfony Yaml Component | 5.1.0 | Añade soporte para exportar e importar elementos de configuración de Zabbix en formato YAML. |
Zabbix también puede funcionar en versiones anteriores de Apache, MySQL y PostgreSQL.
Para fuentes distintas de la predeterminada DejaVu, la función PHP imagerotate podría ser necesaria. Si falta, estas fuentes podrían mostrarse incorrectamente al visualizar 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 de la interfaz web de Zabbix:
Biblioteca | Estado obligatorio | Versión mínima | Descripción |
---|---|---|---|
Composer | No | 2.4.1 | Un gestor de paquetes a nivel de aplicación para PHP que proporciona un formato estándar para gestionar dependencias de software PHP y bibliotecas requeridas. |
PHPUnit | 8.5.29 | Un framework de pruebas unitarias para PHP para probar la interfaz web de Zabbix. | |
SASS | 3.4.22 | Un lenguaje de 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.
Si se indica como obligatorio, el software/biblioteca requerido es estrictamente necesario. Los opcionales son necesarios para soportar alguna función específica.
Requisito | Estado obligatorio | Descripción |
---|---|---|
libpcre2 | Sí | La biblioteca PCRE2 es necesaria para el soporte de Expresiones regulares compatibles con Perl (PCRE). Se admite PCRE2 v10.x. |
libevent | Requerido para la comunicación entre procesos. Versión 2.0.10 o superior. | |
libevent-pthreads | Requerido para la comunicación entre procesos. | |
libpthread | Requerido para soporte de mutex y bloqueo de lectura-escritura (puede formar parte de libc). | |
libresolv | Requerido para la resolución de DNS (puede formar parte de libc). | |
libiconv | Requerido para la conversión de codificación/formato de texto (puede formar parte de libc). Obligatorio para el servidor Zabbix en Linux. | |
libz | Requerido para soporte de compresión. | |
libm | Biblioteca matemática. Requerida solo por el servidor Zabbix. | |
libmysqlclient | Uno de | Requerido si se utiliza MySQL. |
libmariadb | Requerido si se utiliza MariaDB. | |
libpq5 | Requerido si se utiliza PostgreSQL; la versión de libpq5 debe coincidir o ser superior a la versión de la base de datos PostgreSQL utilizada. | |
libsqlite3 | Requerido si se utiliza SQLite. Requerido solo para el proxy Zabbix. | |
libOpenIPMI | No | Requerido para soporte de IPMI. Requerido solo por el servidor Zabbix. |
libssh2 o libssh | Requerido para comprobaciones SSH. Versión 1.8.0 o superior (libssh2); 0.9.0 o superior (libssh). | |
libcurl | Requerido para monitorización web, monitorización VMware, autenticación SMTP, métricas web.page.* del agente Zabbix métricas, métricas de agente HTTP y Elasticsearch (si se utiliza). Se requiere la versión 7.19.1 o superior (se recomienda 7.28.0 o superior).Requisitos de versión de libcurl: - Autenticación SMTP: versión 7.20.0 o superior - Elasticsearch: versión 7.28.0 o superior Para aprovechar las funciones mejoradas de cURL, reinicie el servidor/proxy Zabbix y el agente (para métricas web.page.* ). |
|
libxml2 | Requerido para monitorización VMware y preprocesamiento XML XPath. | |
net-snmp | Requerido para soporte SNMP. Versión 5.3.0 o superior. El soporte de protocolos de cifrado fuerte (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 | Requerido para monitorización de bases de datos. | |
libgnutls o libopenssl | Requerido al usar cifrado. Versiones mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
libldap | Requerido para soporte LDAP. | |
fping | Requerido para métricas ICMP ping. | |
c-ares | Requerido para la resolución asíncrona de DNS si Zabbix se configura con la opción --with-ares . De lo contrario, se utilizará libevent.Versión mínima: 1.16.0 |
Requisito | Estado obligatorio | Descripción |
---|---|---|
libpcre2 | Sí | La biblioteca PCRE2 es necesaria para el soporte de Expresiones regulares compatibles con Perl (PCRE). Se admite PCRE2 v10.x. Requerido para la monitorización de registros. También es necesario en Windows. |
libpthread | Requerido para el soporte de mutex y bloqueo de lectura-escritura (puede formar parte de libc). No es necesario en Windows. | |
libresolv | Requerido para la resolución de DNS (puede formar parte de libc). No es necesario en Windows. | |
libiconv | Requerido para la conversión de codificación/formato de texto a UTF-8 en métricas de registro, contenido de archivos, expresiones regulares de archivos y métricas regmatch (puede formar parte de libc). No es necesario en Windows. | |
libgnutls o libopenssl | No | Requerido si se utiliza cifrado. Versiones mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1 En Microsoft Windows se requiere OpenSSL 1.1.1 o posterior. |
libldap | Requerido si se utiliza LDAP. No es compatible con Windows. | |
libcurl | Requerido para soporte extendido de las métricas web.page.* del agente Zabbix. Sin libcurl, está disponible la funcionalidad básica (por ejemplo, web.page.get[http://example.com]). Con libcurl, el agente admite funciones adicionales, como URLs HTTP con credenciales (por ejemplo, http://usuario:contraseñ[email protected]) y URLs HTTPS.Se requiere la versión 7.19.1 o superior (se recomienda 7.28.0 o superior). Para utilizar las funciones mejoradas de cURL, reinicie el agente Zabbix. |
|
libmodbus | Solo es necesario si se utiliza la monitorización Modbus. Versión 3.0 o superior. |
Requisito | Estado obligatorio | Descripción |
---|---|---|
Go | Sí | Requerido para compilar el agente Zabbix 2 y sus plugins desde el código fuente. Se admite Go 1.23 o posterior. Consulte go.dev para obtener instrucciones de instalación. Las bibliotecas Go utilizadas por el agente Zabbix 2 y sus plugins están listadas en el repositorio Git de Zabbix (las bibliotecas marcadas como indirect en el repositorio son dependencias de otras bibliotecas requeridas):- Agente Zabbix 2 - Soporte de plugin - PostgreSQL - MongoDB - MSSQL - Ember+ - NVIDIA GPU - Plugin de ejemplo |
libpcre2 | Sí | La biblioteca PCRE2 es necesaria para el soporte de Expresiones Regulares Compatibles con Perl (PCRE). Se admite PCRE2 v10.x. Requerido para la monitorización de logs. También es necesario en Windows. |
libopenssl | No | Requerido al utilizar cifrado. Se requiere OpenSSL 1.0.1 o posterior 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. |
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.
Si obtuvo Zabbix desde el repositorio fuente o un archivo comprimido, 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 son proporcionadas por el sistema de empaquetado.
En ambos casos anteriores, el software está listo para ser utilizado y no se requieren 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 mínima | Comentarios |
---|---|---|---|
android-json | Sí | 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 puede ser compilado usando Oracle Java o el OpenJDK de código abierto (versión 1.6 o superior). Los paquetes proporcionados por Zabbix se compilan usando 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) |
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 |
Java gateway 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.
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:
Este es el número promedio de nuevos valores que el servidor Zabbix recibe cada segundo. Por ejemplo, si tenemos 3000 métricas 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 agregan 50 nuevos valores a la base de datos de Zabbix cada segundo.
Zabbix mantiene los valores durante un período fijo de tiempo, normalmente varias semanas o meses. Cada nuevo valor requiere una cierta cantidad de espacio en disco para los datos y el índice.
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 alrededor de 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 métricas numéricas2. En nuestro caso, esto significa que 130M de valores requerirán 130M * 90 bytes = 10,9GB de espacio en disco.
El tamaño de los valores de métricas de texto/log es imposible de predecir exactamente, pero puede esperar alrededor de 500 bytes por valor.
Zabbix mantiene un conjunto de valores máximo/mínimo/promedio/conteo por hora para cada métrica 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 métricas requerirán 3000*24*365* 90 = 2,2GB por año, o 11GB para 5 años.
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 adicionales de espacio en disco.
Esto significa que si queremos mantener 3 años de eventos, esto requerirá 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*(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 : frecuencia de actualización promedio de las métricas bytes : número de bytes requeridos para mantener un solo valor, depende del motor de base de datos, normalmente ~90 bytes. |
Tendencias | días*(métricas/3600)*24*3600*bytes métricas : número de métricas 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 una sola tendencia, 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.
Es muy importante tener la hora del sistema precisa en el servidor donde se ejecuta Zabbix. 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 sistemas donde se ejecutan los componentes de Zabbix.
La siguiente lista de puertos abiertos por componente es aplicable para la configuración por defecto.
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 |
Trapper | |
JavaGateway | 10052 |
WebService | 10053 |
Los números de puerto deben abrirse en el firewall para habilitar las comunicaciones externas con Zabbix. Las conexiones TCP salientes normalmente no requieren configuraciones explícitas en el firewall.