Health Check en C#: Guía Completa

Introducción: salud observable

Health Check es endpoint /health que reporta estado del servicio. Retorna 200 OK si sano, 503 si no. Infra (K8s, load balancer) lo consulta periódicamente. Si unhealthy, restarted/removed. Sin health check, servicio zombie sigue recibiendo tráfico. Con health check, automáticamente removido. El endpoint debe revisar dependencias críticas: DB, cache, external APIs. Si todas sanas, 200. Si alguna falla, 503. Implementación: ASP.NET Core HealthChecks (NuGet). Rápido (<100ms). Agrégalo a todo servicio. Es estándar en cloud-native.

Health Check
Prompt: heartbeat monitor and server, minimal style.

1. Naturaleza: chequeo vital

Un médico evalúa signos vitales antes de decidir tratamiento.

Chequeo
Prompt: vital signs check, soft illustration.

2. Mundo Real: orquestación

Kubernetes consulta endpoints de salud para reiniciar pods dañados.

Orquestación
Prompt: Kubernetes health checks, flat infographic.

3. Implementación en C#: Código Paso a Paso

app.MapHealthChecks("/health", new HealthCheckOptions {
    Predicate = _ => true
});

Incluye checks de base de datos, cache y colas.

4. Health Check vs Logging

El logging es reactivo; health check es proactivo y accionable.

5. Diagrama UML

UML Health
Prompt: UML health check pattern, clean vector.
Flow Health
Prompt: health check flow diagram, minimal infographic.

⚠️ Cuándo NO Usar Health Check

  • Si no puedes exponer endpoints internos por seguridad.
  • Si los checks no son confiables.

💪 Ejercicio

Crea health checks para DB, Redis y cola de mensajes.

Conclusión

Health Check es básico para operación continua y orquestación.