From edac97e9312ba69b921b4607b09b10833311b0ed Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 30 Jul 2026 14:10:04 +0200 Subject: [PATCH] monitoring: Alloy-Storage persistieren --storage.path=/var/lib/alloy/data war gesetzt, aber ohne Volume: die Positions-Datei lag im Container-Layer und war bei jedem Recreate weg. Alloy las danach alle Docker-Logdateien von vorn, worauf Loki alle Eintraege aelter als 7 Tage mit HTTP 400 abwies ("timestamp too old", reject_old_samples). Sichtbar als Fehler-Burst bei jedem Deploy; betroffen waren nur Alt-Logzeilen bis zurueck zu 2025, keine aktuellen Daten. Verifiziert: Positions-Datei liegt jetzt in monitoring_alloy_data und ueberlebt --force-recreate (28 -> 31 Zeilen), zweiter Recreate erzeugt 0 Fehler. 7 Container liefern weiterhin Logs. Co-Authored-By: Claude Opus 5 --- monitoring/docker-compose.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/monitoring/docker-compose.yml b/monitoring/docker-compose.yml index 895ce97..92bfca1 100644 --- a/monitoring/docker-compose.yml +++ b/monitoring/docker-compose.yml @@ -44,6 +44,10 @@ services: - /var/log:/var/log:ro - /var/lib/docker/containers:/var/lib/docker/containers:ro - /var/run/docker.sock:/var/run/docker.sock:ro + # Muss persistent sein, sonst ist die Positions-Datei nach jedem + # Recreate weg und Alloy liest alle Container-Logs von vorn. Loki + # weist die alten Eintraege dann ab (reject_old_samples, Default 7d). + - alloy_data:/var/lib/alloy command: run --storage.path=/var/lib/alloy/data /etc/alloy/config.alloy cap_add: - DAC_READ_SEARCH @@ -103,6 +107,7 @@ volumes: prometheus_data: grafana_data: loki_data: + alloy_data: networks: traefik: