---
title: Salud y monitoreo
description: Las sondas de liveness y readiness, qué verifican y qué no, el formato de los logs y qué señales conviene alertar.
canonical: https://developer.unico.io/es/human-plugin/self-hosting/health-and-monitoring
locale: es
generated_by: markdown-export
---

# Salud y monitoreo

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

## Sondas

| Endpoint | Responde | Usar para |
| --- | --- | --- |
| `GET /health/live` | `200 {"status":"ok"}` mientras el proceso atiende solicitudes | Liveness |
| `GET /health/ready` | `200 {"status":"ok"}` cuando PostgreSQL responde; en caso contrario `503 {"status":"unavailable"}` | Readiness: dirige tráfico solo cuando esté listo |

```yaml
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.

<a id="logs"></a>

## 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):

```json
{"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.