Cómo crear una status page con health check

Resumen

¿Quieres saber en tiempo real si tu aplicación está caída o funcionando sin problemas? Una status page con health check te permite monitorear el estado de tu base de datos, medir el rendimiento histórico y avisar a tus usuarios cuando algo falla. Es una funcionalidad que aporta confianza y profesionalismo a cualquier proyecto SaaS construido en Lovable.

¿Qué es una status page y por qué deberías tener una?

Seguro has visto esas páginas de estado dentro de aplicaciones SaaS que muestran si hay problemas activos o si todo marcha bien. La idea es replicar ese mismo concepto dentro de tu proyecto.

Una status page es una vista que consulta un health endpoint ligero y devuelve métricas sobre la salud de tu aplicación. Sirve para dos cosas: tú detectas fallos antes de que escalen, y tus usuarios sienten que te importa el uptime del producto.

¿Qué es un health endpoint? Es un punto de acceso ligero que tu aplicación consulta cada cierto tiempo para verificar si la base de datos y los servicios están respondiendo correctamente. Devuelve datos como tiempo de respuesta y estado de conexión.

Puedes ubicar la status page en distintos lugares según tu necesidad:

  • Dentro del admin dashboard, solo para ti como creador.
  • Como página pública del sitio, visible para todos los usuarios.
  • Como sitio web independiente dedicado al estado del servicio.

¿Cómo planificar el health check con Lovable en chat mode?

Antes de generar código, conviene activar el chat mode en Lovable para que la herramienta arme un plan basado en tu codebase actual.

El prompt que funcionó en este caso fue pedir una página de health check en el admin dashboard, que hiciera ping a un endpoint ligero, y que además guardara las métricas en una tabla para ver el rendimiento histórico. Lovable escanea el proyecto y propone una arquitectura coherente con lo que ya existe.

El plan generado incluyó tres piezas clave:

  1. Una tabla health metrics para almacenar datos históricos de rendimiento.
  2. Una edge function de health check que devuelve la información en tiempo real.
  3. Un nuevo panel dentro del admin dashboard para visualizar el desempeño.

¿Por qué guardar datos históricos en lugar de solo los actuales? Porque te permiten detectar patrones, como caídas recurrentes en horarios de alta carga o bugs que aparecen solo en ciertos momentos del día. Sin historial, solo ves el presente.

¿Qué papel juega un cron job en este flujo?

Un cron job es una tarea programada que se ejecuta automáticamente cada cierto intervalo, sin que tengas que activarla manualmente. En este caso, el cron job corre el reporte de salud cada cinco a diez minutos y guarda el resultado en la tabla.

Eso significa que tu monitoreo es continuo y pasivo: tú solo entras al dashboard a revisar, y los datos ya están ahí esperándote.

¿Cómo se ven los datos del health check en el dashboard?

Una vez implementado el plan, el panel muestra el tiempo de respuesta de la aplicación de forma histórica. En el ejemplo, las métricas se mantenían alrededor de los 122 milisegundos, lo cual sirve como línea base.

Si ese número se dispara, sabes que algo anda mal y puedes investigar antes de que los usuarios empiecen a quejarse. Y aquí viene lo interesante: al tener datos históricos, puedes correlacionar picos de latencia con horarios específicos, despliegues recientes o aumentos de tráfico.

La misma información puede exponerse como página pública para que los clientes consulten el estado del servicio cuando lo necesiten.

¿Qué automatizaciones puedes construir sobre el health check?

Una vez que tienes el endpoint funcionando, las posibilidades crecen. Puedes encadenar acciones automáticas que respondan ante caídas o anomalías.

Algunos ejemplos prácticos:

  • Recibir un correo cada vez que la base de datos se desconecta.
  • Enviar un mensaje automático a los usuarios avisándoles que estás trabajando en el problema.
  • Disparar alertas internas en Slack o Discord cuando el tiempo de respuesta supera cierto umbral.

Estas automatizaciones cubren los catch-22 típicos: situaciones donde algo se rompe y los usuarios necesitan sentirse escuchados, informados y atendidos. Cuando tienes mucha gente usando la aplicación, esa comunicación proactiva marca la diferencia entre un usuario frustrado y uno fiel.

¿Cómo se integra con el log de errores existente?

Si en clases anteriores ya configuraste el log erroring, la status page se suma como otra capa de monitoreo. Juntos forman un admin panel bastante completo: ves errores específicos en el log y métricas agregadas de salud en la status page.

Esa combinación te da contexto. Un error puntual puede no significar nada, pero si coincide con un pico de latencia en el health check, ya tienes una pista clara de dónde mirar primero.

Cuéntame en los comentarios qué métricas adicionales agregarías a tu propia status page.