Add README.md
This commit is contained in:
parent
b6cf02996c
commit
8d8a58cf2d
1 changed files with 97 additions and 0 deletions
97
README.md
Normal file
97
README.md
Normal file
|
|
@ -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.
|
||||||
Loading…
Reference in a new issue