Metriken¶
Metriken-Pipeline: Prometheus sammelt und speichert Kurzzeit-Daten (7 Tage), VictoriaMetrics archiviert langfristig (5 Jahre auf NFS).
Prometheus¶
GitHub · prom/prometheus:v3.10.0
| Retention | 7 Tage (--storage.tsdb.retention.time=7d) |
| Speicher | /mnt/ssd/container-data/monitoring-stack/prometheus (~5 GB) |
| User | nobody:nobody |
Scrape-Targets¶
| Job | Target | Interval |
|---|---|---|
| prometheus | localhost:9090 | 15s |
| node-exporter | node-exporter:9100 | 15s |
| cadvisor | cadvisor:8080 | 15s |
| traefik | traefik:8082 | 15s |
| unpoller | unpoller:9130 | 30s |
| pihole-exporter | pihole-exporter:9617 | 30s |
| homeassistant | 10.10.10.3:8123 | 60s |
Home Assistant läuft mit network_mode: host und ist daher nur über die Host-IP erreichbar. Authentifizierung via Bearer-Token (/run/secrets/ha-prometheus-token).
remote_write¶
Alle Metriken werden parallel an VictoriaMetrics weitergeleitet:
remote_write:
- url: http://victoriametrics:8428/api/v1/write
queue_config:
max_samples_per_send: 10000
batch_send_deadline: 5s
capacity: 20000
VictoriaMetrics¶
GitHub · victoriametrics/victoria-metrics:v1.137.0
| Retention | 5 Jahre (-retentionPeriod=5y) |
| Speicher | /mnt/monitoring/victoriametrics (NFS, ~100 GB/Jahr) |
| Kompression | ~1 Byte/Sample (vs. ~7 bei Prometheus) |
NFS-Optimierung: -search.latencyOffset=5s kompensiert NFS-Latenz.
Warum Dual-Storage?¶
| Anforderung | Prometheus allein | Mit VictoriaMetrics |
|---|---|---|
| NFS-Support | Nicht unterstützt | Offiziell supported |
| Kompression | ~7 Bytes/Sample | ~1 Byte/Sample (7x besser) |
| 5 Jahre Daten | Unpraktisch | ~500 GB auf NFS |
| Alerting | Nativ | Via Prometheus |
node-exporter¶
GitHub · prom/node-exporter:v1.10.2
Host-Metriken (CPU, RAM, Disk, Netzwerk). Mountet /proc, /sys und / als Read-Only.
| URL | Kein Web-Interface (Metriken über Prometheus/Grafana) |
| Speicher | Keine persistenten Daten (stateless) |
cAdvisor¶
GitHub · gcr.io/cadvisor/cadvisor:v0.55.1
Container-Metriken (CPU, Memory, Netzwerk pro Container). Mountet Docker-Socket und /sys.
| URL | Kein Web-Interface (Metriken über Prometheus/Grafana) |
| Speicher | Keine persistenten Daten (stateless) |
Image-Version
cAdvisor v0.56.x hat keine publizierten Docker-Images (weder gcr.io noch ghcr.io). v0.55.1 ist das neueste Image mit ARM64-Support.
UnPoller¶
GitHub · ghcr.io/unpoller/unpoller:v2.34.0
Exportiert UniFi-Controller-Metriken (WLAN-Clients, Signalstärke, Throughput, DPI, Switch-Ports) für Prometheus.
| URL | Kein Web-Interface (Metriken über Prometheus/Grafana) |
| Controller | https://10.10.10.1 (UDM-Pro) |
| Prometheus-Port | 9130 (Namespace: unpoller) |
Exportiert: Alarms, Anomalies, DPI, Events, IDS, Sites.
UnPoller ergänzt die UniFi-Syslogs (über Alloy): Metriken für Dashboards/Alerting, Syslogs für Troubleshooting/Forensik.
Pi-hole Exporter¶
GitHub · ekofr/pihole-exporter:v1.2.0
Exportiert Pi-hole DNS-Statistiken für Prometheus.
| URL | Kein Web-Interface (Metriken über Prometheus/Grafana) |
| Pi-hole-Zugriff | pihole:8888 (direkt via proxy_network, ohne Traefik/TLS) |
| Prometheus-Port | 9617 |
Pi-hole v6 API
Pi-hole v6 verwendet Passwort-basierte Auth statt Token. PIHOLE_API_TOKEN in der .env muss das Admin-Passwort enthalten (nicht den alten v5 SHA256-Hash).