#Homelab · 3 Min. Lesezeit · Tim Rinkel

Grafana und Prometheus einrichten — Monitoring fürs Homelab

Grafana und Prometheus einrichten: Professionelles Monitoring für deinen Heimserver. Dashboards, Alerts und Metriken mit Docker Compose aufsetzen.

Grafana und Prometheus einrichten — Monitoring fürs Homelab

HOMELAB-MONITORING-HAMMER! Grafana und Prometheus sind DAS perfekte Monitoring-Duo! Professionelle Dashboards und Metriken für ALLE Server, Container und Dienste – das bekommst du mit dem Mega-Duo in unter einer Stunde aufgesetzt!

Hier der komplette Guide für dein bombastisches Homelab-Monitoring!

Was sind Grafana und Prometheus — eine kurze Einordnung

Prometheus – der Metrik-Sammler!

Prometheus ist eine Open-Source-Monitoring-Plattform, die Metriken (CPU, RAM, Netzwerk etc.) von verschiedenen Quellen sammelt und speichert!

Das PULL-Modell: Prometheus ruft regelmäßig „Exporter“ ab, die Metriken im Prometheus-Format bereitstellen!

Grafana – der Dashboard-König!

Grafana ist ein Visualisierungswerkzeug, das Prometheus-Daten (und viele andere Quellen) in ANSPRECHENDE Dashboards umwandelt!

Über TAUSENDE vorgefertigte Dashboards zum Download verfügbar!

Die wichtigsten Komponenten im Überblick

Das komplette Monitoring-Stack:

  • Prometheus – Metriken-Datenbank und Scraping-Engine!
  • Grafana – Dashboards und Visualisierung!
  • Node Exporter – System-Metriken (CPU, RAM, Disk, Netzwerk)!
  • cAdvisor – Container-Metriken für Docker!
  • Alertmanager – Benachrichtigungen bei Schwellenwerten!

Schritt 1: Installation mit Docker Compose

Verzeichnisstruktur

monitoring/
├── docker-compose.yml
├── prometheus/
│   └── prometheus.yml
└── grafana/

docker-compose.yml

YAML
version: '3'
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    restart: always
    ports:
      - 9090:9090
    volumes:
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
      - prometheus_data:/prometheus
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.retention.time=30d'

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    restart: always
    ports:
      - 3000:3000
    environment:
      GF_SECURITY_ADMIN_PASSWORD: sicheresPasswort123
    volumes:
      - grafana_data:/var/lib/grafana

  node-exporter:
    image: prom/node-exporter:latest
    container_name: node-exporter
    restart: always
    ports:
      - 9100:9100
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    command:
      - '--path.procfs=/host/proc'
      - '--path.sysfs=/host/sys'

  cadvisor:
    image: gcr.io/cadvisor/cadvisor:latest
    container_name: cadvisor
    restart: always
    ports:
      - 8080:8080
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:ro
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro

volumes:
  prometheus_data:
  grafana_data:

prometheus/prometheus.yml

YAML
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'node-exporter'
    static_configs:
      - targets: ['node-exporter:9100']
  - job_name: 'cadvisor'
    static_configs:
      - targets: ['cadvisor:8080']

Starten!

docker compose up -d
docker compose ps

ALLE Container LÄUFT? PERFEKT!

Schritt 2: Grafana konfigurieren

  1. Grafana öffnen: http://server-ip:3000!
  2. Login: admin / sicheresPasswort123!
  3. Configuration → Data Sources → Add data source!
  4. Prometheus auswählen, URL: http://prometheus:9090!
  5. „Save & Test“du siehst „Data source is working“!

Schritt 3: Dashboards importieren

Grafana.com hat TAUSENDE fertige Dashboards! Meine Favoriten:

  • Node Exporter Full (ID: 1860) – komplettes System-Dashboard!
  • cAdvisor Docker Dashboard (ID: 179) – alle Container auf einen Blick!
  • Proxmox via Node Exporter (ID: 10347) – speziell für Proxmox!

So importierst du:

  1. Grafana → + → Import!
  2. Dashboard-ID eintragen (z.B. 1860)!
  3. Prometheus-Datasource wählen!
  4. „Import“FERTIG!

Schritt 4: Alerting einrichten

Alertmanager für Benachrichtigungen:

YAML
# alertmanager.yml
global:
  smtp_smarthost: 'smtp.gmail.com:587'
  smtp_from: 'alerts@deinedomain.de'

route:
  receiver: 'email-alerts'

receivers:
  - name: 'email-alerts'
    email_configs:
      - to: 'du@deinedomain.de'

Prometheus-Rules für typische Checks:

  • CPU > 80 % für 5 min!
  • RAM > 90 %!
  • Disk-Füllstand > 85 %!
  • Service down!

Härtung — die wichtigsten Sicherheitsschritte

Meine Top 5 Sicherheits-Tipps:

  1. Grafana hinter Traefik mit HTTPS!
  2. Grafana-Anonymous-Access deaktivieren!
  3. Prometheus nur intern erreichbar!
  4. Backup Grafana-Dashboards regelmäßig!
  5. 2FA aktivieren für alle Admins!

Backup-Strategie für die Monitoring-Daten

Wichtig: Grafana-Dashboards sichern!

# Dashboard exportieren
curl -s -u admin:password http://localhost:3000/api/dashboards/uid/<dashboard-uid> \
  > backup-dashboard.json

Oder per Grafana-Plugin für automatische Backups zu Git!

Fazit — und welche Erweiterungen lohnen

Keine Frage: Mit Grafana + Prometheus siehst du ALLES, was auf deinen Servern läuft! Probleme erkennst du SOFORT, Performance-Engpässe vor Ausfall!

Mein Tipp: HEUTE den Docker-Compose-Stack installieren, morgen die ersten Dashboards importieren, übermorgen Alerting einrichten!

Auf Lapalutschi.de kommt bald der ultimative Grafana-Dashboard-Guide – für Proxmox, Docker, Nextcloud und mehr! Bleib dran!

Verwandte Tutorials auf Lapalutschi.de

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert