Files
TI-Status-Bot/README_STATISTICS.md
Markus Busche f79fc24b3b feat: Statistik-Funktionalität für TI-Status Checker hinzugefügt
- 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
2025-08-11 09:44:58 +02:00

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 -Klasse
  • ti_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

  1. Keine Apprise-URLs konfiguriert: Prüfen Sie Ihre .env Datei
  2. Berechtigungsfehler: Stellen Sie sicher, dass das Script Schreibrechte im Verzeichnis hat
  3. 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:

  1. Aktivieren Sie den Debug-Modus mit --debug
  2. Prüfen Sie die Logs auf Fehlermeldungen
  3. Stellen Sie sicher, dass alle Abhängigkeiten installiert sind