monitoring: die letzten fuenf Einzeldatei-Mounts auf Verzeichnisse (#0083)
Docker haengt Einzeldatei-Mounts am Inode auf; git pull ersetzt die Datei per
Rename, der Container zeigt weiter auf die alte. Fuer prometheus, alertmanager,
cve-scan und grafana war das laengst behoben - fuer loki, alloy und die drei
Python-Skripte nicht.
Bei den Skripten war die Falle sogar schlimmer: Python liest beim Start, ein
Neustart ist ohnehin noetig und wird deshalb fuer ausreichend gehalten. Der
Prozess startet neu, der Mount zeigt weiter auf den alten Inode, der Container
meldet Erfolg und faehrt alten Code.
Geaendert:
loki ./loki:/etc/loki (-config.file zieht mit)
alloy ./alloy:/etc/alloy (Pfad bleibt gleich)
matrix-alerts ./alertmanager:/app
release-watch ./alertmanager:/app
cve-exporter ./cve:/app
Belegt statt angenommen: docker compose config gueltig; alle vier Pfade in
Wegwerf-Containern nachgesehen; und die Gegenprobe - Datei im laufenden
Container geaendert, Pruefsumme wechselt. Genau das ging vorher nicht.
⚠️ Einmalig noetig: docker compose up -d --force-recreate loki alloy
matrix-alerts release-watch cve-exporter. Danach nie wieder.
This commit is contained in:
@@ -61,7 +61,7 @@ services:
|
||||
# Nachricht auf, statt die Firing-Nachricht abzuhaken.
|
||||
- MATRIX_STATE_FILE=/state/matrix-alerts-state.json
|
||||
volumes:
|
||||
- ./alertmanager/matrix-alerts.py:/app/matrix-alerts.py:ro
|
||||
- ./alertmanager:/app:ro
|
||||
- matrix_alerts_data:/state
|
||||
command: python3 /app/matrix-alerts.py
|
||||
networks:
|
||||
@@ -81,7 +81,7 @@ services:
|
||||
- MATRIX_RELEASE_ROOM_ID=${MATRIX_RELEASE_ROOM_ID:-}
|
||||
- MATRIX_TOKEN=${MATRIX_ALERT_TOKEN}
|
||||
volumes:
|
||||
- ./alertmanager/release-watch.py:/app/release-watch.py:ro
|
||||
- ./alertmanager:/app:ro
|
||||
- release_watch_data:/state
|
||||
command: python3 /app/release-watch.py
|
||||
networks:
|
||||
@@ -110,7 +110,7 @@ services:
|
||||
- RESULTS_DIR=/results
|
||||
- STATE_FILE=/state/first-seen.json
|
||||
volumes:
|
||||
- ./cve/cve-exporter.py:/app/cve-exporter.py:ro
|
||||
- ./cve:/app:ro
|
||||
- cve_results:/results:ro
|
||||
- cve_exporter_state:/state
|
||||
command: python3 /app/cve-exporter.py
|
||||
@@ -122,9 +122,9 @@ services:
|
||||
container_name: loki
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./loki/loki-config.yaml:/etc/loki/local-config.yaml:ro
|
||||
- ./loki:/etc/loki:ro
|
||||
- loki_data:/loki
|
||||
command: -config.file=/etc/loki/local-config.yaml
|
||||
command: -config.file=/etc/loki/loki-config.yaml
|
||||
# Port 3100 oeffentlich: externe Alloys pushen Logs hierher.
|
||||
# Ebenfalls per Firewall auf bekannte Absender-IPs einschraenken.
|
||||
ports:
|
||||
@@ -137,7 +137,7 @@ services:
|
||||
container_name: alloy
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./alloy/config.alloy:/etc/alloy/config.alloy:ro
|
||||
- ./alloy:/etc/alloy:ro
|
||||
- /var/log:/var/log:ro
|
||||
- /var/lib/docker/containers:/var/lib/docker/containers:ro
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
|
||||
Reference in New Issue
Block a user