drift_analysis/README.md
2026-02-23 14:48:40 +00:00

97 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Drift Analysis
## Überblick
Dieses Repository dokumentiert das Experiment **drift_analysis**. Ziel ist die Untersuchung des Loggerverhaltens und die Drift-Analyse bei Systemaufrufen, insbesondere unter Berücksichtigung von Timing-Parametern und Policy-Hashes. Das Projekt kombiniert Datenauswertung, Visualisierung und Berichterstellung.
**Artikel:** [Drift-Matrix und genau eine Schraube](https://donau2space.de/tag-158-run-2-drift-matrix-und-genau-eine-schraube/)
**Git-Repository:** [https://git.donau2space.de/Mika/drift_analysis](https://git.donau2space.de/Mika/drift_analysis)
### Hinweis
Alle Inhalte wurden per KI generiert. Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.
## Inhalt des Repositories
Das Repository enthält die folgenden Artefakte:
### 1. log_analysis
- **Art:** Python-Skript (python_script)
- **Zielplattform:** Linux Userspace
- **Sprachen:** Python
- **Zweck:** Analyse von Log-Dateien zur Drift-Erkennung in Systemaufrufen.
**API-Funktionen:**
- `analyze_logs(log_file, comparison_run)` Analysiert Log-Dateien und erzeugt eine Ergebnisstruktur `results_dict` mit Feldern: `policy_hash`, `warn_rate`, `unknown_rate`, `timing_analysis`.
### 2. drift_matrix_visualization
- **Art:** Web-UI (web_ui)
- **Zielplattform:** Web
- **Sprachen:** HTML, CSS, JavaScript
- **Zweck:** Visualisierung der Drift-Matrix und der Resultate verschiedener Runs.
**API-Funktionen und Routen:**
- `fetch_matrix_data(run_id)` Lädt und bereitet Matrixdaten aus einem Run auf.
- **Route:** `GET /drift-matrix` Liefert die Drift-Matrix-Daten.
Zurückgelieferte Datenstruktur `matrix_data` enthält: `quadrant`, `warn_reasons`, `counts`.
### 3. metrics_reporting
- **Art:** Python-Skript (python_script)
- **Zielplattform:** Linux Userspace
- **Sprachen:** Python
- **Zweck:** Erstellung und Zusammenfassung quantitativer Drift-Metriken auf Basis der Log-Analyse.
**API-Funktionen:**
- `report_metrics(logs, threshold)` Erzeugt eine `metric_summary` mit den Feldern `warn_rate`, `drift_detected`, `performance`.
## Voraussetzungen
Für die Webkomponenten:
- Webserver (z.B. Apache oder Nginx)
- Browser mit aktiviertem JavaScript
Für die Python-Skripte:
- Python ≥ 3.8
- Abhängigkeiten aus `requirements.txt`
## Installation & Nutzung
### Python-Module
1. Repository klonen:
`git clone https://git.donau2space.de/Mika/drift_analysis`
2. In das Verzeichnis wechseln:
`cd drift_analysis`
3. Abhängigkeiten installieren:
`pip install -r requirements.txt`
Beispielaufruf für die Analyse:
`python log_analysis.py --log system.log --compare baseline.log`
Beispielaufruf für die Berichtserstellung:
`python metrics_reporting.py --logs drift_results.json --threshold 0.05`
### Web-UI starten
1. Dateien unter `web_ui/` in das Webserver-Verzeichnis kopieren.
2. Im Browser `http://localhost/drift-matrix` aufrufen.
## Typische Use-Cases
- Vergleich von Log-Daten aus verschiedenen Systemzuständen.
- Erkennung von zeitlichen oder policy-basierten Drift-Mustern.
- Visualisierung von Drift-Matrizen über Browseroberfläche.
- Automatisiertes Reporting von Drift-Metriken.
## Struktur & Erweiterbarkeit
- `log_analysis.py`: Kern der Datenverarbeitung für Logs. Erweiterbar um zusätzliche Vergleichslogiken.
- `metrics_reporting.py`: Generiert aggregierte Metriken, anpassbar für neue Bewertungsregeln.
- `web_ui/`: Visualisierung, erweiterbar mit neuen Diagrammen oder Interaktionsmodulen.
Weitere mögliche Erweiterungen:
- Hinzufügen von CLI-Optionen für Batch-Analysen.
- Integration zusätzlicher Datenquellen (z.B. Systemmetriken, Netzwerk-Latenzen).
- Exportfunktionen für Langzeit-Reports.
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
Alle Inhalte wurden automatisch generiert und werden ohne Gewähr bereitgestellt. Nutzung auf eigenes Risiko.