Salud de plataforma y estado público: que el verde signifique algo
Cómo las comprobaciones de readiness, el cockpit de salud de admin, las ejecuciones de jobs y el estado público evitan que los incidentes se conviertan en folclore.
Las comprobaciones de salud no son glamurosas. Ese es su encanto. Le dicen al personal de plataforma si la app, la base de datos, la autenticación, el almacenamiento, el correo, la cola de notificaciones, el cron, los webhooks, la API pública, la facturación, el almacén externo de secretos, la auditoría de actividad y la observabilidad se están portando lo bastante bien para el trabajo normal. Trece componentes, una pregunta cada uno: ¿esto está haciendo su trabajo ahora mismo?
/api/health
El endpoint técnico de salud devuelve el readiness de la app con comprobaciones por componente, latencia y estado saneado. Está hecho para monitorización de uptime y para pruebas de humo tras un deploy, no para filtrar detalles de base de datos a internet.
Cockpit de plataforma
/admin/platform/health es la consola de incidentes para propietarios y personal de plataforma; los visores de plataforma no ven la entrada en la barra lateral y se les redirige si abren la dirección, y los admins de organización no pueden abrirla en absoluto. Muestra el estado global, el readiness de la release, un resumen de soporte, las causas probables, el estado por dependencia con su categoría —plataforma, datos, externo, integración de tenant, facturación, cola o evidencia—, el número de tenants afectados cuando es seguro deducirlo, la última comprobación, el último éxito y el último error, y las ejecuciones de jobs recientes. Las rutas de cron y los jobs en segundo plano escriben registros de ejecución acotados para que la plataforma pueda responder si una tarea programada corrió, falló, quedó bloqueada, corrió a medias o se echó una siesta discreta.
Palabras, no códigos
La consola habla el idioma de soporte. Los códigos internos de severidad se sustituyen por etiquetas de impacto —“Incidente urgente”, “Alto impacto”, “Seguimiento de incidente”, “Revision de baja prioridad”— y existen dos estados precisamente para que nadie se asuste con la tarjeta equivocada: “Aun no configurado” significa que una dependencia está ausente a propósito o no tiene monitor directo, lo que no es una caída, y “No se pudo verificar” significa que la página no pudo leer o comprobar los datos de origen. Facturación puede informar de que la facturación de suscripción no está configurada mientras el control local de paquetes sigue funcionando. Cada tarjeta de componente enlaza a la página de admin, ajustes o salud más relevante. Cuando soporte abre un ticket durante un incidente, se puede adjuntar automáticamente al ticket una instantánea de este contexto.
Estado público
/api/status/public expone un feed saneado de componentes para una página de estado o un monitor externo. Puede decir que el almacenamiento de archivos o los trabajos programados están degradados sin revelar nombres de tenants, payloads, secretos ni trazas de pila. La transparencia está bien; pasarse de compartir sigue siendo pasarse.
Por qué importa
Cuando algo va mal, soporte necesita una fuente de verdad compartida. La salud convierte el “¿me pasa solo a mí?” en “el almacenamiento está degradado, las subidas están afectadas, el resto está bien”. Esa frase ahorra una cantidad sorprendente de oxígeno.