From 8d8a58cf2d3fd3710dc4726c40c27c06b606074d Mon Sep 17 00:00:00 2001 From: Mika Date: Mon, 23 Feb 2026 14:48:40 +0000 Subject: [PATCH] Add README.md --- README.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..359812d --- /dev/null +++ b/README.md @@ -0,0 +1,97 @@ +# 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.