~/blog $ git show 2026-09-10
Your Alert Cleared Itself
· 3 min read · Victor Benavides
--ops--incidentsEl sábado por la mañana mi clúster de producción perdió la capacidad de crear cualquier cosa. Siete alertas se dispararon en minutos, y todas llegaron a mi teléfono.
Dos horas y cuarenta y cinco minutos después, el monitoreo mandó un mensaje diciendo que la telemetría estaba restaurada.
Nada estaba restaurado. Cincuenta y dos de cincuenta y siete servicios siguieron caídos hasta el miércoles por la noche.
Cómo una alerta se convence a sí misma
Las dos reglas estaban escritas igual. Cada una compara los servicios que están reportando telemetría contra los servicios que se espera que reporten, y "se espera" estaba definido como lo que hubiera reportado en las dos horas previas.
Lee esa definición otra vez pensando en una caída larga. Después de dos horas de silencio, ya no se espera que un servicio muerto reporte nada. Para cuando la caída cumplió tres horas, suficientes servicios habían salido del padrón como para que la diferencia que se estaba midiendo se cerrara sola. La condición dejó de ser cierta, la alerta se resolvió automáticamente, y me avisó de ello.
La caída duró lo suficiente como para convertirse en la línea base.
Quiero ser preciso sobre por qué esto es peor que no tener alertas. Un sistema sin monitoreo te deja con incertidumbre, y la incertidumbre te manda a mirar. Un sistema que alerta y después reporta su propia recuperación te deja tranquilo. La tranquilidad es lo que hace que dejes de mirar. Recibí un mensaje en verde el sábado por la mañana y no volví a abrir un tablero hasta el martes.
El vigilante estaba adentro del edificio
Una segunda falla tenía la misma forma.
Existía una sonda sintética construida justamente para esta situación, y corría dentro del clúster. Como la falla impedía que arrancara cualquier cosa, la sonda tampoco pudo arrancar. Su silencio se veía idéntico a su habitual éxito callado.
Cualquier chequeo que comparta infraestructura con aquello que vigila va a fallar en el mismo momento, por la misma razón, y va a fallar en silencio. Escrito así suena obvio. Es facilísimo pasarlo por alto mientras construyes, porque al lado del servicio es el lugar cómodo para poner la sonda.
Qué cambié
Los chequeos de disponibilidad ahora corren desde fuera del clúster, contra los nombres públicos, sin ninguna dependencia compartida con lo que se está midiendo.
El padrón de servicios esperados es fijo, y no derivado de la actividad reciente. Un servicio que lleva una semana muerto sigue siendo un servicio que se espera vivo.
Las condiciones de apagón ya no se resuelven solas. Cuando la telemetría deja de llegar, la alerta queda abierta hasta que una persona la cierre.
Falta una cosa en este post. No se rompió nada para nadie afuera, porque esa plataforma todavía no tiene clientes en producción. Tres días y medio de caída me costaron un fin de semana de confianza falsa y nada más. La próxima vez va a ser distinto, y esa diferencia es la razón entera para escribir esto ahora.