Grafana - Metriken und Dashboards für alles visualisieren

Grafana - Metriken und Dashboards für alles visualisieren

Grafana ist die führende quelloffene Plattform zur Visualisierung von Zeitreihendaten und Metriken — von Server-Monitoring über IoT-Sensoren bis hin zu Geschäftskennzahlen.

Was ist Grafana?

Grafana verbindet sich mit Dutzenden von Datenquellen — Prometheus, InfluxDB, Loki, PostgreSQL, MySQL, Elasticsearch und viele mehr — und visualisiert deren Daten in konfigurierbaren Dashboards mit Graphen, Gauges, Tabellen und Heatmaps. Alerts können direkt in Grafana definiert werden und lösen Benachrichtigungen per E-Mail, Slack, PagerDuty oder Webhook aus. In Homelab-Setups bildet Grafana typischerweise die Visualisierungsschicht über Prometheus (Metriken), Loki (Logs) und Node Exporter (Systemdaten) — zusammen ein vollständiges Observability-Stack.

Voraussetzungen

  • Docker 20.10+ / Docker Compose
  • Mindestens eine Datenquelle (z. B. Prometheus, InfluxDB)
  • Optional: Reverse Proxy für HTTPS

Compose-Beispiel

services:
  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - ./data:/var/lib/grafana
      - ./provisioning:/etc/grafana/provisioning
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=sicheres_passwort
      - GF_SERVER_ROOT_URL=https://grafana.meinedomain.de
      - GF_USERS_ALLOW_SIGN_UP=false

  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    restart: unless-stopped
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - ./prometheus-data:/prometheus

Hinweise

  • Provisioning nutzen: Datenquellen und Dashboards lassen sich über YAML-Dateien im provisioning-Verzeichnis vorkonfigurieren — kein manuelles Einrichten nach jedem Neustart.
  • Dashboard-Bibliothek: Auf grafana.com gibt es Tausende vorgefertigter Dashboards für gängige Stacks (Node Exporter, Docker, Nginx), die per Import-ID in Sekunden eingebunden werden.
  • Datenpersistenz: Das data-Volume enthält alle manuell erstellten Dashboards, Benutzer und Alert-Regeln — regelmäßig sichern.
  • SMTP für Alerts: Unter Administration → Alerting → Contact Points SMTP oder einen Webhook konfigurieren, damit Alert-Benachrichtigungen funktionieren.