Introducción e Infraestructura de Monitoreo con Zabbix 7.0 LTS
Zabbix 7.0 LTS es una plataforma distribuida de monitoreo y observabilidad de infraestructura de grado empresarial diseñada para la recolección, correlación, análisis y visualización en tiempo real de métricas operativas procedentes de servidores, componentes de red, máquinas virtuales, contenedores y servicios en la nube. El despliegue del stack Zabbix Server sobre el sistema operativo Ubuntu 24.04 LTS (Noble Numbat) se realiza integrando el motor de base de datos relacional PostgreSQL 16, el servidor web de alto rendimiento Nginx y el interprete de scripts PHP-FPM (versión 8.3), logrando una arquitectura capaz de procesar un elevado volumen de nuevos valores por segundo (NVPS) sin degradación de I/O. Esta infraestructura proporciona detección proactiva de anomalías mediante algoritmos sintácticos de disparadores, motor de alertas multicanal automatizado y escalabilidad horizontal para entornos críticos de producción.
Requisitos Previos y Dimensionamiento de la Infraestructura
Antes de iniciar la instalación de los componentes del stack de Zabbix, es imprescindible realizar un análisis de dimensionamiento del hardware subyacente y verificar que las reglas de filtrado de paquetes en la red permitan el flujo de datos bidireccional entre el servidor central, las sondas (proxies) y los agentes.
Requisitos del Sistema Operativo y Hardware
Para una infraestructura base capaz de monitorear hasta 1,000 nodos activos con una frecuencia de muestreo de 60 segundos (aproximadamente 1,500 a 2,000 NVPS), se requieren las siguientes especificaciones técnicas mínimas:
- Sistema Operativo: Ubuntu 24.04 LTS (Noble Numbat) de 64 bits en instalación Server limpia.
- Unidad Central de Procesamiento (CPU): 4 núcleos virtuales (vCPU) dedicados a 2.4 GHz o superior.
- Memoria RAM: 8 GB de RAM (asignando 4 GB a la instancia de PostgreSQL, 2 GB a la memoria compartida de Zabbix y 2 GB al sistema operativo y PHP-FPM).
- Almacenamiento: Unidad SSD NVMe de 100 GB con alto rendimiento de escrituras aleatorias para soportar las transacciones concurrentes en las tablas de historial y tendencias.
- Privilegios de Usuario: Cuenta de usuario no raíz con acceso a la utilidad
sudopara ejecución imperativa de comandos administrativos.
Matriz de Puertos de Red y Reglas de Firewall
Asegúrese de habilitar las siguientes reglas de comunicación en el firewall del sistema (UFW) o en los grupos de seguridad de la red para garantizar el funcionamiento del stack:
| Puerto | Protocolo | Flujo (Origen → Destino) | Propósito del Servicio |
|---|---|---|---|
10051 | TCP | Agentes / Proxies → Server | Puerto de escucha principal del trapper y pollers activos del Zabbix Server. |
10050 | TCP | Server → Agente Zabbix | Puerto de escucha del Zabbix Agent / Agent 2 para recolección pasiva de métricas. |
80 / 443 | TCP | Administrador → Server Web | Acceso a la consola gráfica de gestión (Frontend Web) mediante HTTP/HTTPS. |
161 / 162 | UDP | Dispositivos → Server | Recolección de métricas mediante consultas SNMP Polling y recepción de SNMP Traps. |
Despliegue del Stack Zabbix 7.0 LTS en Ubuntu 24.04 LTS
El siguiente procedimiento describe detalladamente la configuración de repositorios oficiales, el aprovisionamiento del motor PostgreSQL, la importación del esquema de base de datos y la configuración de Nginx con PHP 8.3.
Paso 1. Configuración del Repositorio Oficial de Zabbix
- Abra una sesión de terminal SSH en el servidor Ubuntu 24.04 LTS.
- Descargue el paquete de configuración del repositorio oficial de Zabbix versión 7.0 LTS diseñado para Ubuntu 24.04:
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb - Instale el archivo
.debdescargado en el gestor de paquetes local:sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb - Actualice el índice del gestor de paquetes
aptpara incluir los paquetes del nuevo repositorio:sudo apt update
Paso 2. Instalación de Zabbix Server, Frontend, Nginx y Agente 2
- Ejecute la instalación unificada de Zabbix Server con soporte nativo para PostgreSQL, la interfaz gráfica web PHP, las plantillas de Nginx, los scripts de inicialización SQL y el Agente 2 de Zabbix:
sudo apt install -y zabbix-server-pg zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2 postgresql postgresql-contrib
Paso 3. Configuración y Aprovisionamiento del SGBD PostgreSQL 16
- Verifique que el servicio de PostgreSQL esté activo y habilitado para iniciar automáticamente con el sistema:
sudo systemctl enable --now postgresql - Acceda a la consola interactiva de PostgreSQL utilizando la cuenta de sistema
postgres:sudo -u postgres psql - Cree el usuario de base de datos
zabbixy defina una contraseña segura. Reemplace la cadena'TuClaveSegura2026!'por su credencial definitiva:CREATE USER zabbix WITH PASSWORD 'TuClaveSegura2026!'; - Cree la base de datos nominada
zabbixasignando como propietario al usuariozabbixy estableciendo la codificación en UTF-8:CREATE DATABASE zabbix OWNER zabbix ENCODING 'UTF8' LC_COLLATE 'C' LC_CTYPE 'C'; - Cierre la interfaz de la consola de PostgreSQL:
\q
Paso 4. Importación del Esquema Inicial y Datos Base
- Importe la estructura de tablas y los registros iniciales suministrados por el paquete oficial dentro de la base de datos PostgreSQL creada. Ingrese la contraseña del usuario
zabbixconfigurada previamente cuando la consola lo solicite:zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix - Asegúrese de que el comando finalice sin arrojar errores de sintaxis o de autenticación antes de continuar con la configuración del servicio principal.
Paso 5. Edición del Archivo de Configuración zabbix_server.conf
- Abra el archivo de configuración del daemon de Zabbix Server en la ruta predeterminada del sistema:
sudo nano /etc/zabbix/zabbix_server.conf - Ubique los parámetros de conexión a la base de datos, des-comente la directiva
DBPasswordeliminando el carácter#e introduzca la clave configurada en el paso 3:DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=TuClaveSegura2026! - Guarde los cambios aplicados en el editor
nanomediante la combinaciónCtrl + O, confirme conEntery cierre la herramienta conCtrl + X.
Paso 6. Configuración del Servidor Web Nginx y el Entorno PHP-FPM
- Abra el archivo de virtual host de Nginx creado específicamente para la interfaz gráfica de Zabbix:
sudo nano /etc/zabbix/nginx.conf - Des-comente las directivas
listenyserver_name. Ajuste el puerto de escucha web deseado (por ejemplo, el puerto 80) y defina la dirección IP pública/privada o el nombre de dominio FQDN de la máquina:listen 80; server_name monitoreo.tudominio.com; - Guarde y cierre el archivo de configuración de Nginx.
- Edite el archivo de configuración de la piscina PHP-FPM para Zabbix:
sudo nano /etc/zabbix/php-fpm.conf - Localice la variable
date.timezone, remueva el símbolo de comentario y configure la zona horaria correspondiente a la ubicación geográfica de sus servidores:php_value[date.timezone] = America/Mexico_City
Paso 7. Arranque e Habilitación de Servicios del Sistema
- Ejecute el reinicio y habilitación automática durante la secuencia de arranque del sistema operativo para los servicios Zabbix Server, Zabbix Agent 2, Nginx y PHP 8.3 FPM:
sudo systemctl restart zabbix-server zabbix-agent2 nginx php8.3-fpm sudo systemctl enable zabbix-server zabbix-agent2 nginx php8.3-fpm - Compruebe la correcta ejecución del daemon de Zabbix verificando el estado del servicio:
sudo systemctl status zabbix-server
Asistente de Configuración Web de Zabbix (Web GUI Setup)
Posterior al arranque exitoso de los procesos de backend, debe ejecutarse la inicialización de la interfaz gráfica a través del navegador web.
Paso 8. Ejecución del Wizard de Zabbix Frontend
- Abra su navegador web e ingrese el FQDN o la IP asignada en el servidor Nginx (por ejemplo,
http://192.168.1.50ohttp://monitoreo.tudominio.com). - Selección de Idioma: En la pantalla de bienvenida, seleccione Spanish (es_ES) o mantenga el idioma predeterminado y presione el botón «Next step».
- Verificación de Pre-requisitos: Compruebe que todos los parámetros de ejecución de PHP (memory_limit, post_max_size, upload_max_filesize, max_execution_time, max_input_time, sockets, gd) muestren el indicador de estado
OKen verde. Haga clic en «Next step». - Conexión con la Base de Datos:
- Database type: Seleccione
PostgreSQL. - Database host:
localhost - Database port:
0(se asignará el puerto 5432 por defecto) - Database name:
zabbix - User:
zabbix - Password: Ingrese la clave
TuClaveSegura2026!.
- Database type: Seleccione
- Configuración del Servidor: En el campo Zabbix server name, defina una etiqueta descriptiva (por ejemplo,
Zabbix-PROD-Ubuntu24) y confirme la zona horaria del sistema. Presione «Next step». - Resumen e Instalación: Valide las opciones seleccionadas y presione «Next step» para generar automáticamente el archivo de parámetros
/etc/zabbix/web/zabbix.conf.php. Finalice haciendo clic en «Finish». - Autenticación en la Plataforma:
- Usuario por defecto:
Admin(respetando la letra mayúscula inicial). - Contraseña por defecto:
zabbix(en minúsculas).
- Usuario por defecto:
ALERTA DE SEGURIDAD OPERATIVA: Tan pronto como ingrese por primera vez al panel de control, diríjase al módulo User Settings → Profile o navegue a Administration → Users, seleccione la cuenta
Adminy proceda a cambiar la contraseña predeterminada para fortificar la plataforma frente a escaneos automatizados.
Optimización del Rendimiento y Ajustes del Kernel Linux
En despliegues de grado empresarial, las configuraciones por defecto de Ubuntu 24.04 y de los buffers de Zabbix pueden generar cuellos de botella bajo alta carga de trabajo. A continuación, se detallan los ajustes de parámetros del sistema operativos requeridos.
Optimización de Parámetros sysctl para Red y Memoria
- Cree un archivo de personalización de parámetros del kernel en el directorio
sysctl.d:sudo nano /etc/sysctl.d/99-zabbix-performance.conf - Agregue los siguientes parámetros para incrementar las colas de procesamiento de red y ajustar el manejo de memoria virtual:
# Ajuste de tamaño máximo de memoria compartida kernel.shmmax = 2147483648 kernel.shmall = 524288 # Optimización de la cola de backlog TCP para recepción masiva de métricas net.core.somaxconn = 4096 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.ip_local_port_range = 1024 65535 # Reducción de la agresividad del uso de espacio SWAP vm.swappiness = 10 - Cargue la nueva configuración en caliente para aplicar los cambios en el kernel en ejecución:
sudo sysctl --system
Tuning de Caché y Pollers en Zabbix Server
- Edite el archivo de configuración principal de Zabbix Server:
sudo nano /etc/zabbix/zabbix_server.conf - Modifique las directivas asignando valores ajustados a la disponibilidad de memoria RAM del servidor:
# Asignación de memoria compartida para almacenar la configuración de Hosts e Ítems CacheSize=512M # Búferes en RAM para retención temporal de historial y tendencias antes del commit en PostgreSQL HistoryCacheSize=128M HistoryIndexCacheSize=64M TrendCacheSize=64M ValueCacheSize=256M # Incremento de procesos concurrentes de recolección de datos StartPollers=20 StartPollersUnreachable=10 StartTrappers=10 StartPingers=10 StartHTTPPollers=10 - Reinicie el servicio de Zabbix Server para reasignar los bloques de memoria RAM:
sudo systemctl restart zabbix-server
Monitoreo Inicial: Instalación y Validación del Zabbix Agent 2
El Zabbix Agent 2 es un agente de monitoreo moderno escrito en lenguaje Go que reemplaza la arquitectura clásica basada en hilos. Permite la ejecución concurrente de solicitudes mediante un esquema de plugins ligeros, minimizando el impacto sobre los recursos del sistema objetivo.
Paso 1. Instalación del Agente 2 en Ubuntu
- Instale el paquete ejecutable del Agente 2 desde los repositorios previamente configurados:
sudo apt update sudo apt install -y zabbix-agent2
Paso 2. Configuración del Archivo zabbix_agent2.conf
- Abra el archivo de configuración del Agente 2:
sudo nano /etc/zabbix/zabbix_agent2.conf - Especifique la dirección IP del servidor central y defina la identidad única del host:
# Dirección IP del Zabbix Server autorizada para polling pasivo Server=127.0.0.1, 192.168.1.50 # Dirección IP del Zabbix Server autorizada para métricas activas ServerActive=192.168.1.50 # Nombre idéntico al configurado en la opción "Host name" de la interfaz gráfica Hostname=Zabbix-PROD-Ubuntu24 - Guarde las modificaciones realizadas en el archivo.
- Reinicie y habilite la ejecución automática del servicio del Agente 2:
sudo systemctl restart zabbix-agent2 sudo systemctl enable zabbix-agent2
Paso 3. Prueba de Comunicación Pasiva con la Utilidad zabbix_get
- Instale la herramienta de línea de comandos
zabbix-geten la máquina donde reside el Zabbix Server:sudo apt install -y zabbix-get - Ejecute una consulta de prueba hacia la IP del agente solicitando la versión instalada (
agent.version):zabbix_get -s 127.0.0.1 -k agent.version - La terminal deberá retornar la cadena correspondiente a la versión instalada (ejemplo:
7.0.0), confirmando que el canal de comunicación TCP por el puerto 10050 opera correctamente sin bloqueos.
Conclusiones y Mantenimiento de la Infraestructura Base
El despliegue del stack Zabbix 7.0 LTS en Ubuntu 24.04 LTS aprovechando la integración de PostgreSQL 16, Nginx y PHP 8.3 establece un entorno de observabilidad confiable, robusto y preparado para soportar cargas operativas exigentes. La implementación nativa de Zabbix Agent 2 garantiza una recolección de métricas ligera y concurrente, reduciendo el consumo de CPU y memoria en los endpoints monitoreados.
Para asegurar el rendimiento óptimo y la sostenibilidad del sistema a largo plazo, se recomienda implementar estrategias de mantenimiento automatizado sobre el motor PostgreSQL (como procesos de VACUUM ANALYZE en las tablas principales), habilitar el particionamiento de tablas para simplificar el borrado de datos históricos obsoletos, e implementar cifrado seguro mediante certificados TLS en las comunicaciones entre el servidor central, los proxies y los agentes.








