DevOps | Bash | Docker | Ansible | Flask
En este proyecto desarrollé una solución integral de monitoreo para servidores y máquinas virtuales. El sistema extrae métricas de salud en tiempo real de múltiples nodos y las centraliza en un dashboard interactivo, eliminando la necesidad de supervisión manual individual.
Monitorear el estado de salud (CPU, RAM, Disco) de múltiples servidores de forma manual es ineficiente y propenso a errores. El objetivo fue crear una arquitectura que permitiera observar toda la infraestructura desde un solo punto, garantizando escalabilidad y portabilidad.
La solución se divide en cuatro capas principales:
A diferencia de un entorno local, este sistema fue desplegado sobre una instancia de Oracle Cloud Infrastructure (OCI). Esto implicó la gestión de:
Para el despliegue de los agentes en los nodos (VMs), utilicé Ansible. Esto permite configurar el entorno, transferir el script y establecerlo como un servicio persistente en Systemd con un solo comando.
Para facilitar el despliegue del servidor central en Oracle Cloud, utilicé Docker para encapsular la API y la base de datos, garantizando que el entorno sea idéntico en desarrollo y producción.
El script principal utiliza herramientas de sistema para calcular el uso de recursos y enviar un POST request a la API centralizada cada 10 segundos.
Este proyecto demuestra la potencia de combinar herramientas de automatización como Ansible con la portabilidad de Docker. Se logró reducir el tiempo de configuración de nuevos nodos de minutos a segundos.
Siguiente paso: Implementar un pipeline de CI/CD para automatizar las actualizaciones del dashboard .