Introducción
Una vez que Zabbix Server está instalado y funcionando (tal como vimos en el artículo anterior), el siguiente paso es empezar a monitorizar equipos reales. En esta guía recorreremos el proceso completo: agregar un host, asignarle plantillas de monitorización, entender los triggers predefinidos, configurar acciones de alerta y explorar las herramientas de visualización como Latest Data, Graphs y Dashboards.
Trabajaremos sobre la interfaz web de Zabbix 7.x, accesible desde http://<servidor>/zabbix.
Paso 1: Agregar un host a Zabbix
Para monitorizar un servidor Linux necesitamos que tenga el Zabbix Agent instalado y configurado para apuntar a nuestro servidor Zabbix. Asumiendo que ya está instalado, agregamos el host desde la interfaz web.
Navegamos a: Data collection → Hosts → Create host (botón azul arriba a la derecha).
Host name: servidor-web-01 Visible name: Servidor Web 01 Templates: Linux by Zabbix agent Groups: Linux servers Interfaces: Agent → 192.168.1.10 → 10050 (default) Monitored by proxy: (no proxy)
Parámetros clave a configurar:
- Host name: Debe coincidir con el
Hostnamedefinido en/etc/zabbix/zabbix_agentd.confdel equipo monitorizado. - Templates: Seleccionamos «Linux by Zabbix agent» que ya incluye items, triggers y graphs para métricas esenciales.
- Host groups: Los grupos organizan los hosts; creamos uno llamado «Linux servers» o usamos uno existente.
- Interfaces: La interfaz «Agent» debe apuntar a la IP real del host monitorizado y al puerto 10050.
Hacemos clic en Add y el host aparecerá en la lista. Inicialmente el indicador de disponibilidad (ZBX) estará en gris, y tras unos segundos se pondrá verde si la comunicación es exitosa.
Paso 2: Entender los triggers predefinidos
La plantilla «Linux by Zabbix agent» incluye docenas de triggers listos para usar. Los principales son:
Trigger: CPU utilization > 90% (5m avg) Expresión: avg(/Linux by Zabbix agent/system.cpu.util[,user],5m) > 0.9 Severidad: Warning Trigger: Low disk space < 10% (volume /) Expresión: last(/Linux by Zabbix agent/vfs.fs.size[/,pfree]) < 10 Severidad: Average Trigger: Unavailable by ICMP ping Expresión: nodata(/Linux by Zabbix agent/icmpping,30s)=1 Severidad: High Trigger: Network interface is down (eth0) Expresión: last(/Linux by Zabbix agent/net.if.status[eth0])<>0 Severidad: Warning
Estos triggers se evalúan constantemente. Cuando la condición se cumple, el trigger pasa al estado PROBLEM. Cuando la métrica vuelve a valores normales, pasa a OK.
Paso 3: Configurar acciones (Actions) para alertas por email
Para recibir notificaciones cuando un trigger se dispare, debemos configurar una Action y un Media type.
3.1 Configurar Media Type (Email)
Ir a: Administration → Media types → Email.
Name: Send Email SMTP server: smtp.gmail.com SMTP server port: 587 SMTP helo: gmail.com SMTP email: zabbix-alerts@tudominio.com Connection security: STARTTLS Authentication: Username and password Username: zabbix-alerts@tudominio.com Password: ********
Probamos la configuración con el botón Test enviando un email de prueba a nuestra dirección.
3.2 Configurar Action
Ir a: Data collection → Actions → Trigger actions → Create action.
Name: Notificar por email problemas críticos
Conditions:
- Trigger severity ≥ Average
- Host group = Linux servers
Operations:
- Send message to user "Admin" via "Send Email"
Subject: PROBLEMA: {TRIGGER.STATUS} en {HOST.NAME}
Message:
HOST: {HOST.NAME}
IP: {HOST.IP}
FECHA: {EVENT.DATE} {EVENT.TIME}
TRIGGER: {TRIGGER.NAME}
SEVERIDAD: {TRIGGER.SEVERITY}
STATUS: {TRIGGER.STATUS}
ITEM: {ITEM.NAME} = {ITEM.VALUE}
Recovery operations:
- Send message to user "Admin" via "Send Email"
Subject: RECUPERADO: {TRIGGER.STATUS} en {HOST.NAME}
Guardamos la acción. A partir de ahora, cuando cualquier trigger de severidad Average o superior se active en un host del grupo «Linux servers», recibiremos un correo electrónico.
Paso 4: Explorar Latest Data y Graphs
Para ver los datos que Zabbix está recolectando en tiempo real:
- Latest Data: Monitoring → Latest data. Filtramos por host y vemos la última lectura de cada item (CPU, memoria, disco, red, etc.). Podemos hacer clic en Graph para ver la evolución temporal.
- Graphs: Monitoring → Hosts → Graphs. Seleccionamos un host y elegimos entre los gráficos predefinidos de la plantilla: «CPU utilization», «Memory usage», «Network traffic», «Disk I/O».
Ejemplo de datos típicos visibles: - CPU: 23.5% (user) / 12.1% (system) / 64.4% (idle) - RAM: 4.2 GB / 8.0 GB used (52.5%) - Disco /: 120 GB / 256 GB used (46.8%) - Red eth0: 15.3 Mbps in / 2.1 Mbps out
Paso 5: Crear un Dashboard personalizado
Los dashboards permiten tener una vista unificada de toda la infraestructura:
Ir a: Monitoring → Dashboards → Create dashboard Nombre: Resumen Infraestructura Widgets recomendados: 1. Problem hosts — hosts con problemas activos (span: 6 cols) 2. CPU utilization (top 10) — gráfico de CPU de todos los hosts (span: 6 cols) 3. System status — resumen por severidad de triggers (span: 4 cols) 4. Clock — reloj digital (span: 2 cols) 5. Host availability — disponibilidad ZBX / SNMP / IPMI (span: 6 cols)
Podemos compartir el dashboard con otros usuarios y fijarlo como página de inicio por defecto.
Conclusión
Con estos pasos ya tenemos un entorno de monitorización funcional: hosts registrados, métricas recolectadas, triggers evaluando condiciones críticas y notificaciones automáticas por email. En el próximo artículo veremos cómo automatizar todo este despliegue usando Ansible, integrando Zabbix API para agregar hosts y asignar templates de forma programática.