Después de que el sistema automatizado arranque, ¿cómo monitoreas si sigue funcionando?
Esta es una de las lecciones más profundas que aprendí después de montar varias líneas de automatización: **el sistema no puede caerse a media noche y que te des cuenta al día siguiente**.
Una vez implementé una tarea programada, pensando que con configurar el cron ya podía dejarlo en piloto automático. Resulta que después de una semana, fui a revisar el estado y descubrí que había dejado de funcionar en silencio durante 3 días: la conexión a la base de datos se había caído, sin ninguna notificación. Desde entonces, establecí una filosofía de monitoreo completa, y hoy la comparto con ustedes.
**Primera capa: Monitoreo de ciclo de ejecución**
La forma más básica es ver el last_run_at del cron. Mi regla es: **si el tiempo de la última ejecución supera el doble del ciclo esperado, activar alerta de inmediato**. Por ejemplo, si una tarea debería ejecutarse cada 5 minutos, si last_run_at está a más de 10 minutos de ahora, se envía una alerta urgente por Telegram. Este indicador es extremadamente efectivo: aproximadamente el 90% de los "sistemas caídos" se pueden capturar en 1 hora, en lugar de esperar pasivamente a que el departamento de negocios lo descubra.
**Segunda capa: Mecanismo de cortocircuito de API**
La inestabilidad de API es la norma. Mi enfoque es: **si hay 3 solicitudes de API fallidas consecutivas, activar un cortocircuito de 24 horas automáticamente**. ¿Por qué 3 veces? Porque 1-2 veces pueden ser fluctuaciones de red, pero 3 fallos consecutivos indican que realmente hay un problema. Durante el período de cortocircuito, el sistema deja de intentar hacer llamadas, evitando desperdiciar valiosos recursos de API y espacio de logs en un estado erróneo. Esto es mucho más efectivo que reintentar ciegamente.
**Tercera capa: Persistencia del archivo de estado**
Cada vez que el sistema se ejecuta, escribo el estado actual—número de éxitos, número de fallos, timestamp, información de errores—en un archivo de estado. Este archivo se guarda con un historial de 30 días. ¿Cuál es la ventaja de esto? Puedo rastrear—"¿por qué la tasa de publicaciones cayó repentinamente al 60% el miércoles pasado?"—simplemente revisando los logs tengo la respuesta. El archivo de estado no ocupa espacio, pero me brinda una cadena de auditoría completa.
**Cuarta capa: Revisión semanal manual**
Cada semana, dedico 15 minutos para que el sistema genere automáticamente un informe resumen: tasa de éxito de publicaciones, distribución de tasas de error, conteo de palabras, si hay fluctuaciones anormales. No es necesario hacerlo con mucha frecuencia, pero **no se puede depender completamente de las alertas automáticas**. A veces, un problema de tendencia donde la tasa de error sube del 2% al 4% no te lo dirá el monitoreo automático, pero una revisión manual lo detecta inmediatamente: "aquí debemos empezar a prestar atención".
**Reflexión clave**
Construir la automatización es rápido, pero **hacer el monitoreo correctamente es lo que realmente permite estar tranquilo sin estar pendiente**. Mi experiencia es: las alertas automáticas son responsables de situaciones urgentes (sistema totalmente caído), la revisión manual se encarga de problemas de tendencia (cada vez peor). Combinando ambas, este sistema puede durar. De lo contrario, por más inteligente que sea la automatización, solo será una bomba de tiempo dentro de una caja negra.
$BTC #DevOps #automación