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
This commit is contained in:
149
README_STATISTICS.md
Normal file
149
README_STATISTICS.md
Normal file
@ -0,0 +1,149 @@
|
||||
# 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)
|
||||
```bash
|
||||
python ti_status_checker.py
|
||||
```
|
||||
|
||||
### Statistik-Bericht senden
|
||||
```bash
|
||||
python ti_status_checker.py --stats
|
||||
# oder
|
||||
python ti_status_checker.py -s
|
||||
```
|
||||
|
||||
### Debug-Modus aktivieren
|
||||
```bash
|
||||
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:
|
||||
|
||||
```env
|
||||
APPRISE_URL_MATTERMOST=mattermost://...
|
||||
APPRISE_URL_SLACK=slack://...
|
||||
# etc.
|
||||
```
|
||||
|
||||
## Automatisierung
|
||||
|
||||
### Cron-Job für regelmäßige Statistiken
|
||||
```bash
|
||||
# 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
|
||||
Reference in New Issue
Block a user