CiberForja

Monitorización con Zabbix y Grafana: vigila tu infraestructura

Aprende a combinar Zabbix y Grafana para construir un sistema de monitorización robusto que detecte problemas antes de que afecten al negocio.

CCiberForja·1 de junio de 2026·16 min de lectura
Compartir:

La monitorización de infraestructura es una de las disciplinas más críticas en la administración de sistemas empresariales. Sin visibilidad en tiempo real sobre el estado de servidores, redes, aplicaciones y servicios, los equipos de TI trabajan a ciegas: los problemas se descubren cuando ya han causado una interrupción de servicio, cuando el rendimiento ha degradado la experiencia del usuario o cuando una alerta tardía llega desde el equipo de negocio en lugar de desde los propios sistemas. La combinación de Zabbix como motor de recopilación de métricas y Grafana como capa de visualización ofrece una de las soluciones más potentes y económicamente accesibles del mercado empresarial.

Zabbix, desarrollado por Zabbix LLC y disponible como software de código abierto desde 2001, es hoy en día uno de los sistemas de monitorización más maduros y extendidos en entornos corporativos. Su capacidad para monitorizar desde simples servidores Linux hasta redes de cientos de dispositivos, pasando por bases de datos, aplicaciones y servicios en la nube, lo convierte en una solución integral. Grafana, por su parte, nació como una herramienta de visualización pero ha evolucionado hasta convertirse en una plataforma de observabilidad completa, con soporte para decenas de fuentes de datos y una comunidad de dashboards que ahorra semanas de trabajo de configuración.

En este artículo vas a aprender cómo instalar, configurar e integrar ambas herramientas para construir un sistema de monitorización profesional. Cubriremos desde la arquitectura de la solución hasta las alertas inteligentes, pasando por la creación de dashboards operativos y la definición de umbrales adecuados para entornos de producción. El objetivo no es solo instalar herramientas: es construir una cultura de observabilidad en tu organización.

Arquitectura de la solución: qué hace cada componente

Antes de entrar en la instalación, conviene entender cómo se relacionan ambas herramientas y qué papel desempeña cada una. Zabbix actúa como el motor de monitorización: recopila datos de los sistemas monitorizados a través de agentes instalados en los hosts, mediante SNMP para dispositivos de red, mediante checks HTTP para servicios web o mediante scripts personalizados. Toda esta información se almacena en una base de datos relacional (MySQL, PostgreSQL o TimescaleDB para cargas elevadas) y Zabbix la procesa para detectar problemas y generar alertas.

Grafana se conecta a la base de datos de Zabbix como fuente de datos —a través del plugin oficial de Zabbix para Grafana— y extrae las métricas para construir visualizaciones ricas e interactivas. La separación de responsabilidades es clara: Zabbix gestiona la lógica de monitorización (qué medir, cuándo medir, cuándo alertar) mientras que Grafana se ocupa de la presentación (cómo mostrar los datos, con qué colores y escalas, en qué paneles). Esta separación permite que cada herramienta evolucione independientemente y que puedas cambiar la visualización sin tocar la configuración de monitorización.

Componentes del stack completo

  • Zabbix Server: núcleo central que procesa datos y gestiona alertas
  • Zabbix Agent 2: agente instalado en cada host monitorizado (versión recomendada, escrita en Go)
  • Base de datos PostgreSQL o MySQL: almacenamiento de métricas históricas y configuración
  • Grafana Server: servicio de visualización y construcción de dashboards
  • Plugin zabbix-grafana: conector oficial entre ambas plataformas
  • Grafana Alerting (opcional): capa adicional de alertas desde Grafana si se prefiere centralizar allí

Instalación de Zabbix Server en Ubuntu Server 22.04

La instalación más habitual en entornos empresariales utiliza Ubuntu Server LTS o RHEL/Rocky Linux como sistema operativo base. En este ejemplo usaremos Ubuntu 22.04, que ofrece soporte a largo plazo y es la plataforma más común en los despliegues nuevos. Zabbix proporciona repositorios oficiales para las distribuciones más populares, por lo que el proceso de instalación es limpio y sin dependencias manuales.

  1. Descarga el paquete de repositorio desde el sitio oficial: wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb
  2. Instala el repositorio: dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb && apt update
  3. Instala los componentes: apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
  4. Crea la base de datos en MySQL: CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
  5. Importa el esquema inicial: zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
  6. Configura /etc/zabbix/zabbix_server.conf con los parámetros de conexión a la base de datos
  7. Activa e inicia los servicios: systemctl enable --now zabbix-server zabbix-agent apache2

Una vez completada la instalación, accedes al frontend web en http://[ip-del-servidor]/zabbix. El asistente de configuración inicial comprobará los requisitos del sistema, validará la conexión a la base de datos y te pedirá que establezcas las credenciales del administrador. El usuario por defecto es Admin con contraseña zabbix, que debes cambiar inmediatamente. En entornos de producción, considera usar HTTPS con un certificado válido desde el primer momento.

Instalación y configuración de Zabbix Agent 2 en los hosts

Zabbix Agent 2 es la versión moderna del agente, reescrita en Go para ofrecer mejor rendimiento y soporte nativo para plugins. Se instala en cada servidor que quieras monitorizar y es la pieza que recopila métricas locales: uso de CPU, memoria, disco, procesos en ejecución, logs del sistema y mucho más. La instalación sigue el mismo proceso de repositorio que el servidor, pero solo se instala el paquete del agente.

La configuración básica del agente se realiza en /etc/zabbix/zabbix_agent2.conf. Los parámetros más importantes son Server (IP del Zabbix Server), ServerActive (para checks activos), Hostname (debe coincidir exactamente con el nombre que configures en el servidor) y LogFile. El modo activo es recomendable para la mayoría de los casos porque reduce la carga en el servidor: el agente toma la iniciativa de enviar datos en lugar de esperar a que el servidor los solicite. En redes con firewalls estrictos, el modo activo también simplifica las reglas porque solo requiere conexiones salientes desde el agente.

Auto-registro de hosts con discovery rules

En infraestructuras medianas o grandes, registrar hosts manualmente uno a uno es inviable. Zabbix ofrece el mecanismo de Auto Registration para que los agentes nuevos se registren automáticamente al arrancar. Configuras una regla de auto-registro en el servidor indicando una clave PSK o una acción que se ejecute cuando aparezca un nuevo host: asignarle un grupo, aplicarle templates de monitorización y activarlo automáticamente. Esto es especialmente útil en entornos cloud o con contenedores donde las instancias se crean y destruyen dinámicamente.

Templates: la base de una monitorización eficiente

Los templates son colecciones de items, triggers, graphs y discovery rules reutilizables que puedes vincular a uno o varios hosts. Zabbix incluye templates predefinidos para las situaciones más comunes: servidores Linux y Windows, bases de datos MySQL y PostgreSQL, servicios web, dispositivos de red con SNMP, aplicaciones como Apache, Nginx, Docker, Kubernetes y muchos más. Aplicar un template a un host activa instantáneamente decenas de métricas sin necesidad de configuración manual.

La clave para un uso eficiente de templates es la herencia. Puedes crear un template base con las métricas comunes a todos tus servidores Linux y luego templates específicos para cada tipo de servidor (base de datos, web, aplicación) que hereden del template base. Cuando actualices el template base, todos los hosts vinculados reciben automáticamente el cambio. Esta aproximación reduce enormemente el mantenimiento y garantiza consistencia en toda la infraestructura.

  • Linux by Zabbix Agent: CPU, memoria, red, disco, procesos, logs del kernel
  • Windows by Zabbix Agent: métricas equivalentes para sistemas Windows Server
  • MySQL by Zabbix Agent: queries por segundo, conexiones, buffer pool, replicación
  • Nginx by HTTP: peticiones activas, códigos de respuesta, latencia
  • VMware by HTTP: estado de VMs, datastores, hosts ESXi
  • ICMP Ping: disponibilidad básica de cualquier dispositivo en red

Configuración de triggers y umbrales de alerta

Un trigger en Zabbix es una expresión lógica que evalúa si una métrica ha superado un umbral y determina la severidad del problema. La configuración correcta de triggers es uno de los aspectos más críticos y también más descuidados de cualquier implantación de monitorización. Demasiados triggers mal calibrados generan fatiga de alertas: el equipo recibe tantas notificaciones que empieza a ignorarlas, y cuando llega un problema real pasa desapercibido.

Zabbix 7.0 introdujo mejoras significativas en el sistema de expresiones de triggers, permitiendo condiciones más complejas que combinan múltiples métricas. Por ejemplo, puedes configurar un trigger que solo se active si el uso de CPU supera el 90% durante más de 5 minutos consecutivos (evitando falsas alarmas por picos puntuales) Y además la carga de disco I/O también está elevada (correlacionando síntomas para detectar problemas reales). Esta capacidad de correlación reduce drásticamente los falsos positivos.

Jerarquía de severidades recomendada

  • Disaster: servicio completamente caído, impacto inmediato en producción, requiere respuesta en minutos
  • High: degradación severa del servicio, respuesta urgente en menos de una hora
  • Average: problema detectado que puede evolucionar, atención en las próximas horas
  • Warning: umbral preventivo superado, planificar revisión en el día
  • Information: cambios de estado o eventos que conviene registrar sin requerir acción

Instalación de Grafana y conexión con Zabbix

Grafana puede instalarse en el mismo servidor que Zabbix o en uno dedicado. Para instalaciones de producción con mucho tráfico de dashboards, un servidor separado es recomendable. El proceso de instalación en Ubuntu sigue la misma filosofía de repositorio oficial: añades el repositorio de Grafana, instalas el paquete grafana y arrancas el servicio. Grafana escucha por defecto en el puerto 3000 y el usuario inicial es admin/admin, que debes cambiar en el primer acceso.

Para conectar Grafana con Zabbix necesitas instalar el plugin oficial alexanderzobnin-zabbix-app. Desde la línea de comandos: grafana-cli plugins install alexanderzobnin-zabbix-app. Tras reiniciar Grafana, accedes a Configuration → Plugins, buscas el plugin de Zabbix, lo habilitas y configuras la fuente de datos apuntando a la URL de tu Zabbix frontend con las credenciales de una cuenta de Grafana (crea una cuenta específica para Grafana en Zabbix con permisos de solo lectura sobre los grupos de hosts que necesites).

Construcción de dashboards operativos en Grafana

Un buen dashboard operativo no es simplemente una colección de gráficas bonitas: es una herramienta que permite al operador entender el estado de la infraestructura de un vistazo, identificar problemas activos y navegar hacia la causa raíz en segundos. La diferencia entre un dashboard útil y uno decorativo está en el diseño intencionado: cada panel ocupa el espacio justo, los colores tienen significado consistente (verde/amarillo/rojo para estados), los umbrales están visibles y el orden de los paneles sigue la jerarquía de importancia.

Grafana ofrece una biblioteca de dashboards comunitarios en grafana.com/grafana/dashboards donde puedes encontrar plantillas para Zabbix ya construidas por la comunidad. El dashboard de Zabbix con ID 12168 es un punto de partida excelente para una vista general de la infraestructura. Sin embargo, los dashboards comunitarios rara vez encajan perfectamente con tu infraestructura específica: úsalos como punto de partida y personalízalos según las necesidades operativas de tu equipo.

Tipos de paneles más útiles para operaciones

  • Stat: valor único con color según umbral, ideal para métricas clave como disponibilidad global
  • Time series: evolución temporal de métricas de rendimiento (CPU, memoria, latencia)
  • Bar gauge: comparativa entre varios hosts de la misma métrica
  • Table: listado de hosts con múltiples métricas en columnas, perfecto para resúmenes ejecutivos
  • Alert list: panel dedicado a mostrar alertas activas con su severidad y tiempo de inicio
  • Heatmap: distribución de valores a lo largo del tiempo, muy útil para latencias y I/O

Alertas en Zabbix: medios de notificación y escalado

Zabbix gestiona las notificaciones a través de Media Types: configuraciones de canales de comunicación (correo electrónico, SMS, Slack, Teams, PagerDuty, Telegram y muchos más) que se asignan a usuarios. Cuando un trigger cambia de estado, Zabbix ejecuta las acciones definidas: notificar a usuarios concretos por sus medios configurados, ejecutar scripts remotos, abrir tickets en sistemas ITSM como Jira Service Management o ServiceNow, o aplicar comandos de remediación automática.

El escalado de alertas es una funcionalidad fundamental en entornos 24/7. Puedes configurar que una alerta de severidad High notifique primero al responsable de turno y, si en 15 minutos no hay reconocimiento (acknowledge), escale al líder técnico, y si en otros 30 minutos sigue sin resolverse, notifique también a la dirección técnica. Este mecanismo garantiza que ninguna alerta crítica quede sin respuesta independientemente de la disponibilidad de las personas.

Monitorización de servicios externos y endpoints HTTP

Más allá de los servidores físicos o virtuales, las empresas necesitan monitorizar servicios expuestos al exterior: APIs REST, páginas web, servicios de autenticación, endpoints de pago. Zabbix incluye Web Scenarios, una funcionalidad que simula sesiones de navegación web comprobando disponibilidad, tiempos de respuesta y contenido de las páginas. Puedes configurar secuencias de pasos (acceder a la home, hacer login, navegar a una sección crítica) y Zabbix alertará si cualquier paso falla o supera el tiempo máximo de respuesta.

Para APIs REST, Zabbix permite hacer peticiones HTTP directamente desde el servidor sin necesidad de agente en el destino. Configuras la URL, el método (GET, POST), las cabeceras necesarias (incluyendo tokens de autenticación) y la expresión JSONPath o regex para extraer el valor que quieres monitorizar de la respuesta. Esto permite, por ejemplo, monitorizar el estado de servicios de terceros como proveedores de pago, servicios cloud o APIs de socios comerciales.

Monitorización de bases de datos y aplicaciones

Las bases de datos son componentes críticos en casi cualquier aplicación empresarial, y Zabbix Agent 2 incluye plugins nativos para MySQL, PostgreSQL, Oracle, MSSQL y MongoDB sin necesidad de configuración adicional compleja. El plugin de PostgreSQL, por ejemplo, recoge automáticamente métricas de conexiones activas, transacciones por segundo, tiempo de queries, bloat de tablas e índices, actividad de checkpoints y estado de la replicación. Esta visibilidad profunda permite detectar problemas de rendimiento de base de datos antes de que impacten a los usuarios finales.

Retención de datos y optimización del rendimiento de Zabbix

A medida que la infraestructura monitorizada crece, la base de datos de Zabbix puede convertirse en un cuello de botella. Zabbix almacena dos tipos de datos: history (valores individuales con marca de tiempo, retención corta normalmente de 30-90 días) y trends (agregados horarios para retención a largo plazo de 1-5 años). La configuración correcta de los períodos de retención para cada item es fundamental: no todos los datos necesitan el mismo nivel de granularidad histórica.

Para instalaciones grandes (más de 5.000 hosts o 500.000 nuevos valores por segundo), la combinación de PostgreSQL con la extensión TimescaleDB mejora dramáticamente el rendimiento de escritura e introduce la compresión automática de datos históricos. Zabbix soporta esta configuración de forma nativa desde la versión 5.0 y es la recomendación oficial para instalaciones de gran escala. La compresión de TimescaleDB puede reducir el espacio en disco ocupado por datos históricos hasta en un 90%.

Integración con herramientas del ecosistema: el poder de la observabilidad unificada

Zabbix y Grafana no son las únicas herramientas en el ecosistema de monitorización moderno. En muchas organizaciones conviven con soluciones de gestión de logs como Elasticsearch y Kibana (stack ELK) o Loki dentro del propio ecosistema Grafana. La clave es la integración: desde Grafana puedes visualizar en el mismo dashboard las métricas de Zabbix junto a los logs de Loki, correlacionando temporalmente eventos en los logs con cambios en las métricas de rendimiento para acelerar el diagnóstico de problemas.

Prometheus es otro actor habitual en entornos modernos, especialmente en infraestructuras Kubernetes. Grafana soporta ambas fuentes (Zabbix y Prometheus) simultáneamente, por lo que puedes mantener Zabbix para la infraestructura tradicional y añadir Prometheus para los contenedores y servicios cloud, unificando toda la visibilidad en dashboards de Grafana. Esta coexistencia es habitual en empresas en proceso de transformación digital que no pueden migrar toda su infraestructura de golpe.

Buenas prácticas y errores comunes

La mayoría de las implantaciones de Zabbix que fallan lo hacen por razones organizativas, no técnicas. El error más frecuente es activar todos los templates disponibles en todos los hosts y no calibrar los triggers, lo que genera cientos de alertas al día que el equipo aprende a ignorar. La regla de oro es empezar con pocos items por host, calibrar los umbrales durante dos o tres semanas observando el comportamiento real, y añadir métricas progresivamente a medida que el equipo gana confianza en la herramienta.

  • Empieza con los templates base (Linux/Windows) y añade capas especializadas después
  • Define un proceso claro de acknowledge y resolución de alertas desde el primer día
  • Usa macros de usuario para centralizar los umbrales y facilitar su ajuste global
  • Establece ventanas de mantenimiento para evitar alertas durante cambios planificados
  • Documenta en Zabbix los responsables de cada grupo de hosts con información de contacto
  • Realiza revisiones trimestrales de triggers para eliminar los que nunca se activan o los que se activan demasiado
  • Implementa backup automático de la configuración de Zabbix exportándola regularmente en XML
La monitorización no es un proyecto que se termina: es una práctica continua. Un sistema de monitorización que no se revisa y mejora regularmente se convierte en ruido de fondo que el equipo aprende a ignorar.

Conclusión: de la instalación a la cultura de observabilidad

Zabbix y Grafana forman una combinación difícil de superar en la relación coste-funcionalidad para infraestructuras empresariales. La inversión inicial en instalación y configuración se recupera rápidamente cuando el primer problema grave se detecta de forma proactiva antes de convertirse en una incidencia que afecte a los usuarios. Sin embargo, la verdadera transformación no está en las herramientas sino en cómo el equipo las usa: revisar los dashboards en el stand-up diario, responder a las alertas con procesos definidos y mejorar continuamente la configuración según la experiencia operativa.

Si estás empezando, el consejo más práctico es este: instala Zabbix Server y añade los primeros cinco hosts críticos con los templates base esta misma semana. No esperes a tener la configuración perfecta. La observabilidad parcial hoy es infinitamente mejor que la observabilidad perfecta en seis meses. Grafana vendrá después, cuando tengas datos que visualizar y un equipo que sepa qué preguntas hacerle a los datos.

¿Te ha servido? Compártelo

Compartir:
C
Escrito por
CiberForja

Consultor TI. Especializado en sistemas, redes y ciberseguridad.

Más sobre nosotros →

Comentarios

Sé el primero en comentar.

Deja tu comentario

Sigue leyendo