Überwachung und Integrität
Health-Check – /api/health
-
Endpunkt:
/api/health -
Methode: GET
-
Beschreibung: Ressourcenoptimierter Liveness-Check für die Anwendung und die SQLite-Verbindung. Docker
HEALTHCHECKund die Entrypoint-Warteschleife verwenden diese URL auf localhost. -
Antwort (fehlerfrei):
{"status": "healthy","database": "connected","basicConnection": true,"initializationStatus": "complete","initializationComplete": true,"connectionHealth": true,"timestamp": "2024-03-20T10:00:00Z"} -
Antwort (beeinträchtigt):
{"status": "degraded","database": "unavailable","basicConnection": false,"initializationStatus": "complete","initializationComplete": true,"connectionHealth": false,"connectionHealthError": "Database connection test failed","timestamp": "2024-03-20T10:00:00Z"} -
Fehlerantwort (503):
{"status": "unhealthy","error": "Database connection failed","message": "Connection timeout","timestamp": "2024-03-20T10:00:00Z"} -
Hinweise:
- Gibt 200 zurück, wenn die Initialisierung abgeschlossen ist und
SELECT 1erfolgreich ist - Gibt 503 zurück, wenn die Initialisierung oder die Verbindungsprüfung fehlschlägt
- Listet keine Tabellennamen auf oder führt Dashboard-Abfragen aus
- Benötigt niemals einen API-Schlüssel
- Wann immer eine der IP-Zulassungslisten aktiviert ist, muss die Client-IP eine Loopback-Adresse sein oder in der Admin- oder externen CIDR-Liste stehen (
403IP_NOT_ALLOWEDandernfalls) - Nicht-Loopback-Clients sind ratenbegrenzt (
429PROBE_RATE_LIMITED, 30 pro Minute und 120 pro Stunde). Loopback (127.0.0.1,::1) wird niemals gedrosselt
- Gibt 200 zurück, wenn die Initialisierung abgeschlossen ist und
Konnektivitätsprüfung – /api/ping
-
Endpunkt:
/api/ping -
Methode: GET
-
Beschreibung: Sehr kleine
{ "ok": true }-Antwort, die für die Konnektivitätsprüfung des Dashboards verwendet wird (alle 30 Sekunden). -
Antwort:
{"ok": true} -
Hinweise:
- Erfordert niemals einen API-Schlüssel oder ein Sitzungscookie
- Gleiche Zulassungslisten-Vereinigung und Loopback-Regeln wie bei
/api/health - Für Nicht-Loopback-Clients gilt ein Rate-Limit (
429PROBE_RATE_LIMITED, 60/Minute und 600/Stunde)