Monitoring & Prozesse¶
Das Admin-Backend bietet zwei Monitoring-Ebenen: das System-Monitoring für aggregierte Prometheus-Metriken und das Live-Monitoring für Echtzeit-Prozessverfolgung mit Kill-Funktion.
System-Monitoring (/monitoring)¶
Provider Rate-Limits¶
Wenn Claude Code aktiv ist, zeigt dieser Bereich den verbleibenden API-Kontingentstand für jeden Endpunkt:
| Spalte | Beschreibung |
|---|---|
| Endpunkt | Server/Provider-Name |
| Verbleibend | Verbleibende Tokens bis zum nächsten Reset |
| Limit | Gesamtlimit |
| % | Auslastung als Fortschrittsbalken |
| Reset | Nächster Reset-Zeitpunkt |
Farbkodierung: Grün (>20% frei) · Gelb (<20%) · Rot (erschöpft)
System-Gauges¶
Sechs Echtzeit-Indikatoren für den Zustand des Knowledge-Stacks:
| Gauge | Metrik | Beschreibung |
|---|---|---|
| ChromaDB-Dokumente | moe_chroma_documents_total |
Anzahl Vektordokumente im Cache |
| Neo4j Entities | moe_graph_entities_total |
Knoten im Knowledge-Graph |
| Neo4j Relationen | moe_graph_relations_total |
Kanten im Knowledge-Graph |
| Ontologie-Entities | moe_ontology_entities_total |
Ontologie-Konzepte |
| Planner-Muster | moe_planner_patterns_total |
Gelernte Routing-Muster |
| Ontologie-Lücken | moe_ontology_gaps_total |
Nicht abgedeckte Themen |
LLM Server-Status¶
Kompakte Übersicht aller konfigurierten Inferenz-Server:
- Online / Offline Badge
- API-Typ Badge (Ollama / OpenAI)
- Latenz (ms)
- GPU-Anzahl
- Geladene Modelle mit VRAM-Nutzung (Ollama) oder Modellanzahl (OpenAI)
- Fehlermeldung bei Offline-Status
Metriken-Diagramme¶
Alle Charts werden per Prometheus-API (/api/monitoring) abgefragt und mit Chart.js gerendert.
| Diagramm | Metrik | Typ |
|---|---|---|
| Token-Verbrauch pro Modell | moe_tokens_total (by model) |
Balkendiagramm |
| Cache-Performance | moe_cache_hits_total / moe_cache_misses_total |
Donut |
| Expert-Aufrufe nach Kategorie | moe_expert_calls_total (by category) |
Balkendiagramm |
| Expert-Aufrufe nach Modell | moe_expert_calls_total (by model) |
Balkendiagramm |
| Expert-Aufrufe nach Modell & Node | Gruppiert | Balkendiagramm |
| Anfragen nach Modus | moe_requests_total (by mode) |
Donut |
| Konfidenz-Verteilung | moe_expert_confidence_total |
Donut |
| Latenz & Bewertungen | P50/P95, Selbstbewertung, Feedback | Tabelle |
Latenz-Metriken¶
| Metrik | Formel |
|---|---|
| P50 (Median) | histogram_quantile(0.50, rate(moe_response_duration_seconds_bucket[1h])) |
| P95 (95. Perzentil) | histogram_quantile(0.95, rate(moe_response_duration_seconds_bucket[1h])) |
| Selbstbewertung Ø | moe_self_eval_score_bucket (avg) |
| Nutzer-Feedback Ø | moe_feedback_score_bucket (avg) |
Live-Monitoring (/live-monitoring)¶
Das Live-Monitoring bietet Echtzeit-Einblick in laufende Prozesse mit der Möglichkeit, einzelne Anfragen zu beenden.
Tab: Aktive Prozesse¶
Laufende API-Anfragen¶
Tabelle aller aktuell laufenden Requests (auto-refresh alle 5 Sekunden):
| Spalte | Beschreibung |
|---|---|
| Gestartet | Startzeit der Anfrage |
| Dauer | Laufzeit in Sekunden |
| User | Username |
| Modell | Eingesetztes LLM |
| Modus | MoE-Modus (native, moe_reasoning, etc.) |
| Template | Verwendetes Expert-Template (falls gesetzt) |
| Typ | streaming oder standard |
| Client-IP | IP-Adresse des Clients |
| Request-ID | Eindeutige Chat-ID |
| Kill | Button zum Beenden |
Farbkodierung nach Laufzeit:
| Farbe | Laufzeit | Bedeutung |
|---|---|---|
| Grün | ≤ 30s | Normal |
| Gelb | ≤ 120s | Länger als üblich |
| Rot | > 120s | Potenzieller Timeout |
Prozess beenden (Kill)¶
Was passiert beim Kill:
- Der Redis-Key
moe:active:{chatId}wird gelöscht - Der Request wird in
moe:admin:completed(Sorted Set) mit Statuskilledverschoben - Der laufende LangGraph-Node empfängt beim nächsten Checkpoint das Kill-Signal
- Der Client erhält einen Abbruch-Fehler
Laufende Streams
Bei Streaming-Anfragen kann es bis zu einigen Sekunden dauern, bis der Kill-Befehl wirksam wird (beim nächsten LangGraph-Checkpoint).
Prozess-Verlauf¶
Tabelle aller abgeschlossenen Requests (bis zu HISTORY_MAX_ENTRIES, Standard: 5000):
| Spalte | Beschreibung |
|---|---|
| Gestartet | Startzeit |
| Beendet | Endzeit |
| Dauer | Gesamtlaufzeit |
| User | Username |
| Modell | LLM |
| Modus | MoE-Modus |
| Typ | streaming / standard |
| Status | completed (grün) oder killed (rot) |
Mit dem Button „History löschen" (oben rechts im Verlauf-Panel) kann der gesamte Verlauf aus Redis gelöscht werden.
Das Verlauf-Limit kann per Umgebungsvariable konfiguriert werden:
Tab: LLM Instanzen¶
Detaillierter Status aller Inferenz-Server:
Pro Server (Ollama)¶
Geladene Modelle:
| Spalte | Beschreibung |
|---|---|
| Modell | Modellname:Tag |
| VRAM | Aktuell genutzter VRAM (MB) |
| Gesamt | Modellgröße gesamt (MB) |
| Parameter | Parameteranzahl |
| Quant. | Quantisierungs-Level |
| Familie | Modell-Familie |
| Läuft ab | Wann das Modell aus dem VRAM entladen wird |
Ollama Metriken (Chips):
| Metrik | Bedeutung | Alarm |
|---|---|---|
| In Arbeit | Aktuelle Requests | Rot wenn > 0 |
| Wartend | Queue-Länge | Rot wenn > 0 |
| Geladen | Anzahl geladener Modelle | – |
| Anfragen gesamt | Lifetime-Requests | – |
| Ø / Anfrage | Durchschnittliche Dauer | – |
| ↑ Eingabe | Request-Größe (MB) | – |
| ↓ Ausgabe | Response-Größe (MB) | – |
Verfügbare Modelle (ausklappbar):
Alle installierten Modelle mit Name, Größe (GB), Parameteranzahl, Quantisierung.
Pro Server (OpenAI-kompatibel)¶
- Modellanzahl
- Verfügbare Modelle (Liste)
Refresh-Steuerung¶
| Element | Funktion |
|---|---|
| Letzte Aktualisierung | Timestamp der letzten Abfrage |
| Manuell aktualisieren | Sofortige Abfrage |
| Auto 5s ☑ | 5-Sekunden-Polling (Standard: aktiv) |
Prometheus-Metriken – Vollständige Liste¶
| Metrik | Labels | Typ | Beschreibung |
|---|---|---|---|
moe_tokens_total |
model, token_type, node, user_id | Counter | Verarbeitete Tokens |
moe_expert_calls_total |
category, model, node | Counter | Experten-Aufrufe |
moe_requests_total |
mode | Counter | Anfragen nach Modus |
moe_response_duration_seconds |
– | Histogram | Antwortzeiten |
moe_cache_hits_total |
– | Counter | Cache-Treffer |
moe_cache_misses_total |
– | Counter | Cache-Fehlschläge |
moe_expert_confidence_total |
level | Counter | Konfidenz-Verteilung |
moe_self_eval_score_bucket |
le | Histogram | Selbst-Bewertungsscores |
moe_feedback_score_bucket |
le | Histogram | Nutzer-Feedback-Scores |
moe_chroma_documents_total |
– | Gauge | ChromaDB-Dokumente |
moe_graph_entities_total |
– | Gauge | Neo4j-Entities |
moe_graph_relations_total |
– | Gauge | Neo4j-Relationen |
moe_ontology_entities_total |
– | Gauge | Ontologie-Entities |
moe_planner_patterns_total |
– | Gauge | Planner-Muster |
moe_ontology_gaps_total |
– | Gauge | Ontologie-Lücken |
Alle Metriken sind auch direkt über Prometheus (http://localhost:9090) und Grafana (http://localhost:3001) zugänglich.