Curso de Zabbix completo
Este contenido está diseñado para desarrolladores que buscan implementar un sistema de monitoreo robusto y escalable.
¿Que es Zabbix?
- Concepto: Zabbix es una herramienta de monitoreo de nivel empresarial capaz de vigilar redes, servidores, máquinas virtuales y servicios en la nube.
- Agentes: Utiliza un programa llamado “agente” que se instala en los sistemas operativos (Windows, Linux, Mac) para recolectar datos y enviarlos al servidor central.
- Versatilidad: Permite monitorear desde grandes servidores hasta dispositivos pequeños como routers, firewalls, o incluso placas como Arduino y ESP32.
- Alertas: No solo almacena datos, sino que puede notificar eventos críticos (caídas de bases de datos, saturación de CPU) vía correo, SMS, WhatsApp, Telegram o Slack.
- Beneficio: Facilita el análisis preventivo para identificar fallas antes de que ocurran desastres.
02.- 🚀Instala Zabbix en Windows Fácil
- Dockerización: En lugar de máquinas virtuales pesadas, se utiliza Docker para una instalación limpia y multiplataforma.
- Requisito: Es fundamental activar “Windows Subsystem for Linux” (WSL) en las características de Windows.
- Infraestructura: La solución se compone de tres contenedores principales:
- MySQL: Para el almacenamiento persistente de los datos de monitoreo.
- Zabbix Server: El motor lógico que procesa la información y gestiona los dispositivos.
- Zabbix Web: La interfaz gráfica (Nginx) para visualizar los dashboards en el navegador.
- Configuración: Se crea una red interna en Docker (
SBXNET) para que los contenedores se comuniquen entre sí de forma segura.
03.- Monitorizar Windows con Zabbix
- Instalación del Agente: Se descarga e instala el “Zabbix Agent 2” (versión recomendada para soporte avanzado como MySQL).
- Configuración del Host: Dentro de la interfaz de Zabbix, se agrega el equipo usando el nombre de host (Hostname) exacto definido en la instalación.
- Conexión Docker-Host: Para conectar el servidor Zabbix (dentro de Docker) con la máquina local (Windows), se utiliza el DNS especial
host.docker.internal. - Templates: Se aplica la plantilla “Windows by Zabbix Agent” para obtener automáticamente gráficas de rendimiento de disco, CPU y red.
- Verificación: El estado de disponibilidad debe cambiar a color verde en el panel de monitoreo para confirmar la recepción de datos.
04.- Monitorizar MySQL con Zabbix
- Lógica de Conexión: Se vincula el agente de Zabbix directamente con el servicio de base de datos (MySQL/MariaDB).
- Macros de Zabbix: Se configuran variables globales en el host para definir el usuario (ej.
root), la contraseña y el endpoint de la base de datos. - Métricas Extraídas: Cantidad de consultas por segundo, consultas lentas (slow queries), y operaciones de tipo
INSERT,UPDATEyDELETE. - Visualización: El Dashboard de MySQL permite ver el comportamiento transaccional en tiempo real, ayudando a optimizar el rendimiento del servidor de datos.
05.- Monitorizar Servidor Linux con Zabbix
- Preparación: Uso de Ubuntu Server gestionado mediante SSH para la instalación del agente.
- Comandos Clave: Descarga del paquete
.deb, desempaquetado e instalación del agente medianteapt install zabbix-agent. - Edición de Configuración: Se modifica
/etc/zabbix/zabbix_agentd.confpara definir la IP del servidor Zabbix y el nombre del host. - Firewall: Es necesario abrir el puerto TCP
10050en el firewall de Linux (UFW) para permitir la comunicación con el servidor central. - Templates: Uso del template “Linux by Zabbix Agent” para monitorear procesos, carga del sistema y uso de memoria.
06.- Monitorizar MySQL desde Linux
- Seguridad: Se recomienda crear un usuario específico en MySQL (ej.
zabbix) con privilegios limitados para que el agente pueda leer las estadísticas. - Configuración del Agente: Se crea un archivo de credenciales en
/var/lib/zabbixpara que el agente acceda de forma segura a MySQL. - Agent 2: Se enfatiza el uso de la versión 2 del agente en Linux por su capacidad nativa de interactuar con plugins de bases de datos.
- Métricas Avanzadas: Análisis del Buffer Pool y otros parámetros internos de MySQL para garantizar la salud del servidor en entornos de producción.
07.-Gatillos y Alertas en Zabbix
- Gatillos (Triggers): Son expresiones lógicas que definen cuándo un evento es considerado un problema (ej. “CPU > 40% durante 5 minutos”).
- Severidad: Permite clasificar los problemas desde informativos hasta desastres para priorizar la respuesta técnica.
- Alertas (Actions): Acciones automáticas que se ejecutan cuando un gatillo se activa, como enviar notificaciones a los administradores.
- Tipos de Medios: Configuración de servidores SMTP para alertas vía email o integración con plataformas como Slack y Discord.
- Automatización: Se habilita la acción “Report problems to Zabbix administrators” para garantizar que nadie ignore las fallas del sistema.
Conclusión de la Serie
Esta serie proporciona una base sólida para dominar Zabbix desde cero. Programador Novato, has pasado de entender el concepto de monitoreo a implementar una infraestructura profesional con Docker, gestionar agentes en entornos híbridos (Windows/Linux) y automatizar alertas críticas. El monitoreo no es solo ver gráficas, es anticiparse a los errores para mantener tus sistemas siempre en línea.