Volver a casos

Caso de estudio

Monitoreo automático de disponibilidad de servidores con Bash

Reemplacé la revisión manual de ~20 servidores por scripts Bash en paralelo, con reportes y alertas automáticas.

El problema

La revisión de servicios y módulos web (microservicios) se hacía manualmente en ~20 servidores. El equipo técnico de soporte debía entrar uno por uno, ejecutar scripts en Bash para validar disponibilidad, revisar logs y confirmar que los servicios estuvieran activos. Esto tomaba entre 2 y 3 horas diarias.

Restricciones

No se podía delegar fuera del área: requería acceso directo a servidores críticos. No era posible reducir el número de servidores — los 20 debían monitorearse. Las alertas básicas no eran suficientes para detectar caídas o problemas de disponibilidad.

La solución

Se construyó un sistema de monitoreo con scripts en Bash sobre CentOS 7. Los scripts ejecutan validaciones de disponibilidad en los 20 servidores en paralelo — procesos activos, uso de memoria, estado de servicios — y generan logs centralizados. Los resultados se consolidan en reportes diarios de disponibilidad, con notificaciones automáticas por correo cuando un servicio falla.

Ejemplo simplificado del tipo de validaciones que ejecuta el script en cada servidor:

# Verifica que el proceso del servicio siga activo
ps -fea | grep java

# Revisa la memoria disponible
free -m

Resultado

El proceso pasó de 2-3 horas diarias a ~30 minutos diarios. Estimado en ~40 horas-persona ahorradas al mes. La reducción de errores de detección es cercana al 65%, porque los servicios críticos se marcan automáticamente en los reportes y ya no se pierden entre notificaciones. La revisión manual queda limitada a casos excepcionales.

Qué haría distinto

Definiría métricas de disponibilidad y SLA en dashboards, con alguna herramienta de visualización, para medir el impacto real del monitoreo. También escalaría la solución con alertas proactivas (SMS o Teams) para no depender solo de correos y reportes.