Files
dilib_operations/docs/API.md
T
ms 2c1c48df0c
PostgreSQL integration / tests (push) Has been cancelled
init
2026-11-09 13:15:48 +01:00

1.8 KiB

HTTP-API

Basis /api/, JSON. Login liefert ein acht Stunden gültiges Bearer-Token. Alle Lesezugriffe benötigen Anmeldung. Agent-Token sind nur für Ingest gültig.

Methode / Pfad Funktion
POST auth/login/ username, password → token
POST auth/logout/ aktuelles Token widerrufen
GET auth/me/ Benutzerinformationen
POST ingest/ Agent-Batch, Header Authorization: Agent TOKEN
GET summary/ Kennzahlen, Server, Durchsatz
GET servers/ Hostliste
GET servers/UUID/ Detail und Zeitreihe
PATCH servers/UUID/ maintenance boolean, Operator
GET tasks/ Taskliste mit q, state, offset
GET events/ Ereignisliste mit q, kind, offset
GET alarms/ offene Alarme, all=1 für Historie, offset
POST alarms/ID/ack/ Quittierung, Operator
GET/PUT settings/ Lesen / Operator-Konfiguration
GET flower/ zuletzt empfangene Flower-Statuswerte
GET export/ Serverübersicht als CSV
GET report/ Seaborn-Heatmap als PNG
POST ai/ konfigurierte KI-Analyse, Operator
GET health/ Datenbankprüfung

Listen nutzen segment (Name), server (UUID) und je nach Endpunkt hours (1, 24, 168 oder 720). Tasks/Events/Alarme sind auf 100 Einträge pro Seite begrenzt. Flower-Status enthält den Messzeitpunkt; alte Werte sind kein aktueller Verfügbarkeitsnachweis.

Ingest-Beispiel:

{"events":[{"id":"9f242e23-d82d-457a-b89c-cc97ce5beee9","kind":"metric","occurred_at":"2026-11-04T12:00:00Z","payload":{"cpu":12.5,"ram":43.2,"disk":50.1,"services":{"django":true}}}]}

Erfolgsantwort enthält accepted (neu eingefügte Ereignisse) und received (Anzahl verarbeiteter Eingabeelemente inklusive Duplikate). Nur bei erfolgreichem HTTP-Status und passender received-Anzahl bestätigt der Agent die Outbox-Einträge.