Todos los artículos
2 min de lecturaMonitorización

Por qué un estado verde no garantiza que un servicio funcione

Un estado verde es una buena noticia: las comprobaciones configuradas han pasado. Lo importante es qué cubren. Un proceso en ejecución y un inicio de sesión correcto son resultados distintos.

Contenido

Qué significa verde en este caso

Pensemos en una aplicación web: el proceso funciona y el puerto es accesible. Sin embargo, el inicio de sesión falla porque una conexión necesaria con la base de datos está interrumpida. Si la monitorización solo comprueba el proceso y el puerto, ambos controles pueden seguir indicando correctamente OK. El inicio de sesión simplemente no se ha comprobado.

Por eso hay que definir las comprobaciones adecuadas. Una buena monitorización muestra qué funciones están disponibles y dónde un problema afecta al servicio.

Del proceso a la función real

Comprobar procesos y puertos resulta útil para detectar rápidamente fallos básicos. Un servicio del que dependen las personas también necesita pruebas funcionales apropiadas:

  • ¿Responde la aplicación en un tiempo razonable?
  • ¿Devuelve el contenido esperado, en lugar de cualquier respuesta HTTP satisfactoria?
  • ¿Se puede completar correctamente una operación importante y bien delimitada?

El alcance de la prueba depende del servicio. Debe generar poca carga y evitar cambios en los datos de producción. Si necesita una cuenta, basta con los permisos necesarios para esa prueba.

Una alerta debe ayudar a resolver el problema

Una alerta útil identifica la función afectada y sus consecuencias. Las métricas y los registros ayudan después con el diagnóstico. Los reintentos, los tiempos de espera y las alertas adecuados permiten distinguir anomalías breves de fallos persistentes.

También hay que probar la propia comprobación: ¿detecta un fallo introducido de forma controlada? ¿Informa de un tiempo de espera agotado? ¿Se resuelve la alerta tras la recuperación?

Dar al verde un significado claro

Un estado útil debe poder explicarse: qué se ha comprobado, cuándo y qué se considera un éxito. Así, el verde representa una función concreta que realmente se ha verificado.

Encontrarás una guía práctica en el Public Repository: Designing Useful Monitoring Checks.

Más información: Google SRE: Monitoring Distributed Systems.