¿Qué es Zabbix?
Zabbix es una plataforma de monitorización open-source de nivel empresarial diseñada para rastrear el estado y la disponibilidad de servidores, redes, aplicaciones y servicios en infraestructuras de cualquier tamaño. Utiliza una arquitectura cliente-servidor o server-proxy-agent que permite recolectar métricas a través de agentes nativos, SNMP, IPMI, JMX y checks HTTP/HTTPS.
Entre sus características principales destacan:
- Recolección centralizada de métricas (CPU, RAM, disco, red, procesos).
- Sistema de alertas con triggers y acciones configurables (email, Telegram, Slack).
- Visualización con dashboards, graphs y maps dinámicos.
- Soporte para plantillas predefinidas que aceleran la puesta en marcha.
- API REST completa que permite automatizar la gestión de hosts y configuraciones.
En este artículo recorreremos la instalación completa de Zabbix Server 7.x sobre Debian 12, incluyendo MariaDB como backend de base de datos, el frontend web PHP y el agente local.
Arquitectura de Zabbix
Zabbix se compone de varios componentes que trabajan juntos:
- Zabbix Server: El núcleo del sistema. Recibe los datos de los agentes, evalúa los triggers y ejecuta las acciones configuradas.
- Zabbix Proxy: Un servidor intermedio opcional que recolecta métricas en entornos remotos o segmentados y las reenvía al servidor central.
- Zabbix Agent / Agent2: Un proceso liviano que se instala en los hosts monitorizados y envía métricas locales al servidor o proxy.
- Zabbix Frontend: Interfaz web PHP que permite administrar la plataforma y visualizar datos.
- Base de datos (MariaDB / PostgreSQL): Almacena toda la configuración, históricos de datos y eventos.
El flujo típico de datos es: Agent → Server (o Proxy → Server) → DB → Frontend.
Paso 1: Preparar el sistema Debian 12
Actualizamos los repositorios e instalamos dependencias básicas:
apt update && apt upgrade -y apt install -y wget gnupg apt-transport-https curl
Paso 2: Instalar MariaDB
Zabbix 7.x recomienda MariaDB como backend. Lo instalamos y aseguramos la instalación:
apt install -y mariadb-server mariadb-client mysql_secure_installation
Durante mysql_secure_installation se recomienda:
- Establecer contraseña para root de MariaDB.
- Eliminar usuarios anónimos.
- Deshabilitar login remoto de root.
- Eliminar base de datos de prueba.
- Recargar privilegios.
Paso 3: Crear la base de datos de Zabbix
Conectamos a MariaDB y creamos la base de datos y el usuario:
mysql -u root -p CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password_segura'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; SET GLOBAL log_bin_trust_function_creators = 1; QUIT;
Paso 4: Instalar Zabbix Server 7.x
Agregamos el repositorio oficial de Zabbix para Debian 12 e instalamos los paquetes:
wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb dpkg -i zabbix-release_7.0-1+debian12_all.deb apt update apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-agent zabbix-sql-scripts
Paso 5: Importar el schema inicial
Zabbix incluye los scripts SQL para crear la estructura de la base de datos. Los importamos en el orden correcto:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix mysql -u root -p -e "SET GLOBAL log_bin_trust_function_creators = 0;"
La importación puede tomar varios segundos dependiendo del hardware. Una vez terminada, desactivamos la variable log_bin_trust_function_creators por seguridad.
Paso 6: Configurar Zabbix Server
Editamos el archivo de configuración principal para indicar los datos de conexión a la base de datos:
nano /etc/zabbix/zabbix_server.conf
Buscamos y modificamos los siguientes parámetros:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=password_segura
Paso 7: Configurar PHP para el frontend
Editamos la configuración de PHP para el frontend web. La zona horaria debe coincidir con la del servidor:
nano /etc/zabbix/apache.conf # O bien editar /etc/php/8.2/apache2/php.ini # php_value date.timezone America/Caracas
Paso 8: Iniciar servicios y habilitar en boot
systemctl restart zabbix-server zabbix-agent apache2 systemctl enable zabbix-server zabbix-agent apache2 systemctl status zabbix-server
Verificamos que los servicios estén activos y sin errores. El puerto 10051 (Zabbix Server) y 10050 (Zabbix Agent) deben estar escuchando.
Paso 9: Completar la instalación vía frontend web
Accedemos desde el navegador a la URL del frontend:
http://<IP_DEL_SERVIDOR>/zabbix
El asistente de instalación web nos guiará por los siguientes pasos:
- Pantalla de bienvenida — hacer clic en Next step.
- Verificación de prerrequisitos PHP — todos deben mostrar OK; si hay errores instalar los paquetes faltantes.
- Configuración de conexión a la base de datos — ingresar los mismos datos del paso 6 (localhost, zabbix, zabbix, password_segura).
- Configuración del servidor Zabbix — dejar valores por defecto (localhost, puerto 10051, nombre «Zabbix server»).
- Resumen y confirmación — hacer clic en Next step.
- Descargar e instalar el archivo de configuración
zabbix.conf.phpen/etc/zabbix/web/o copiar el contenido manualmente.
Paso 10: Login inicial
Una vez completada la instalación web, accedemos con las credenciales por defecto:
Usuario: Admin Contraseña: zabbix
Es altamente recomendable cambiar la contraseña por defecto inmediatamente después del primer inicio de sesión. Para ello, ir a Administration → Users → Admin → Change password.
¡Zabbix Server ya está listo! En el próximo artículo veremos cómo agregar hosts, configurar templates y crear alertas.
