5.4 KiB
Monitoring Stack
Zielzustand: ein zentraler Observability-Stack fuer KalliLab CORE.
Enthaltene Dienste
monitoring-grafana: zentrale UI unterhttps://monitoring.kaleschke.infomonitoring-prometheus: Metriken mit 30 Tagen Retentionmonitoring-alertmanager: Alert-Routing fuer Prometheus-Regelnmonitoring-alertmanager-ntfy-bridge: uebersetzt Alertmanager-Webhooks zu ntfy-Pushesmonitoring-loki: Container-Logs mit 30 Tagen Retentionmonitoring-promtail: Docker-Log-Discovery ueber read-only Docker-Socketmonitoring-node-exporter: Host-Metrikenmonitoring-cadvisor: Container-Metrikenmonitoring-blackbox-exporter: externe HTTP-Erreichbarkeit als Uptime-Kuma-Ersatzmonitoring-influxdb3-core: InfluxDB 3 Core fuer Home-Assistant-/Ecowitt-Langzeitdaten
Die alten Pfade ops/loki und ops/grafana-influxdb wurden am 2026-05-26 aus dem aktiven Repo entfernt. Rollback erfolgt bei Bedarf ueber Git-Historie, nicht ueber parallel gepflegte Compose-Verzeichnisse.
Live-Stand 2026-06-01: die zehn monitoring-* Container laufen produktiv, die alten Container grafana, influxdb3-core, loki und alloy sind in Docker nicht mehr vorhanden. Uptime Kuma ist durch Blackbox Exporter, Prometheus-Alerts und das Dashboard Homelab / Availability abgeloest.
Secrets
Vor dem Deploy muessen diese Host-Dateien existieren:
/mnt/user/appdata/secrets/monitoring_grafana_admin_password.txt
/mnt/user/appdata/secrets/monitoring_grafana_influxdb_token.txt
/mnt/user/appdata/secrets/influxdb3_admin_token.json
Alle Dateien mit Rechten 600 anlegen. Werte niemals ins Git schreiben.
monitoring-influxdb3-core uebernimmt bewusst /mnt/user/appdata/influxdb3/data und /mnt/user/appdata/influxdb3/plugins vom bisherigen Grafana/Influx-Stack, damit Home-Assistant-/Ecowitt-Historie und Token-Katalog erhalten bleiben.
Stack Environment
Default ist sicher lokal:
INFLUXDB_BIND_IP=127.0.0.1
Wenn Home Assistant aus der VM schreiben soll, in Komodo fuer den monitoring-Stack setzen:
INFLUXDB_BIND_IP=192.168.178.58
Migration
- Secrets anlegen. Erledigt.
- Alten
ops/loki-Stack stoppen, wennmonitoring-lokiundmonitoring-promtaillive gehen. Erledigt. - Alten
ops/grafana-influxdb-Stack stoppen, bevormonitoring-influxdb3-coreden LAN-Port192.168.178.58:8181uebernimmt. Erledigt. monitoringvia Komodo deployen undINFLUXDB_BIND_IP=192.168.178.58erst setzen, wenn der Altcontainer den Port freigegeben hat. Erledigt.- Alte Repo-Verzeichnisse
ops/lokiundops/grafana-influxdbentfernen. Erledigt. - Optionales Dashboard-Bootstrap-Profil einmalig ausfuehren.
- Home Assistant Writer gegen
http://192.168.178.58:8181/pruefen;401 Unauthorizedohne Token ist erwartbar.
Smoke-Tests
https://monitoring.kaleschke.infoleitet zu Authelia.- Grafana-Datasources
Prometheus,LokiundInfluxDB 3 Coretesten erfolgreich. - Prometheus Targets:
prometheus,node-exporter,cadvisor,traefik,blackbox-http. - Node Exporter Textfile Collector:
/mnt/user/services/posture-check/textfile/homelab.promwird vom Host-Skriptservices/posture-check/export-prometheus-textfile.shbefuellt. - Alertmanager ist erreichbar und sendet ueber
monitoring-alertmanager-ntfy-bridgenachhttps://ntfy.kaleschke.info/homelab-alerts. - Loki zeigt Container-Logs mit Labels
container,compose_project,compose_service. - InfluxDB 3 Core enthaelt die Datenbank
homelab.
Abloesestand
- Dozzle bleibt abgeloest:
Homelab / Containers + Logsersetzt Live-Logs und Error-Rate. - Glances erst stoppen, wenn
Homelab / Host OverviewundHomelab / Containers + Logsfuer CPU, RAM, Disk, Network, Container-CPU und Container-RAM passen. - Uptime Kuma ist entfernt;
Homelab / Availability, Blackbox Exporter und Prometheus-Alerts sind der Zielzustand fuer HTTP-Verfuegbarkeit. - Dashboard-Zielbestand:
Homelab / Availability,Homelab / Containers + Logs,Homelab / Host Overview,Homelab / Family Status,Traefik Official Standalone Dashboard.
Alerting
Prometheus wertet monitoring/prometheus/alerts.yml aus und sendet an monitoring-alertmanager.
Alertmanager routet alle Alerts an den ntfy-Bridge-Container.
Der Bridge-Container postet nach https://ntfy.kaleschke.info/homelab-alerts.
Blackbox-HTTP-Alerts unterscheiden zwischen einem einzelnen kaputten Endpoint und einem externen Connectivity-Problem:
HomelabExternalConnectivityDownfeuert, wenn mindestens 5 Public-Endpoints gleichzeitig fuer 8 Minuten nicht erreichbar sind. Das deckt WAN-, DNS- oder Provider-Ausfaelle ab, inklusive laengerer DSL-Reconnects.HomelabEndpointDownfeuert fuer einzelne Endpoints erst nach 8 Minuten und wird unterdrueckt, solange der Sammelalert aktiv ist. Dadurch erzeugt ein Telekom-24h-Reconnect keine ntfy-Flut pro Domain.HomelabCertificateExpiresSoonundHomelabCertificateExpiresCriticalnutzen Blackbox TLS-Metriken fuer 21-/7-Tage-Warnungen.HomelabBorgBackupStale,HomelabBorgLastJobFailed,HomelabBorgLastJobCompletedWithWarningsundHomelabCriticalContainerDownnutzen Host-Textfile-Metriken. Voraussetzung:services/posture-check/export-prometheus-textfile.shlaeuft regelmaessig auf dem Host, empfohlen alle 15 Minuten.
Test:
curl -fsS http://alertmanager-ntfy-bridge:8080/healthz
Textfile-Metriken manuell aktualisieren:
bash /mnt/user/services/homelab-infra/services/posture-check/export-prometheus-textfile.sh