#2 Requisitos
Zabbix requiere memoria física y de disco. 128 MB de memoria física y 256 MB de espacio libre en disco podría ser un buen punto de partida. Sin embargo, la cantidad de memoria de disco requerida obviamente depende de la cantidad de equipos y parámetros que están siendo monitoreados. Si estás planeando mantener un largo historial de parámetros monitoreados, debe 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 al servidor de base de datos. La cantidad de memoria asignada para la conexión depende de la configuración del motor de la base de datos.
Cuanta más memoria física tenga, más rápida funciona la base de datos (y por lo tanto Zabbix)
Zabbix y especialmente la base de datos de Zabbix pueden requerir significativos recursos de CPU dependiendo del número de parámetros monitoreados y elegidos en el motor de base de datos.
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.
The table provides examples of hardware configuration, assuming a Linux/BSD/Unix platform.
These are size and hardware configuration examples to start with. Each Zabbix installation is unique. Make sure to benchmark the performance of your Zabbix system in a staging or development environment, so that you can fully understand your requirements before deploying the Zabbix installation to its production environment.
Installation size | Monitored metrics1 | CPU/vCPU cores | Memory (GiB) |
Database | Amazon EC22 |
---|---|---|---|---|---|
Small | 1 000 | 2 | 8 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.large/m6g.large |
Medium | 10 000 | 4 | 16 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL |
m6i.xlarge/m6g.xlarge |
Large | 100 000 | 16 | 64 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle |
m6i.4xlarge/m6g.4xlarge |
Very large | 1 000 000 | 32 | 96 | MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle |
m6i.8xlarge/m6g.8xlarge |
1 1 metric = 1 item + 1 trigger + 1 graph
2 Example with Amazon general purpose EC2 instances, using ARM64 or x86_64 architecture, a proper instance type like Compute/Memory/Storage optimised should be selected during Zabbix installation evaluation and testing before installing in its production environment.
Actual configuration depends on the number of active items and refresh rates very much (see database size section of this page for details). It is highly recommended to run the database on a separate box for large installations.
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 entregar constantemente el rendimiento necesario, la tolerancia a fallas y resiliencia. Zabbix opera en versiones líderes en el 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 de Zabbix puede funcionar en otros sistemas operativos similares a Unix. sistemas también. El agente Zabbix es compatible con todos los escritorios de Windows y versiones del servidor desde XP.
Zabbix deshabilita los volcados del núcleo si se compila con cifrado y no se inicia si el sistema no permite la desactivación de volcado del núcleo.
Zabbix se basa en servidores web modernos, motores de bases de datos líderes y lenguaje de programación PHP.
Mandatory requirements are needed always. Optional requirements are needed for the support of the specific function.
Software | Mandatory status | Supported versions | Comments |
---|---|---|---|
MySQL/Percona | One of | 8.0.X | Required if MySQL (or Percona) is used as Zabbix backend database. InnoDB engine is required. We recommend using the MariaDB Connector/C library for building server/proxy. |
MariaDB | 10.5.00-10.8.X | InnoDB engine is required. We recommend using the MariaDB Connector/C library for building server/proxy. | |
Oracle | 19c - 21c | Required if Oracle is used as Zabbix backend database. | |
PostgreSQL | 13.0-14.X | Required if PostgreSQL is used as Zabbix backend database. | |
TimescaleDB for PostgreSQL | 2.0.1-2.7 | Required if TimescaleDB is used as a PostgreSQL database extension. Make sure to install TimescaleDB Community Edition, which supports compression. | |
SQLite | Optional | 3.3.5-3.34.X | SQLite is only supported with Zabbix proxies. Required if SQLite is used as Zabbix proxy database. |
smartmontools | 7.1 or later | Required for Zabbix agent 2. | |
who | Required for the user count plugin. | ||
dpkg | Required for the system.sw.packages plugin. | ||
pkgtool | Required for the system.sw.packages plugin. | ||
rpm | Required for the system.sw.packages plugin. | ||
pacman | Required for the system.sw.packages plugin. |
Although Zabbix can work with databases available in the operating systems, for the best experience, we recommend using databases installed from the official database developer repositories.
El ancho de pantalla mínimo admitido para la interfaz de Zabbix es de 1200 px.
Software | Versión | Comentarios |
---|---|---|
Apache | 1.3.12 o posterior | |
PHP | 7.2.5 o posterior | PHP 8.0 no es compatible. |
Extensiones PHP: | ||
gd | 2.0.28 o posterior | La extensión PHP GD debe ser compatible con imágenes PNG (--with-png-dir), imágenes JPEG (--with-jpeg-dir) y FreeType 2 (-- con-tipo-libre-dir). |
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 secuencias de comandos de usuario. | |
mbstring | php-mbstring (--enable-mbstring) | |
gettext | php-gettext (--with-gettext). Requerido para que las traducciones funcionen. | |
ldap | php-ldap. Obligatorio solo si se utiliza la autenticación LDAP en la interfaz. | |
openssl | php-openssl. Obligatorio solo si se utiliza la autenticación SAML en la interfaz. | |
mysqli | Requerido si se usa MySQL como base de datos backend de Zabbix. | |
oci8 | Requerido si se utiliza Oracle como base de datos backend de Zabbix. | |
pgsql | Requerido si se usa PostgreSQL como base de datos back-end de Zabbix. |
Zabbix puede funcionar en versiones anteriores de Apache, MySQL, Oracle y PostgreSQL también.
Para otras fuentes además de la predeterminada DejaVu, PHP función imagerotate podría ser requerido. Si falta, 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, que no es el caso en Debian y otras distribuciones.
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. :::
Los requisitos obligatorios son necesarios siempre. Los requisitos opcionales son necesarios para el apoyo de la función específica.
Requisito | Estado | Descripción |
---|---|---|
libpcre | Obligatorio | La biblioteca PCRE es necesaria para la compatibilidad con Expresiones regulares compatibles con Perl (PCRE). El nombre puede diferir según el GNU/ Distribución de Linux, por ejemplo, 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x (desde Zabbix 6.0.0). |
libevent | Requerido para soporte de métricas masivas y monitoreo de IPMI. Versión 1.4 o superior. Tenga en cuenta que para el proxy Zabbix este requisito es opcional; es necesario para el soporte de monitoreo de IPMI. |
|
libpthread | Requerido para mutex y soporte de bloqueo de lectura y escritura. | |
zlib | Requerido para soporte de compresión. | |
OpenIPMI | Opcional | Requerido para la compatibilidad con IPMI. |
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. |
|
fping | Requerido para elementos de ping ICMP. | |
libcurl | Requerido para monitoreo web, monitoreo de VMware, autenticación SMTP, web.page.* Zabbix agent items, elementos de 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 | Obligatorio para la supervisión de VMware y el preprocesamiento XML XPath. | |
net-snmp | Requerido para compatibilidad con SNMP. Versión 5.3.0 o superior. | |
GnuTLS, OpenSSL o LibreSSL | Requerido cuando se usa encryption. |
Requisito | Estado | Descripción |
---|---|---|
libpcre | Obligatorio | La biblioteca PCRE es necesaria para la compatibilidad con Expresiones regulares compatibles con Perl (PCRE). El nombre puede diferir según el GNU/ Distribución de Linux, por ejemplo, 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x (desde Zabbix 6.0.0). |
GnuTLS, OpenSSL o LibreSSL | Opcional | Requerido al usar cifrado. En sistemas Microsoft Windows, se requiere OpenSSL 1.1.1 o posterior. |
A partir de la versión 5.0.3, el agente Zabbix no funcionará en Plataformas AIX por debajo de las versiones 6.1 TL07 / AIX 7.1 TL01.
Requisito | Estado | Descripción |
---|---|---|
libpcre | Obligatorio | La biblioteca PCRE es necesaria para la compatibilidad con Expresiones regulares compatibles con Perl (PCRE). El nombre puede diferir según el GNU/ Distribución de Linux, por ejemplo, 'libpcre3' o 'libpcre1'. Se admiten PCRE v8.x y PCRE2 v10.x (desde Zabbix 6.0.0). |
GnuTLS, OpenSSL o LibreSSL | Opcional | Requerido al usar cifrado. En sistemas Microsoft Windows, se requiere OpenSSL 1.1.1 o posterior. |
A partir de la versión 5.0.3, el agente Zabbix no funcionará en Plataformas AIX por debajo de las versiones 6.1 TL07 / AIX 7.1 TL01.
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 código abierto OpenJDK (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 |
---|---|
RHEL/Cent OS 8 | 1.8.0 |
RHEL/Cent OS 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 |
The following list of open ports per component is applicable for default configuration:
Zabbix component | Port number | Protocol | Type of connection |
---|---|---|---|
Zabbix agent | 10050 | TCP | on demand |
Zabbix agent 2 | 10050 | TCP | on demand |
Zabbix server | 10051 | TCP | on demand |
Zabbix proxy | 10051 | TCP | on demand |
Zabbix Java gateway | 10052 | TCP | on demand |
Zabbix web service | 10053 | TCP | on demand |
Zabbix frontend | 80 | HTTP | on demand |
443 | HTTPS | on demand | |
Zabbix trapper | 10051 | TCP | on demand |
The port numbers should be open in firewall to enable Zabbix communications. Outgoing TCP connections usually do not require explicit firewall settings.
Los datos de configuración de Zabbix requieren una cantidad fija de espacio en disco y no 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 artículos 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 elementos numéricos2. En nuestro caso, significa que 130 millones de valores requerirán 130 millones * 90 bytes = 10,9 GB de espacio en disco.
El tamaño de los valores de los elementos 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 elemento en la tabla tendencias. Los datos se utilizan para tendencias y periodos largos. gráficos 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 artículos 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.
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*(elementos/frecuencia de actualización)*24*3600*bytes
elementos: número de elementos
días: número de días para mantener el historial
frecuencia de actualización: actualización promedio tasa de elementos
bytes: número de bytes necesarios para mantener un valor único, depende del motor de la base de datos, normalmente ~90 bytes.| |Tendencias|days*(items/3600)*24*3600*bytes
items : cantidad de elementos
days : 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.