---
title: Health und Monitoring
description: Die Liveness- und Readiness-Probes, was sie prüfen und was nicht, das Log-Format und welche Signale Sie alarmieren sollten.
canonical: https://developer.unico.io/de/human-plugin/self-hosting/health-and-monitoring
locale: de
generated_by: markdown-export
---

# Health und Monitoring

Was Sie prüfen, was Sie beobachten und was die Probes Ihnen nicht verraten können.

## Probes

| Endpunkt | Antwortet | Verwendung |
| --- | --- | --- |
| `GET /health/live` | `200 {"status":"ok"}`, solange der Prozess Anfragen bedient | Liveness |
| `GET /health/ready` | `200 {"status":"ok"}`, wenn PostgreSQL antwortet, sonst `503 {"status":"unavailable"}` | Readiness: Leiten Sie Datenverkehr erst weiter, wenn sie bereit ist |

```yaml
livenessProbe:
  httpGet: { path: /health/live, port: 8080 }
readinessProbe:
  httpGet: { path: /health/ready, port: 8080 }
  timeoutSeconds: 5
```

Setzen Sie `timeoutSeconds` bei der Readiness-Probe. Wenn PostgreSQL Verbindungen annimmt, aber nicht mehr antwortet, kann die Prüfung deutlich länger warten. Das Timeout sorgt dafür, dass die Probe fehlschlägt, statt zu hängen.

### Was Readiness nicht prüft

Readiness prüft nur die Datenbank. Sie prüft **nicht**, ob der Zugriffsschlüssel gültig ist oder ob Unico erreichbar ist. Ein falscher Zugriffsschlüssel zeigt sich als Fehler beim create, nicht als fehlgeschlagene Probe. Nehmen Sie eine echte create-Anfrage in Ihre Prüfungen nach dem Deployment auf.

## Logs

Logs sind JSON-Zeilen auf der Standardausgabe, mit `timestamp`, `severity`, `service` und `message`. Fehler, die einen gespeicherten Prozess betreffen, enthalten dessen `id`. Fehler des Aufrufers (`400`, `404`, `409`, `422`) werden nicht protokolliert.

Ein gesunder Start protokolliert diese Zeilen in dieser Reihenfolge, zwischen den PostgreSQL-Verbindungsmeldungen (`version` und `count` des Katalogs ändern sich mit jedem Katalog-Release):

```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"}
```

## Wann Sie alarmieren sollten

- Readiness schlägt fehl: Die Datenbank ist nicht erreichbar.
- Wiederholte Antworten `503 DATABASE_UNAVAILABLE` oder `502 UPSTREAM_UNAVAILABLE` auf Aufrufe Ihres Back-Ends.
- Container-Neustarts: Eine Neustart-Schleife deutet meist auf eine fehlende Einstellung, einen nicht erreichbaren Katalog oder ein Datenbankproblem hin. Das Log nennt die Ursache.
- Log-Zeilen auf Fehlerebene, etwa `creating process` oder `retrieving process`.

Human Plugin exportiert keine Metriken. Nutzen Sie Ihr Gateway oder Service Mesh für Anfragerate und Latenz.