INC-01.001 / INCIDENTE Drill controlado

INC-01.001 /

Order worker unavailable

Drill controlado para observar la detección y recuperación de un order worker no disponible en el laboratorio.

Tipo
Drill controlado
Estado observado
Resuelto
Sistema
Commerce Operations Lab

Contexto

Este registro documenta un drill controlado en Commerce Operations Lab; no describe un incidente de producción. La señal observada fue OrderWorkerUnavailable, con la expresión up{job="order-worker"} == 0 for 2m.

Señal de detección

La alerta usa la expresión up{job="order-worker"} == 0 con una duración for: 2m. Pasó a firing a las 20:39:38 UTC y Alertmanager la mostró activa a las 20:40:10 UTC. Los tiempos observados no son SLA, SLO ni RTO.

Impacto observado

El order-worker estuvo no disponible durante el drill. API, ambas instancias de PostgreSQL y Kafka permanecieron healthy. Sólo se reinició el worker.

Línea de tiempo

  1. Se detiene el worker; exit 143.
  2. El objetivo queda up=0; la alerta sigue inactive.
  3. La alerta queda pending.
  4. La alerta pasa a firing.
  5. Alertmanager la muestra activa.
  6. Se observa recovery.
  7. El objetivo queda up=1 mientras la alerta sigue firing.
  8. La alerta queda inactive.
  9. Alertmanager muestra count 0.
  10. El /readyz final queda UP.

Investigación

El worker terminó con exit 143; el consumidor de Kafka, Tomcat y Hikari se apagaron de forma ordenada. API, ambas instancias de PostgreSQL y Kafka estaban healthy. El release no cambió.

Recuperación

Se reinició sólo el worker. Se utilizó el runbook asociado al ejercicio. No hubo redeploy, rollback ni restauración de datos.

Resultado

El worker volvió a estar UP, la alerta quedó inactive y Alertmanager mostró count 0. El drill quedó resuelto con el release sin cambios. Estos tiempos observados no son SLA, SLO ni RTO.

Límites

El ejercicio fue sólo local: Alertmanager no tiene paging externo. No cubre recuperación ante HA o falla de host, recuperación de la aplicación ni recuperación del routing, ni define SLA/SLO/RTO. Tampoco cubre recuperación de Kafka ni recuperación de datos. No se establece un backlog exacto ni se hacen afirmaciones sobre pérdida de datos, impacto a clientes, outage de producción o remediación automática.