Skip to content

Error Monitoring

Matthias Schabhüttl edited this page Jun 12, 2026 · 1 revision

Error Monitoring & Health Dashboard

OpenSchichtplaner5 verfügt über ein eingebautes Error Monitoring System mit strukturiertem JSON-Logging und einem Health-Dashboard.

Health-Endpoint

Der Health-Status ist über die API abrufbar:

GET /api/health

Antwort:

{
  "status": "ok",
  "uptime_seconds": 3600,
  "error_rate": 0.02,
  "last_errors": [],
  "db_accessible": true,
  "version": "1.0.0",
  "memory": { "rss_mb": 128, "heap_mb": 96 },
  "disk": { "total_gb": 50, "used_gb": 22, "free_gb": 28, "usage_percent": 44 },
  "api_response_time_ms": 12
}

Structured JSON Logging

Alle Server-Events werden als strukturierte JSON-Logs ausgegeben:

{
  "timestamp": "2026-02-28T15:00:00Z",
  "level": "ERROR",
  "module": "api.schedule",
  "message": "DBF read failed",
  "error": "FileNotFoundError",
  "path": "/api/schedule",
  "user": "admin",
  "duration_ms": 42
}

Log-Level

Level Bedeutung
INFO Normale Operationen (API-Zugriffe, Änderungen)
WARNING Unerwartete Zustände ohne Auswirkung auf Betrieb
ERROR Fehler, die einen Request scheitern lassen
CRITICAL Systemfehler, die sofortige Aufmerksamkeit erfordern

Fehler-Kategorisierung

Fehler werden automatisch kategorisiert:

  • DB_ERROR — Datenbankzugriffsfehler (DBF nicht erreichbar, gesperrt)
  • AUTH_ERROR — Authentifizierungs-/Autorisierungsfehler
  • VALIDATION_ERROR — Ungültige Eingabedaten
  • NOT_FOUND — Angeforderte Ressource nicht gefunden
  • SERVER_ERROR — Interne Serverfehler

Log-Aggregation

Die JSON-Logs lassen sich einfach in gängige Log-Aggregatoren integrieren:

  • Loki + Grafanadocker run grafana/promtail
  • ELK Stack — Filebeat → Elasticsearch
  • systemd-journald — Direkte Integration bei Systemd-Deployment

Verwandte Seiten

🧸 OpenSchichtplaner5 v1.2.0

Home — Startseite


🚀 Einstieg


📊 Dashboard

  • Dashboard — Charts, Widgets & Performance

📅 Planung


📄 Berichte & Daten


🗃️ Stammdaten


🔗 Integrationen


⚙️ Administration


📱 Features


🔗 Links


📚 Verwandte Wikis

Clone this wiki locally