Saltar al contenido principal
Salud y monitoreo

Qué sondear, qué observar y qué no pueden decirte las sondas.

Markdown

Sondas​

EndpointRespondeUsar para
GET /health/live200 {"status":"ok"} mientras el proceso atiende solicitudesLiveness
GET /health/ready200 {"status":"ok"} cuando PostgreSQL responde; en caso contrario 503 {"status":"unavailable"}Readiness: dirige tráfico solo cuando esté listo
livenessProbe:
httpGet: { path: /health/live, port: 8080 }
readinessProbe:
httpGet: { path: /health/ready, port: 8080 }
timeoutSeconds: 5

Define timeoutSeconds en la sonda de readiness. Si PostgreSQL acepta conexiones pero deja de responder, la verificación puede esperar mucho más que eso, y el timeout hace que la sonda falle en lugar de quedarse colgada.

Qué no verifica la readiness​

La readiness solo verifica la base de datos. No verifica que la clave de acceso sea válida ni que Unico sea accesible. Una clave de acceso incorrecta se manifiesta como errores en la creación, no como una sonda fallida. Incluye una solicitud de creación real en tus verificaciones posteriores al despliegue.

Registros​

Los logs son líneas JSON en la salida estándar, con timestamp, severity, service y message. Los fallos que involucran un proceso almacenado incluyen su id. Los errores cometidos por quien llama (400, 404, 409, 422) no se registran.

Un arranque correcto registra estas líneas, en este orden, entre los mensajes de conexión de PostgreSQL (el version y el count del catálogo cambian con cada versión del catálogo):

{"severity":"INFO","timestamp":"2026-11-03T14:02:11.482913407Z","message":"attribute catalog loaded","service":"human-plugin","version":"2026-10-29.1","count":53,"url":"https://human-token-assets.unico.app/attribute-catalog.json"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.731050212Z","message":"database schema ready","service":"human-plugin"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.733418901Z","message":"human plugin listening","service":"human-plugin","addr":":8080"}

Qué alertar​

  • Readiness fallando: la base de datos es inaccesible.
  • Respuestas 503 DATABASE_UNAVAILABLE o 502 UPSTREAM_UNAVAILABLE repetidas a las llamadas de tu back-end.
  • Reinicios del contenedor: un bucle de reinicios suele indicar una configuración ausente, un catálogo inaccesible o un problema de base de datos. El log indica cuál.
  • Líneas de log de nivel error, como creating process o retrieving process.

Human Plugin no exporta métricas. Usa tu gateway o service mesh para las tasas de solicitudes y la latencia.