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 usar el soporte de notificación por SMS en Zabbix. El convertidor USB a serie también funciona.
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 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 sus frecuencias de actualización (consulte la sección tamaño de la base de datos de esta página para obtener más detalles). Se recomienda encarecidamente ejecutar la base de datos en un servidor independiente para instalaciones grandes.
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 resiliencia. Zabbix opera en versiones líderes del mercado.
Los componentes de Zabbix están disponibles y probados para las siguientes plataformas:
Platforma | 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 en otras operaciones similares a Unix sistemas también. El agente Zabbix es compatible con todos los escritorios de Windows y Versiones del servidor desde XP.
Para evitar vulnerabilidades críticas de seguridad en Zabbix Agent 2, se compila solo con versiones Go compatibles. A partir de Go 1.21, las versiones mínimas requeridas de Windows son levantados; por lo tanto, desde Zabbix 6.0.27, la versión mínima 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.
Zabbix se basa en servidores web modernos, motores de bases de datos líderes y lenguaje de programación PHP.
Si se indica como obligatorio, el software o la biblioteca requeridos son estrictamente necesarios. Los opcionales son necesarios para admitir alguna función específica.
Software | Estado obligatorio | Versiones compatibles | Comentarios |
---|---|---|---|
MySQL/Percona | Uno de | 8.0.30-9.0.X | Requerido si se utiliza MySQL (o Percona) como base de datos backend de Zabbix. Se requiere el motor InnoDB. Compatibilidad añadida con las versiones MySQL: - 8.1 desde Zabbix 6.0.21; - 8.2 desde Zabbix 6.0.26; - 8.3 desde Zabbix 6.0.27; - 8.4 desde Zabbix 6.0.32; - 9.0 desde Zabbix 6.0.33. Recomendamos utilizar la biblioteca C API (libmysqlclient) para crear un servidor/proxy. Para las versiones MySQL 8.0.0-8.0.28, consulte también: Posibles bloqueos. |
MariaDB | 10.5.00-11.5.X | Se requiere el motor InnoDB. La versión recomendada es 10.5. Recomendamos usar la biblioteca MariaDB Connector/C para crear el servidor/proxy. Compatibilidad añadida con las versiones de MariaDB: - 10.7.X desde Zabbix 6.0.6; - 10.8.X desde Zabbix 6.0.7; - 10.9.X y 10.10.X desde Zabbix 6.0.13; - 10.11.X desde Zabbix 6.0.15; - 11.0.X desde Zabbix 6.0.21; - 11.1.X desde Zabbix 6.0.23; - 11.2.X desde Zabbix 6.0.27; - 11.3.X desde Zabbix 6.0.29; - 11.4.X desde Zabbix 6.0.32; - 11.5.X desde Zabbix 6.0.34. Consulte también: Posibles bloqueos. |
|
Oracle | 19c - 21c | Se requiere si Oracle se utiliza como base de datos backend de Zabbix. | |
PostgreSQL | 13.0-16.X | Requerido si se utiliza PostgreSQL como base de datos backend de Zabbix. Dependiendo del tamaño de la instalación, puede ser necesario aumentar la propiedad de configuración work_mem de PostgreSQL (4 MB es 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 tome demasiado tiempo. Compatibilidad agregada para las versiones de PostgreSQL: - 15.X desde Zabbix 6.0.10; - 16.X desde Zabbix 6.0.23. |
|
TimescaleDB para PostgreSQL | 2.1.0-2.16.X | Requerido si se utiliza TimescaleDB como una extensión de base de datos de 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 de Timescale para obtener detalles sobre la compatibilidad de versiones de PostgreSQL y TimescaleDB. Compatibilidad agregada para las versiones de TimescaleDB: - 2.6 desde Zabbix 6.0.7; - 2.7 desde Zabbix 6.0.8; - 2.8 desde Zabbix 6.0.10; - 2.9 desde Zabbix 6.0.13; - 2.10 desde Zabbix 6.0.15; - 2.11 desde Zabbix 6.0.19; - 2.12 desde Zabbix 6.0.24; - 2.13 desde Zabbix 6.0.25; - 2.14 desde Zabbix 6.0.28; - 2.15 desde Zabbix 6.0.32; - 2.16 desde Zabbix 6.0.34. |
|
SQLite | Opcional | 3.3.5-3.34.X | SQLite solo es compatible con servidores proxy de Zabbix. Es obligatorio si SQLite se utiliza como base de datos proxy de Zabbix. |
smartmontools | 7.1 o posterior | Se requiere para el agente Zabbix 2. | |
who | Se requiere para el complemento de recuento de usuarios. | ||
dpkg | Se requiere 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 funcionar con bases de datos disponibles en los sistemas operativos, para una mejor experiencia, recomendamos usar bases de datos instaladas desde los repositorios oficiales de desarrolladores de bases de datos.
El ancho de pantalla mínimo admitido para la interfaz de Zabbix es de 1200 px.
Si se indica como obligatorio, el software o la biblioteca requeridos son estrictamente necesarios. Los opcionales son necesarios para admitir alguna función específica.
Software | Estado obligatorio | Versión | Comentarios |
---|---|---|---|
Apache | Una de | 2.4 o posterior | |
Nginx | 1.20 o posterior | ||
PHP | Sí | 7.2.5 o posterior, 8.0-8.3 | Se recomienda usar PHP 7.4 o posterior. Compatibilidad agregada para las versiones de PHP: - 8.0 y 8.1 desde Zabbix 6.0.6; - 8.2 desde Zabbix 6.0.14; - 8.3 desde Zabbix 6.0.26. |
Extensiones PHP: | |||
gd | Sí | 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 la posible superposición de texto en los gráficos para algunos lenguajes 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 la compatibilidad con scripts de usuario. | ||
mbstring | php-mbstring (--enable-mbstring) | ||
gettext | php-gettext (--with-gettext). Requerido para que funcionen las traducciones. | ||
ldap | No | php-ldap. Requerido solo si se utiliza autenticación LDAP en el frontend. | |
openssl | php-openssl. Requerido solo si se utiliza autenticación SAML en el frontend. | ||
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 frontend de terceros que se suministran con Zabbix:
Biblioteca | Estado obligatorio | Versión mínima | Comentarios |
---|---|---|---|
Biblioteca de JavaScript jQuery | Sí | 3.6.0 | Biblioteca de JavaScript que simplifica el proceso de desarrollo entre navegadores. |
jQuery UI | 1.12.1 | Un conjunto de interacciones de interfaz de usuario, efectos, widgets y temas creados sobre jQuery. | |
Kit de herramientas PHP SAML de OneLogin | 3.4.1 | Un kit de herramientas PHP que agrega compatibilidad con la autenticación SAML 2.0 para poder iniciar sesión en Zabbix. | |
Componente Yaml de Symfony | 5.1.0 | Agrega 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 otras fuentes que no sean la predeterminada DejaVu, es posible que se requiera la función PHP imagerotate. Si no está, es posible que estas fuentes se representen incorrectamente cuando se muestra un gráfico. Esta función solo está disponible si PHP está compilado con GD incluido, lo que no es el caso en Debian y otras distribuciones.
Bibliotecas de terceros utilizadas para escribir y depurar el código de interfaz 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 prueba unitaria 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.
::: nota de advertencia Se implementa la política del mismo origen para IFrames, lo que significa que Zabbix no se puede colocar en marcos en un diferente dominio.
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 paneles en http://secure-zabbix.com/zabbix/
, tendrá acceso JS completo a Zabbix. :::
Si se indica como obligatorio, el software/biblioteca requeridos son estrictamente necesarios. Los opcionales son necesarios para admitir alguna función específica.
Requisito | Estado obligatorio | Descripción |
---|---|---|
libpcre/libpcre2 | Se requiere una de las bibliotecas PCRE/PCRE2 para la compatibilidad con Perl Compatible Regular Expressions (PCRE). El nombre puede variar según la distribución de GNU/Linux, por ejemplo, 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x (desde Zabbix 6.0.0). |
|
libevent | Sí | Se requiere para la comunicación entre procesos. Versión 1.4 o superior. |
libpthread | Necesario para compatibilidad con mutex y bloqueo de lectura y escritura (podría ser parte de libc). | |
libresolv | Necesario para resolución DNS (podría ser parte de libc). | |
libiconv | Necesario para codificación de texto/conversión de formato (podría ser parte de libc). Obligatorio para servidor Zabbix en Linux. | |
libz | Necesario para compatibilidad con compresión. | |
libm | Biblioteca matemática. Requerido solo por servidor Zabbix. | |
libmysqlclient | Uno de | Necesario si se utiliza MySQL. |
libmariadb | Necesario si se utiliza MariaDB. | |
libclntsh | Necesario si se utiliza Oracle; la versión de libclntsh debe coincidir o ser superior a la versión de la base de datos Oracle utilizada. | |
libpq5 | Necesario 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 compatibilidad con IPMI. Requerido solo para el servidor Zabbix. |
libssh2 o libssh | Requerido para comprobaciones SSH. Versión 1.0 o superior (libssh2); 0.6.0 o superior (libssh). libssh es compatible desde Zabbix 4.4.6. |
|
libcurl | Necesario para la monitorización web, la monitorización de VMware, la autenticación SMTP, los elementos del agente Zabbix web.page.* items, los elementos del agente HTTP y Elasticsearch (si se utiliza). 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 | Necesario para la monitorización de VMware y el preprocesamiento de XML XPath. | |
net-snmp | Necesario para la compatibilidad con SNMP. Versión 5.3.0 o superior. La compatibilidad con 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 utilizar net-snmp 5.8.15 o posterior. |
|
libunixodbc | Requerido para la monitorización de la base de datos. | |
libgnutls o libopenssl | Requerido cuando se utiliza cifrado. Versiones mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1 |
|
libldap | Requerido para compatibilidad con LDAP. | |
fping | Requerido para elementos de ping ICMP. |
Requisito | Estado obligatorio | Descripción |
---|---|---|
libpcre/libpcre2 | Se requiere una de las bibliotecas | PCRE/PCRE2 para la compatibilidad con Perl Compatible Regular Expression (PCRE). El nombre puede variar según la distribución de GNU/Linux, por ejemplo, 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x (desde Zabbix 6.0.0). Se requiere para la supervisión de registros. También se requiere en Windows. |
libpthread | Sí | Se requiere para la compatibilidad con mutex y bloqueo de lectura y escritura (podría ser parte de libc). No se requiere en Windows. |
libresolv | Se requiere para la resolución de DNS (podría ser parte de libc). No es necesario en Windows. | |
libiconv | Se requiere para la codificación de texto/conversión de formato a UTF-8 en elementos de registro, contenido de archivo, expresiones regulares de archivo y elementos de coincidencia de registros (puede ser parte de libc). No es necesario en Windows. | |
libgnutls o libopenssl | No | Se requiere si se usa cifrado. Versiones mínimas: libgnutls - 3.1.18, libopenssl - 1.0.1 En Microsoft Windows se requiere OpenSSL 1.1.1 o posterior. |
libldap | Se requiere si se usa LDAP. No es compatible con Windows. | |
libcurl | Requerido para el agente Zabbix web.page.* items. No compatible con Windows.Se recomienda la versión 7.28.0 o superior. |
|
libmodbus | Solo se requiere 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 anteriores a la versión 6.1 TL07/AIX 7.1 TL01.
Requisito | Estado obligatorio | Descripción |
---|---|---|
libpcre/libpcre2 | Se requiere una de las bibliotecas | PCRE/PCRE2 para la compatibilidad con Perl Compatible Regular Expression (PCRE). El nombre puede variar según la distribución de GNU/Linux, por ejemplo, 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x (desde Zabbix 6.0.0). Se requiere para la supervisión de registros. También se requiere en Windows. |
libopenssl | No | Se requiere cuando se utiliza 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 los 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 | Sí | 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 kit 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 de sistemas 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 nativos de Go para D-Bus. | |
github.com/go-sql-driver/mysql | 1.5.0 | Controlador MySQL. | |
github.com/godror/godror | 0.20.1 | Controlador de 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 Memcached. | |
github.com/miekg/dns | 1.1.43 | Biblioteca DNS. | |
github.com/omeid/go-yarn | 0.0.1 | Almacén de cadenas de claves mapeadas en el sistema de archivos integrable. | |
github.com/goburrow/modbus | 0.1.0 | Implementación tolerante a fallas de Modbus. | |
golang.org/x/sys | 0.0.0 | Paquetes Go para interacciones de bajo nivel con el sistema operativo. También se utilizan en la biblioteca de soporte de complementos. Se utilizan en complementos de MongoDB y PostgreSQL. |
|
github.com/Microsoft/go-winio | En Windows. Sí, indirecto1 |
0.6.0 | Implementación de canalización con nombre de Windows. También se utilizan en la biblioteca de soporte de complementos. Se utilizan 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/descodificació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 utiliza en una de las bibliotecas que utiliza el agente. Es obligatorio ya que Zabbix utiliza la biblioteca que utiliza el paquete.
Consulte también las dependencias de los complementos cargables:
Si obtuvo Zabbix del repositorio de origen o de un archivo, entonces las dependencias necesarias ya están incluidas en el árbol de origen.
Si obtuvo Zabbix del paquete de su distribución, entonces las dependencias necesarias ya están provistas por el sistema de empaquetado.
En ambos casos anteriores, el software está listo para usarse y no se necesitan descargas adicionales.
Sin embargo, si desea proporcionar sus 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 funciona Java Gateway. Zabbix también puede funcionar con otras versiones de estas bibliotecas.
La siguiente tabla enumera los archivos JAR que actualmente están incluidos con Java Gateway en el código original:
Biblioteca | Estado obligatorio | Comentarios |
---|---|---|
android-json | Sí | Versión 4.3r1 o superior. JSON (JavaScript Object Notation) es un formato liviano de intercambio de datos. Esta es la implementación de Android compatible con org.json extraída del SDK de Android. |
logback-classic | Versión 1.2.9 o superior. | |
logback-core | Versión 1.2.9 o superior. | |
slf4j-api | Versión 1.7.32 o superior. |
La puerta de enlace de Java se puede crear 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 las versiones de OpenJDK utilizadas para crear paquetes de Zabbix por distribución:
Distribución | Versión de OpenJDK |
---|---|
RHEL 8 | 1.8.0 |
RHEL 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 |
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 crecen mucho.
El tamaño de la base de datos de Zabbix depende principalmente de estas variables, que definen el cantidad de datos históricos almacenados:
Esta es la cantidad promedio de valores nuevos que el servidor Zabbix recibe cada segundo. Por ejemplo, si tenemos 3000 métricas para monitorear con una actualización tasa de 60 segundos, el número de valores por segundo se calcula como 3000/60 = 50. Significa que se agregan 50 valores nuevos 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 nos gustaría mantener 30 días de historial y recibimos 50 valores por segundo, el número total de valores será de alrededor (30*24*3600)* 50 = 129.600.000, o alrededor de 130M de valores.
Según el motor de base de datos utilizado, el tipo de valores recibidos (flotantes, números enteros, cadenas, archivos de registro, etc.), el espacio en disco para guardar un solo el valor puede variar de 40 bytes a cientos de bytes. Normalmente está alrededor 90 bytes por valor para métricas numéricas2.
En nuestro caso, significa que 130M de valores requerirán 130M * 90 bytes = 10,9 GB de espacio en disco.
El tamaño de los valores de las métricas de texto/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 tendencias. Los datos se utilizan para tendencias y gráficos de periodos largos. 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 nos gustaría mantener los datos de tendencia durante 5 años. Los valores para 3000 métricas requerirán 3000*24*365* 90 = 2.2GB por año, o 11GB por 5 años.
Cada evento de Zabbix requiere aproximadamente 250 bytes de espacio en disco1.
Es difícil estimar la cantidad de eventos generados por Zabbix diariamente. En el peor de los casos, podemos suponer que Zabbix genera uno evento por segundo. Para cada evento recuperado, se crea un registro event_recovery
. Normalmente la mayoría de los eventos se recuperarán para que podamos asumir uno event_recovery
registro 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.
Entonces, cada uno necesitará #etiquetas * 100 adicionales bytes de espacio en disco.
Significa que si queremos mantener 3 años de eventos, esto requeriría 3*365*24*3600* (250+80+#etiquetas*100) = ~30GB+#etiquetas*100B disco espacio2.
1 Más cuando se tienen nombres de eventos, etiquetas y valores que no son ASCII.
2 Las aproximaciones de tamaño se basan en MySQL y pueden ser diferente para otras bases de datos.
La tabla contiene fórmulas que se pueden usar 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 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 métricas : cantidad de métricas días: cantidad de días para mantener el historial bytes : cantidad de bytes necesarios para mantener una sola tendencia, 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 sola tendencia, depende del motor de la base de datos, normalmente ~330 + promedio número de etiquetas por evento * 100 bytes. |
Entonces, el espacio en disco total requerido se puede calcular como:
Configuración + Historial + Tendencias + Eventos
El espacio en disco NO se usará 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 ama de llaves.
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.