Logbuch#control-center#opnsense#monitoring#prometheus
Router-Metriken per Exporter — und zwei Lücken, die Konfiguration waren
Von Niclas Hennrich · veröffentlicht · geschehen am
Selbst gebaut und in Betrieb genommen. Gehört zum Vorhaben Homelab Control Center.
- Router-Services im Blick
- 12
- WAN-Traffic beim Test
- 7Mbit/s
- neue Backend-Tests
- 10
Kurz zur Einordnung: Das Control Center ist mein selbst gebautes Mini-NOC. Phase 4 — der Router — war in der Architektur von Anfang an vorgesehen, aber vertagt, weil API-Zugangsdaten fehlten. Heute lagen sie vor, und die Frage war nur noch: eigenes Polling im Backend oder ein fertiger Exporter?
Entscheidung: Der Community-Exporter opnsense-exporter (AthennaMind)
als Container im Stack. Dasselbe Muster wie node, smartctl und cAdvisor:
Zeitreihen bleiben in Prometheus, Historie gibt es gratis, das Backend
mappt nur. Kein veröffentlichter Port, ein eigener Scrape-Job mit 30 s;
drei Collectors abgeschaltet, die ich nicht brauche (DNS macht bei mir der
Pi-hole, nicht der Router). Im Backend eine reine Mapping-Funktion plus
Status-Codes für API down, Firewall-Fehler und ausstehenden Reboot. Bewusst
kein Befund für gestoppte Router-Services — der Exporter kann „deaktiviert“
nicht von „abgestürzt“ unterscheiden. Im Frontend eine Router-Karte, und die
Internet-Karte zeigt jetzt echten WAN-Traffic statt nur eines Ping.
Lücke eins: Gateway-Latenz und Paketverlust fehlten. Die
Info-Metrik meldete enabled=false. Kein Fehler — auf meinem Router ist
das Gateway-Monitoring (dpinger) schlicht aus. Das Dashboard weist das
jetzt ehrlich als „nicht überwacht“ aus; die Erreichbarkeit des Internets
misst weiterhin der ICMP-Probe. Nachrüstbar, sobald ich das Monitoring
einschalte.
Lücke zwei: Firmware-Version, OS-Version, Reboot-Bedarf — alle
undefined. Auch kein Fehler: Auf dem Router war bis dahin nie ein
Update-Check gelaufen. Der Sentinel-Wert wird jetzt auf „kein Wert“ gemappt, die UI
sagt „Update-Check nie gelaufen“, statt eine erfundene Version zu zeigen.
Ergebnis: Live im Dashboard: WAN-Traffic (rund 7 Mbit/s Download beim Test), zwei WAN-Gateways (IPv4/IPv6, unmonitored), 12 Router-Services (11 aktiv, einer gestoppt), Firewall-Block-Rate. Und beim allerersten Scrape ein echter Befund: Der Selbsttest des Routers meldete eine Warnung, die ich ohne Monitoring nie gesehen hätte. 66 Backend-Tests grün, 10 davon neu.
Gelernt: Exporter-Lücken zuerst gegen die Router-Konfiguration prüfen, nicht gegen den Exporter — und Info-Metriken mit Label-Werten immer auf Sentinel-Werte prüfen. Ein Monitoring-Rollout deckt vor allem Konfigurationszustände auf; genau dafür ist das NOC da.
Offen bleibt zweierlei: Router-CPU und -RAM liefert der Exporter nicht (sauberer Weg später: node_exporter-Plugin auf dem Router). Und der Key, mit dem der Exporter an diesem Tag lief, durfte viel zu viel — die Folgeaufgabe war ein dedizierter read-only Monitoring-User, der am nächsten Tag kam.