monitoring: five image versions, measured before choosing (#0051)

The operating stack carried 30 critical and 676 high findings. These five lines
remove fourteen and 278 of them. Every target was scanned before it was written
into the file:

  trivy          0.58.2  -> 0.74.0    critical 4 -> 0, high 98 -> 0
  grafana        12.0.0  -> 12.4.9    critical 7 -> 1, high 70 -> 3
  prometheus     v3.3.1  -> v3.14.0   critical 2 -> 0, high 46 -> 2
  alertmanager   v0.28.1 -> v0.34.0   critical 1 -> 0, high 41 -> 2
  node-exporter  v1.9.1  -> v1.12.1   critical 1 -> 0, high 38 -> 8

Three candidates were measured and rejected, which is the point of measuring.
Grafana 13.2.0 clears all seven critical findings but takes high from 70 to 162,
so the minor jump inside 12.x beats the major one by a wide margin. cadvisor only
goes from five critical to four. And python:3.13-slim is unchanged — the host
already holds the current build, so a repull buys nothing.

Configuration was validated against the new tools rather than the old ones:
promtool v3.14.0 accepts prometheus.yml with both rule files, all 20 plus 5
rules, and the rule unit tests; amtool v0.34.0 accepts alertmanager.yml.

⚠️ Needs a deploy on the operating host. Recreate rather than up: the images
change, and the CVE targets themselves move with trivy and the exporter.
This commit is contained in:
Thore Cimbal
2026-08-21 12:00:00 +00:00
parent 59c75c8a01
commit 516641bbba
+5 -5
View File
@@ -1,6 +1,6 @@
services: services:
prometheus: prometheus:
image: prom/prometheus:v3.3.1 image: prom/prometheus:v3.14.0
container_name: prometheus container_name: prometheus
restart: unless-stopped restart: unless-stopped
volumes: volumes:
@@ -26,7 +26,7 @@ services:
- traefik - traefik
alertmanager: alertmanager:
image: prom/alertmanager:v0.28.1 image: prom/alertmanager:v0.34.0
container_name: alertmanager container_name: alertmanager
restart: unless-stopped restart: unless-stopped
volumes: volumes:
@@ -91,7 +91,7 @@ services:
# (Ziele aus /targets/targets.txt - abgeleitet vom cve-exporter, NICHT von Hand # (Ziele aus /targets/targets.txt - abgeleitet vom cve-exporter, NICHT von Hand
# pflegen: #0106 / ADR-0026) # pflegen: #0106 / ADR-0026)
cve-scan: cve-scan:
image: aquasec/trivy:0.58.2 image: aquasec/trivy:0.74.0
container_name: cve-scan container_name: cve-scan
restart: unless-stopped restart: unless-stopped
entrypoint: ["/bin/sh", "/config/scan-loop.sh"] entrypoint: ["/bin/sh", "/config/scan-loop.sh"]
@@ -173,7 +173,7 @@ services:
- loki - loki
grafana: grafana:
image: grafana/grafana:12.0.0 image: grafana/grafana:12.4.9
container_name: grafana container_name: grafana
restart: unless-stopped restart: unless-stopped
environment: environment:
@@ -199,7 +199,7 @@ services:
- traefik - traefik
node-exporter: node-exporter:
image: prom/node-exporter:v1.9.1 image: prom/node-exporter:v1.12.1
container_name: node-exporter container_name: node-exporter
restart: unless-stopped restart: unless-stopped
volumes: volumes: