- Neue Klasse OutageStatistics für automatische Störungsaufzeichnung - Sammelt Häufigkeit und Dauer von Ausfällen - Parameter --stats/-s zum Senden von Statistik-Berichten über Apprise - Erweiterte Kommandozeilen-Argumente (--debug/-d) - Automatische Aufzeichnung von Störungsbeginn und -ende - Detaillierte Statistiken mit Trends und Service-spezifischen Daten - Umfassende Dokumentation in README_STATISTICS.md
4.3 KiB
TI-Status Checker - Statistik-Funktionalität
Übersicht
Der TI-Status Checker wurde um umfangreiche Statistik-Funktionalität erweitert, die automatisch alle Störungen und deren Dauer aufzeichnet.
Neue Features
1. Automatische Störungsaufzeichnung
- Störungsbeginn: Wird automatisch erkannt und aufgezeichnet
- Störungsende: Wird automatisch erkannt und die Dauer berechnet
- Störungstypen: Unterscheidung zwischen "full" und "partial" Störungen
2. Detaillierte Statistiken
- Service-spezifische Statistiken: Für jeden betroffenen Service
- Gesamtstatistiken: Über alle Störungen hinweg
- Trend-Analysen: Durchschnittswerte der letzten 30 Tage
- Zeitreihen: Chronologische Aufzeichnung aller Störungen
3. Statistik-Berichte
- Automatische Berichte: Über Apprise versendbar
- Markdown-Format: Gut lesbar in Chat-Systemen
- Zusammenfassungen: Übersichtliche Darstellung der wichtigsten Kennzahlen
Verwendung
Normale Ausführung (Störungen überwachen)
python ti_status_checker.py
Statistik-Bericht senden
python ti_status_checker.py --stats
# oder
python ti_status_checker.py -s
Debug-Modus aktivieren
python ti_status_checker.py --debug
# oder
python ti_status_checker.py -d
Statistik-Daten
Gespeicherte Informationen
- Störungsbeginn: ISO-Zeitstempel
- Störungsende: ISO-Zeitstempel
- Dauer: In Minuten
- Service-Name: Betroffener Dienst
- Störungstyp: "full" oder "partial"
- Status: "active" oder "resolved"
Berechnete Kennzahlen
- Gesamtanzahl Störungen
- Gesamtdauer aller Störungen
- Durchschnittsdauer pro Störung
- Längste Störung
- Am stärksten betroffener Service
- Tägliche Durchschnittswerte
- Trends der letzten 30 Tage
Dateien
Neue Dateien
ti_statistics.py: Statistik-Funktionen und -Klasseti_outage_statistics.json: Gespeicherte Statistik-Daten
Erweiterte Dateien
ti_status_checker.py: Hauptscript mit Statistik-Integration
Beispiel-Statistik-Bericht
📊 **TI-Status Ausfall-Statistiken**
==================================================
**Zusammenfassung:**
• Gesamte Störungen: 15
• Aktive Störungen: 2
• Gesamtdauer: 1245 Minuten
• Durchschnittsdauer: 83.0 Minuten
• Längste Störung: 180 Minuten
• Am stärksten betroffen: konnektor
**Service-Statistiken:**
• **KONNEKTOR**:
- Störungen: 8
- Gesamtdauer: 720 Min
- Durchschnitt: 90.0 Min
- Längste: 180 Min
**Trends (letzte 30 Tage):**
• Durchschnitt Störungen/Tag: 0.5
• Durchschnitt Dauer/Tag: 41.5 Min
• Tage mit Störungen: 12
• Max. Störungen an einem Tag: 3
**Letzte Störungen (7 Tage):**
• **KONNEKTOR** (partial)
- 15.01. 14:30 - 15.01. 16:45 (135 Min)
Konfiguration
Die Statistik-Funktionalität verwendet dieselben Apprise-Konfigurationen wie der normale Status-Checker. Stellen Sie sicher, dass in Ihrer .env Datei mindestens eine Apprise-URL konfiguriert ist:
APPRISE_URL_MATTERMOST=mattermost://...
APPRISE_URL_SLACK=slack://...
# etc.
Automatisierung
Cron-Job für regelmäßige Statistiken
# Täglich um 9:00 Uhr Statistik-Bericht senden
0 9 * * * cd /path/to/script && python ti_status_checker.py --stats
Windows Task Scheduler
Erstellen Sie eine geplante Aufgabe, die regelmäßig python ti_status_checker.py --stats ausführt.
Fehlerbehebung
Häufige Probleme
- Keine Apprise-URLs konfiguriert: Prüfen Sie Ihre
.envDatei - Berechtigungsfehler: Stellen Sie sicher, dass das Script Schreibrechte im Verzeichnis hat
- JSON-Fehler: Bei korrupten Statistik-Daten wird automatisch eine neue Datei erstellt
Debug-Modus
Verwenden Sie --debug für detaillierte Ausgaben und Fehlerdiagnose.
Erweiterte Verwendung
Statistik-Daten exportieren
Die Statistik-Daten werden in ti_outage_statistics.json gespeichert und können für weitere Analysen verwendet werden.
Benutzerdefinierte Berichte
Die OutageStatistics Klasse kann in eigene Scripts importiert werden, um maßgeschneiderte Berichte zu erstellen.
Support
Bei Fragen oder Problemen mit der Statistik-Funktionalität:
- Aktivieren Sie den Debug-Modus mit
--debug - Prüfen Sie die Logs auf Fehlermeldungen
- Stellen Sie sicher, dass alle Abhängigkeiten installiert sind