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.