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 serie y un módem GSM serie para el soporte de notificaciones por SMS en Zabbix. Un convertidor de USB a serie también funcionará.
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 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 implementar 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 elemento + 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 prueba de la instalación de Zabbix antes de instalarlo en su entorno de producción.
La configuración real depende mucho del número de elementos activos 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 de la misión 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 las 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 similares a 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 admitir alguna función específica.
Software | Estado obligatorio | Versiones soportadas | Comentarios |
---|---|---|---|
MySQL/Percona | Uno de | 8.0.30-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.5.00-12.0.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. Soporte añadido para versiones de MariaDB: - 12.0.X desde Zabbix 7.4.3. Consulte también: Posibles interbloqueos con MariaDB y Acceso a elementos de la interfaz con MariaDB 10.5.1–10.5.9. |
|
PostgreSQL | 13.0-18.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 lleve demasiado tiempo. Soporte añadido para versiones de PostgreSQL: - 18.X desde Zabbix 7.4.4. |
|
TimescaleDB para PostgreSQL | 2.13.0-2.21.X | Requerido si se utiliza TimescaleDB como extensión de base de datos de PostgreSQL. Asegúrese de instalar TimescaleDB Community Edition, que admite compresión. Tenga en cuenta que PostgreSQL 15 es compatible desde TimescaleDB 2.10. También puede consultar la documentación de TimescaleDB para obtener detalles sobre la compatibilidad de versiones entre PostgreSQL y TimescaleDB. Soporte añadido para versiones de TimescaleDB: - 2.20.X, 2.21.X desde Zabbix 7.4.1. |
|
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 de proxy de Zabbix. |
smartmontools | 7.1 o posterior | Requerido para Zabbix agent 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. | ||
q applets | qlist y qsize , como parte de q applets, son requeridos para el complemento 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, efectos, widgets y temas de interfaz de usuario 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 a 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 incluido, 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 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.
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.
Si se indica como obligatorio, el software/biblioteca requerido es estrictamente necesario. Los opcionales son necesarios para admitir alguna función específica.
Requisito | Estado obligatorio | Descripción |
---|---|---|
libpcre2 | Sí | Se requiere la biblioteca PCRE2 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 IPMI. Requerido solo para 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, elementos web.page.* del agente Zabbix, elementos 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 y el agente Zabbix (para los elementos 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 elementos de ping ICMP. | |
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í | Se requiere la biblioteca PCRE2 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 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 elementos de registro, contenido de archivos, expresiones regulares de archivos y elementos 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 los elementos web.page.* del agente Zabbix. No es compatible con Windows.Se requiere la versión 7.19.1 o superior (se recomienda 7.28.0 o superior). Para aprovechar 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 complementos 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 complementos 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 complementos - PostgreSQL - MongoDB - MSSQL - Ember+ - NVIDIA GPU - Complemento de ejemplo |
libpcre2 | Sí | Se requiere la biblioteca PCRE2 para la compatibilidad con expresiones regulares compatibles con Perl (PCRE). Se admite PCRE2 v10.x. Requerido para la monitorización de registros. También se requiere 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 del repositorio fuente o de un archivo comprimido, las dependencias necesarias ya están incluidas en el árbol de fuentes.
Si obtuvo Zabbix del 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 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 la puerta de enlace Java funciona. Zabbix también puede funcionar con otras versiones de estas bibliotecas.
La siguiente tabla enumera los archivos JAR que actualmente se incluyen con la puerta de enlace Java 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 |
La puerta de enlace Java puede compilarse 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) |
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.
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:
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.
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.
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.
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.
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 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 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 | 10052 |
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.