# 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.