Glosario · Tipos de monitorización

¿Qué es un endpoint de health check?

Un endpoint de health check es una URL, como /health o /healthz, que expone un servicio para que balanceadores de carga, orquestadores y herramientas de monitorización puedan preguntar si funciona. Responde 200 cuando el servicio está bien y un estado de error, normalmente 503, cuando no.

Cómo funciona y por qué importa

Un buen health check prueba lo que el servicio necesita para atender a los usuarios: una consulta rápida a la base de datos, la caché, la cola. Responde rápido, no tiene efectos secundarios, no necesita inicio de sesión (o solo una clave sin otros permisos) y devuelve un pequeño cuerpo JSON que indica qué comprobación falló.

Suele haber dos tipos. Una comprobación de liveness indica que el proceso se ejecuta y no debe reiniciarse; es sencilla. Una comprobación de readiness indica que la instancia puede recibir tráfico ahora, dependencias incluidas, para que un balanceador de carga o Kubernetes pueda desviar el tráfico. La monitorización externa necesita la de readiness.

Ten cuidado con las dependencias que no controlas. Si el health check falla cada vez que una API de terceros va lenta, todas las instancias pueden quedar fuera de servicio a la vez. Indica esos casos como degradados en el cuerpo y reserva el código de estado para los fallos que de verdad detienen el servicio.

Ejemplo

GET /health

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store

{"status":"ok","checks":{"database":"ok","cache":"ok"}}

Un monitor comprueba el código de estado y que $.status sea ok. Un 503, un tiempo de espera agotado o cualquier otro valor hace fallar la comprobación.

Cómo ayuda Uptimecheck

Los monitores de API de Uptimecheck pueden comprobar un endpoint de health check cada minuto: el código de estado (de 200 a 399 por defecto, o los códigos que definas), hasta 10 condiciones de JSON y cabeceras, como que $.status sea igual a ok, una palabra clave y hasta 20 cabeceras de petición para una clave. El timeout por defecto es de 10 segundos, y las respuestas más lentas que tu límite envían una alerta de lentitud.

Ver Monitorización de APIs

14 días de prueba gratis · Después, gratis con 5 monitores · Sin tarjeta de crédito

Más en las guías

Guides 7 min de lectura

Cómo crear un endpoint de health check (y monitorizarlo)

Un endpoint de health check indica a los monitores y balanceadores de carga si tu aplicación puede atender peticiones. Qué comprobar, cómo hacerlo rápido y seguro, código para Laravel, Express y Flask, y cómo monitorizarlo.

Leer

Guides 5 min de lectura

Checklist de monitorización de API: más allá del 200 OK

Una API puede devolver 200 y aun así estar rota. Un checklist práctico para monitorizar API: métodos, cabeceras, cuerpos de petición, autenticación, respuestas esperadas y umbrales de tiempo de respuesta.

Leer

Agencies 7 min de lectura

Qué monitorizar en tu web: checklist de URLs y checks

Monitorizar solo la página de inicio deja fuera la mayoría de las caídas. Una checklist de las URLs y los checks que importan, del login y el checkout a los webhooks, cron jobs, SSL, DNS y servidores, con configuraciones de ejemplo.

Leer

Preguntas

¿Qué debe devolver un endpoint de health check?

200 con un pequeño cuerpo JSON cuando el servicio y sus dependencias críticas funcionan, y 503 cuando no. Añade Cache-Control: no-store para que ninguna caché responda por él.

¿Debe ser público un endpoint de health check?

Puede serlo, si no revela nada sensible: ni versiones, ni nombres de host, ni mensajes de error. Si no, protégelo con un token enviado como cabecera y da al monitor su propia clave.

¿Qué diferencia hay entre liveness y readiness?

Liveness indica que el proceso se está ejecutando; si falla, el proceso se reinicia. Readiness indica que la instancia puede atender tráfico ahora; si falla, la instancia se retira de la rotación hasta que se recupera.

Las caídas son cosa del pasado.

Configura tu primer monitor en menos de un minuto, o echa antes un vistazo a la demo en vivo.

14 días de prueba gratis · Después, gratis con 5 monitores · Sin tarjeta de crédito