- 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
149 lines
4.3 KiB
Markdown
149 lines
4.3 KiB
Markdown
# 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 |