1.2 KiB
1.2 KiB
PAT-013 — Prometheus Config Rescue (Crashloop + LXC Rootfs Channel)
Trigger: Prometheus crashloop nach Config-Rewrite, oder pct exec unbrauchbar.
Iron Rules:
- NIEMALS
grep -n-Ausgabe als Rewrite-Source — Nummernpräfixe verseuchen die Datei. Nutzegrep -v(ohne -n) oder Python/awk. - YAML validieren BEVOR Container recreate (sonst Crashloop = totale Blindheit).
- Beim Löschen von Targets/IPs ALLE Locations sweeppen — Dubletten leben gern in mehreren Jobs derselben Datei (node_exporter-Liste ≠ blackbox-Liste).
Rescue-Kanal (universell für LXC auf RBD):
# Auf dem Hyper visor, der den CT hostet:
lsblk # rbdX finden (size matchen)
mount /dev/rbdX /mnt/rescue
# Dateien direkt editieren unter /mnt/rescue/opt/...
umount /mnt/refuge
# im CT: docker compose up -d --force-recreate <svc>
Symptom-Signature Crashloop: docker logs prometheus → "yaml: line N: mapping
values are not allowed in this context" = klassisches NN:-Präfix-Gift.
Stale-Series-Note: gelöschte Targets erscheinen sekundenweise weiter in Queries — erst nach Scrape-Zyklus-Gap re-checken, dann Erfolg erklären.
Ref: docs/solutions/bug-fixes/2026-09-30-prometheus-yaml-prefix-crashloop.md