# Health Checks - Dokumentation ## Verfügbare Health-Check-Endpoints ### Basis Health-Check - **URL**: `/health` - **Methode**: GET - **Zweck**: Einfacher Health-Check für Load Balancer und Monitoring - **Response**: HTTP 200 wenn gesund ### Erweiterte Health-Checks #### 1. Vollständiger System-Status - **URL**: `/admin/health/api/status` - **Methode**: GET - **Zweck**: Vollständiger Health-Report mit allen Checks - **Response**: JSON mit allen Health-Check-Ergebnissen #### 2. Health-Summary - **URL**: `/admin/health/api/summary` - **Methode**: GET - **Zweck**: Zusammenfassung des System-Status - **Response**: JSON mit Overall-Status und Quick-Stats #### 3. Einzelner Health-Check - **URL**: `/admin/health/api/check/{name}` - **Methode**: GET - **Zweck**: Spezifischen Health-Check ausführen - **Response**: JSON mit Check-Ergebnis #### 4. Health-Checks nach Kategorie - **URL**: `/admin/health/api/category/{category}` - **Methode**: GET - **Zweck**: Alle Checks einer Kategorie ausführen - **Response**: JSON mit Category-Report ## Verfügbare Health-Checks Das Framework unterstützt verschiedene Health-Checks: - **Database**: PostgreSQL Verbindung und Query-Test - **Redis**: Cache/Session/Queue Backend Verbindung - **Queue**: Queue Worker Status - **Logging**: Log-System Status - **Discovery**: Service Discovery Status ## Verwendung in CI/CD Der Workflow führt automatisch Health-Checks nach Deployment durch: 1. **Basic Health Check**: `/health` Endpoint 2. **Extended Health Check**: `/admin/health/api/summary` (falls verfügbar) Bei fehlgeschlagenem Health-Check schlägt das Deployment fehl. ## Automatischer Rollback **Geplant**: Automatischer Rollback bei fehlgeschlagenem Health-Check ist noch nicht implementiert. **Aktuell**: Bei fehlgeschlagenem Health-Check schlägt das Deployment fehl, aber es erfolgt kein automatischer Rollback. **Zukünftig**: - Automatischer Rollback bei fehlgeschlagenem Health-Check - Rollback-Notification (Email/Slack) - Health-Check-Dashboard in Grafana ## Monitoring Integration Health-Checks können in Prometheus/Grafana integriert werden: ```yaml # Prometheus Scrape Config - job_name: 'application-health' metrics_path: '/admin/health/api/status' static_configs: - targets: ['app:80'] ``` ## Manuelle Health-Checks ```bash # Basic Health Check curl https://michaelschiemer.de/health # Extended Health Summary curl https://michaelschiemer.de/admin/health/api/summary # Specific Check curl https://michaelschiemer.de/admin/health/api/check/database # All Checks curl https://michaelschiemer.de/admin/health/api/status ```