Raspberry Pi Grafana
Aktion: Gratis-Lektionen anschauen ✓
NEWS
RASPBERRY PI GRAFANA

Messwerte werden Kunstwerke: das Wand-Dashboard
Passende Hardware im Überblick
Boards – eine Datenbank im Dauerlauf mag RAM:
Raspberry Pi 5 mit 8GB RAM – die Empfehlung (Link)*
Raspberry Pi 5 mit 16GB RAM – wenn noch mehr Dienste dazukommen (Link)*
Raspberry Pi 5 mit 4GB RAM – reicht für ein Haushalts-Dashboard (Link)*
Raspberry Pi 4 Starter-Set – wenn es günstig sein soll (Link)*
Speicher – Zeitreihen schreiben rund um die Uhr:
Geekworm X1001 M.2-HAT für den Pi 5 (Link)*
Intenso M.2 NVMe SSD 500GB – der günstige Einstieg (Link)*
Crucial P310 NVMe SSD 500GB (Link)*
SanDisk Extreme Portable SSD 1TB per USB (Link)*
SanDisk Extreme A2 128GB – nur zum Ausprobieren (Link)*
Dauerbetrieb und Anzeige:
Offizielles 27-W-Netzteil für den Pi 5 (Link)*
Geekworm X1200 USV – schützt die Datenbank vor Stromausfall (Link)*
Offizielles 7-Zoll-Touchdisplay für den Kiosk-Modus (Link)*
ROADOM 10,1-Zoll-Monitor als Wandanzeige (Link)*
Datenlieferanten für die ersten Kurven:
Shelly Plug S Gen3 – Verbrauch einzelner Geräte (Link)*
Shelly Pro 3EM für den Zählerschrank (Link)*
DS18B20 Temperaturfühler mit 3m Kabel, 5er-Set (Link)*
SCD40 CO2-Sensor für die Raumluft (Link)*
Kurz gesagt: Was bringt Grafana auf dem Raspberry Pi?
Raspberry Pi Grafana ist das Standardgespann, wenn Messwerte nicht nur eingesammelt, sondern auch sichtbar werden sollen – als Kurve, als Zahl, als Wandanzeige. Die Kurzfassung:
- Grafana zeichnet nur: Es speichert selbst keine Messwerte. Dazu gehört immer eine Datenbank – meist InfluxDB, alternativ Prometheus.
- Installation in einer Datei: Beide Dienste laufen als Container. Eine compose.yaml mit zwei Einträgen, ein docker compose up -d – fertig. Voraussetzung ist Docker auf einem 64-Bit-System.
- Weboberflächen: Grafana meldet sich auf Port 3000, InfluxDB 2 auf 8086, InfluxDB 3 auf 8181.
- Daten kommen von außen: Telegraf liefert Systemwerte, Home Assistant, Node-RED oder ein eigenes Python-Skript alles andere.
- Pflicht, nicht Kür: Der Stack gehört auf eine NVMe-SSD. Eine Zeitreihendatenbank schreibt permanent – für Speicherkarten ist das der schnellste Weg ins Grab.
- Aufbewahrungsdauer von Anfang an setzen: Ohne Regel wächst die Datenbank, bis der Speicher voll ist.
Grafana, InfluxDB und Prometheus – wer macht was?
Grafana ist eine reine Anzeigeschicht. Es fragt Datenquellen ab, rechnet die Antworten in Panels um und stellt sie als Kurve, Balken, Zahl oder Ampel dar. Was Grafana nicht tut: Messwerte entgegennehmen oder aufbewahren. Wer nur Grafana installiert, sieht deshalb eine leere Oberfläche – der häufigste Stolperstein am ersten Abend.
Den Speicher übernimmt eine Zeitreihendatenbank. Sie ist darauf optimiert, Millionen Paare aus Zeitstempel und Messwert abzulegen und Fragen wie „Mittelwert je Stunde über die letzten 30 Tage" in Millisekunden zu beantworten. Zwei Kandidaten dominieren: InfluxDB nimmt Daten entgegen, die andere Programme aktiv hineinschreiben (Push). Prometheus holt sich die Werte selbst in festen Abständen von kleinen Exportern ab (Pull).
Für ein Haushalts-Dashboard ist InfluxDB meist die naheliegendere Wahl, weil Home Assistant, Node-RED, Telegraf und praktisch jede Bastellösung fertige Ausgänge dafür mitbringen. Prometheus spielt seine Stärke aus, wenn es um klassische Server- und Netzwerküberwachung geht – dort gibt es Exporter für alles, und der berühmte Dashboard-Import „Node Exporter Full" mit der ID 1860 liefert in zwei Minuten eine komplette Systemansicht.
Stand 2026 gibt es bei InfluxDB eine Besonderheit, die man kennen muss: Neben dem gewachsenen InfluxDB 2 steht InfluxDB 3 Core bereit, das frei nutzbar ist, dessen Abfragen aber standardmäßig auf ein Zeitfenster von 72 Stunden begrenzt sind. Wer Jahreskurven will, nutzt entweder weiterhin die Version 2 oder die für den privaten Gebrauch zu Hause kostenlose Enterprise-Ausgabe. Wichtig außerdem: Ab dem 15. September 2026 zeigt der Docker-Tag influxdb:latest auf InfluxDB 3 Core – wer nichts festnagelt, bekommt beim nächsten Update ungefragt einen Versionssprung.
Raspberry Pi Grafana installieren – Schritt für Schritt
- Unterbau prüfen: 64-Bit Raspberry Pi OS (Bookworm oder das aktuelle Trixie), aktualisiert per sudo apt update && sudo apt full-upgrade, System auf SSD statt Speicherkarte.
- Zeitzone setzen – vor allem anderen: sudo timedatectl set-timezone Europe/Berlin. Eine falsch gestellte Uhr macht jede spätere Kurve unbrauchbar.
- Ordner anlegen: mkdir -p ~/docker/metrics und dorthin wechseln. Alles, was zum Stack gehört, bleibt in diesem einen Verzeichnis.
- compose.yaml schreiben:
services:
influxdb:
image: influxdb:2.9
container_name: influxdb
restart: unless-stopped
environment:
- TZ=Europe/Berlin
ports:
- "8086:8086"
volumes:
- ./influxdb/data:/var/lib/influxdb2
- ./influxdb/config:/etc/influxdb2
grafana:
image: grafana/grafana-oss:13.0.0
container_name: grafana
restart: unless-stopped
environment:
- TZ=Europe/Berlin
- GF_SECURITY_ADMIN_PASSWORD=GeheimesPasswort
ports:
- "3000:3000"
volumes:
- ./grafana:/var/lib/grafana - Rechte für das Grafana-Verzeichnis: mkdir grafana && sudo chown -R 472:472 grafana. Der Grafana-Container läuft unter der Benutzer-ID 472 – ohne diesen Schritt startet er mit einem Rechtefehler und beendet sich sofort wieder.
- Starten: docker compose up -d, danach docker compose logs -f, bis beide Dienste ruhig laufen.
- InfluxDB einrichten: Im Browser http://<IP-des-Pi>:8086 aufrufen, Benutzer, Organisation (z. B. „haus") und einen ersten Bucket („messwerte") anlegen. Den angezeigten API-Token sofort sichern – er wird nur einmal vollständig gezeigt.
- Grafana öffnen: http://<IP-des-Pi>:3000, anmelden mit admin und dem im Compose gesetzten Passwort. Steht dort noch admin/admin, ist die Umgebungsvariable nicht angekommen – dann jetzt sofort im Profil ändern.
Datenquelle einrichten und das erste Dashboard bauen
In Grafana führt der Weg über Connections → Data sources → Add new data source → InfluxDB. Entscheidend sind vier Felder: die Query Language (bei InfluxDB 2 üblicherweise Flux, bei InfluxDB 3 SQL oder InfluxQL), die URL, die Organisation und der Token.
Bei der URL passiert der klassische Fehler: Dort gehört nicht localhost hinein, sondern der Name des Containers, also http://influxdb:8086. Beide Container hängen im selben Compose-Netz und erreichen sich über den Dienstnamen – localhost zeigt dagegen auf den Grafana-Container selbst. Ein Klick auf Save & test muss grün quittieren, sonst braucht man mit Dashboards gar nicht anzufangen.
- Neues Dashboard: Dashboards → New → New dashboard → Add visualization, dann die eben angelegte Datenquelle auswählen.
- Abfrage zusammenklicken: Im Query Builder Bucket, _measurement (etwa „temperatur") und _field (etwa „wert") wählen. Der Schalter aggregateWindow fasst Rohwerte zu Mittelwerten je Minute oder Stunde zusammen – das entlastet den Pi spürbar.
- Zeitbereich prüfen: Oben rechts steht standardmäßig „Last 6 hours". Wer gerade erst zu schreiben begonnen hat, sieht in diesem Fenster manchmal noch nichts – „Last 15 minutes" bringt Klarheit.
- Einheit setzen: Rechts unter Standard options → Unit die passende Größe wählen, also Celsius, Watt, Prozent oder Bytes. Ohne diesen Schritt zeigt Grafana kryptische Werte wie „1.2 Mil" statt „1,2 MW".
- Schwellwerte und Farben: Unter Thresholds lassen sich Grenzen hinterlegen, ab denen die Kurve oder die Zahl rot wird – die Basis für spätere Alarme.
- Speichern: Oben rechts sichern, Namen vergeben, fertig. Weitere Panels landen per Add → Visualization daneben.
Fertige Dashboards importieren statt selbst bauen
Auf grafana.com liegen mehrere tausend fertige Dashboards zum Herunterladen. Jedes hat eine numerische ID. Der Weg in Grafana: Dashboards → New → Import, ID eintragen, Load klicken, im nächsten Schritt die eigene Datenquelle zuordnen – und die Ansicht steht.
Ein Hinweis erspart viel Frust: Die meisten dieser Dashboards sind für Prometheus gebaut, nicht für InfluxDB. Ein Import mit falscher Datenquelle zeigt dann überall „No data". Der Filter auf der Downloadseite nach Datenquelle ist deshalb Pflicht. Und selbst passende Dashboards erwarten bestimmte Namen für Measurements und Felder – wer Telegraf mit Standardkonfiguration nutzt, hat gute Karten, wer eigene Namen vergeben hat, muss die Abfragen nachziehen. Ein importiertes Dashboard ist ohnehin am wertvollsten als Lernstück: einfach ein Panel aufklappen und ansehen, wie die Abfrage aufgebaut ist.
Woher die Messwerte kommen: Telegraf, Node-RED und Python
Eine leere Datenbank ergibt ein leeres Dashboard. Diese vier Wege decken zusammen fast jeden Bedarf ab:
| Lieferant | Wofür | Anbindung |
|---|---|---|
| Telegraf | Systemwerte des Pi: CPU, RAM, Speicherplatz, Netzwerk, Chiptemperatur | Abschnitt [[outputs.influxdb_v2]] in der telegraf.conf mit URL, Token, Organisation und Bucket |
| Home Assistant | alles, was dort schon als Entität existiert – Thermostate, Steckdosen, Sensoren | die InfluxDB-Integration in der configuration.yaml |
| Node-RED | MQTT, Modbus, REST-Schnittstellen, Bastelgeräte ohne fertige Integration | Erweiterung node-red-contrib-influxdb |
| Python | eigene Sensoren direkt am GPIO | Bibliothek influxdb-client, gestartet per Cronjob oder als systemd-Dienst |
Für Prometheus als Gegenstück gilt derselbe Gedanke andersherum: Dort installiert man den node_exporter auf jedem zu überwachenden Gerät und trägt dessen Adresse in die Prometheus-Konfiguration ein. Der Server holt sich die Werte dann selbst ab.
Raspberry Pi Grafana im Alltag – typische Dashboards
- Systemauslastung: CPU-Last, freier Arbeitsspeicher, Chiptemperatur und Plattenplatz aller Pis im Haus. Wer eine Erreichbarkeitsprüfung danebenstellt, sieht Ausfälle und ihre Ursache in einer Ansicht.
- Temperatur und Raumklima: DS18B20 am GPIO, ein CO2-Sensor im Arbeitszimmer, Funkfühler aus dem Smart Home – Kurven über Wochen zeigen Muster, die ein einzelner Blick aufs Thermometer nie verrät.
- Stromverbrauch: Zwischenstecker und Zählerschrank-Messgeräte liefern Momentanleistung im Sekundentakt. Zusammen mit dem Smartmeter und dem Balkonkraftwerk ergibt das die Energiebilanz des Haushalts.
- Wetterdaten: eigene Wetterstation oder ein abgefragter Onlinedienst, gern kombiniert mit den Innenwerten – der direkte Vergleich macht Lüftungsverhalten sichtbar.
- Netzwerk: regelmäßige Speedtests, Ping-Zeiten und Paketverluste. Ein Diagramm über vier Wochen ist im Gespräch mit dem Anbieter mehr wert als jede Beschreibung aus dem Gedächtnis.
Aufbewahrungsdauer und Verdichtung – damit die Datenbank nicht überläuft
Dieser Abschnitt entscheidet darüber, ob der Stack in zwei Jahren noch läuft. Eine Zeitreihendatenbank kennt keine natürliche Grenze: Sie schreibt, bis kein Platz mehr da ist. Entscheidend ist das Abtastintervall – ein Wert alle zehn Sekunden bedeutet sechsmal so viele Punkte wie ein Wert je Minute, bei identischem Informationsgehalt für die meisten Haushaltsfragen.
InfluxDB 2 löst das über zwei Bausteine. Jeder Bucket bekommt eine Retention Period, nach der alte Punkte automatisch verschwinden. Und ein Task verdichtet Rohdaten regelmäßig per aggregateWindow zu Stunden- oder Tagesmitteln und schreibt sie in einen zweiten Bucket, der länger aufbewahrt wird. Bei Prometheus übernimmt das der Startparameter --storage.tsdb.retention.time=90d.
| Datenart | Intervall | Aufbewahrung |
|---|---|---|
| Rohwerte von Sensoren | 30–60 Sekunden | 30 Tage im Bucket „messwerte" |
| Stundenmittel | 1 Stunde | 2 Jahre im Bucket „langzeit" |
| Tageswerte und Zählerstände | 1 Tag | unbegrenzt |
Wer diese Regeln am ersten Tag setzt, spart sich die unangenehme Variante später: eine volle Platte und die Frage, welche Daten man opfern will.
Kiosk-Modus, Alarme und Absicherung
Ein Dashboard entfaltet seinen Reiz erst, wenn es dauerhaft sichtbar ist. Grafana bringt dafür einen eigenen Anzeigemodus mit: An die Dashboard-Adresse einfach ?kiosk anhängen, schon verschwinden Menüs und Seitenleiste. Ergänzt um &refresh=1m aktualisiert sich die Ansicht selbstständig. Damit auf dem Anzeigegerät keine Anmeldung nötig ist, setzt man im Compose die Variablen GF_AUTH_ANONYMOUS_ENABLED=true und GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer – das gilt nur im lokalen Netz und niemals bei Erreichbarkeit von außen.
Den Browser startet man mit chromium-browser --kiosk --noerrdialogs --disable-infobars http://<IP>:3000/d/…?kiosk. Wie das dauerhaft eingerichtet wird, zeigt die Anleitung zum Kiosk-Modus; der passende Autostart liegt unter Trixie in der labwc-Autostartdatei, unter Bookworm noch in der Wayfire-Konfiguration.
Alarme richtet man unter Alerting → Alert rules ein: Abfrage festlegen, Schwellwert setzen, Wartezeit („Pending period") definieren, damit ein einzelner Ausreißer nicht sofort das Telefon klingeln lässt, und einen Kontaktpunkt für E-Mail oder Telegram hinterlegen. Der Gefrierschrank, der über minus 15 Grad steigt, ist der Klassiker unter den sinnvollen Regeln.
Zur Absicherung gehören drei Punkte: das Standardpasswort admin/admin ersetzen, für Grafana ein Influx-Token mit reinem Leserecht statt eines All-Access-Tokens verwenden und die Ports 3000 und 8086 nicht im Router freigeben. Wer von unterwegs schauen will, nimmt Tailscale oder ein WireGuard-VPN. Grundlagen dazu stehen im Beitrag Raspberry Pi absichern.
Typische Fehler und Stolpersteine
- Falsche Zeitzone: Container laufen ohne Zutun in UTC. Fehlt TZ=Europe/Berlin, liegen die Kurven um ein bis zwei Stunden daneben. InfluxDB speichert grundsätzlich in UTC – die Umrechnung macht Grafana, wenn die Zeitzone im Dashboard auf Browser-Zeit steht.
- „No data" im Panel: Fast immer eine von drei Ursachen – der Zeitbereich oben rechts passt nicht zu den vorhandenen Daten, Bucket oder Measurement sind falsch geschrieben, oder die Abfragesprache stimmt nicht (Flux gegen InfluxQL gegen SQL).
- localhost in der Datenquelle: Innerhalb von Docker meint localhost den Grafana-Container selbst. Richtig ist der Dienstname aus der compose.yaml.
- Datenbank auf der Speicherkarte: Der zuverlässigste Weg, eine SD-Karte zu zerstören. Zeitreihen schreiben Tag und Nacht – dieser Stack gehört auf SSD.
- Rechtefehler beim Start: Beendet sich der Grafana-Container sofort wieder, fehlt meist der Besitzerwechsel des Datenverzeichnisses auf die ID 472.
- Unbedachte Versionssprünge: Image-Tags wie latest holen irgendwann eine neue Hauptversion. Gerade bei InfluxDB steht dieser Wechsel im September 2026 an – Versionsnummer im Compose eintragen.
- Kein Backup: Gesichert gehören die compose.yaml, das Grafana-Datenverzeichnis (dort liegen alle Dashboards) und der Influx-Datenordner. Wie das sauber läuft, zeigt die Anleitung zum Backup.
Häufige Fragen zu Grafana auf dem Raspberry Pi
Brauche ich wirklich eine Datenbank, oder reicht Grafana allein?
Grafana allein reicht nicht. Es hat keinen eigenen Speicher für Messwerte und zeigt nur an, was eine Datenquelle liefert. Ohne InfluxDB, Prometheus oder eine vergleichbare Datenbank bleibt die Oberfläche leer.
InfluxDB 2 oder InfluxDB 3 auf dem Raspberry Pi?
Für Dashboards mit langer Historie ist Version 2 momentan die unkompliziertere Wahl, weil InfluxDB 3 Core Abfragen standardmäßig auf 72 Stunden begrenzt. Für den privaten Gebrauch zu Hause gibt es alternativ eine kostenlose Enterprise-Lizenz ohne diese Grenze.
Reicht ein Raspberry Pi 4 oder sogar ein Zero 2 W?
Ein Pi 4 mit 4 GB trägt ein Haushalts-Dashboard mit einigen Dutzend Messreihen problemlos. Der Zero 2 W ist als Sensor-Sender geeignet, als Datenbankserver dagegen zu knapp bemessen.
Grafana oder die Diagramme von Home Assistant?
Für den schnellen Blick auf die letzten Stunden genügen die eingebauten Verläufe. Grafana gewinnt bei Langzeitauswertungen, beim Kombinieren mehrerer Quellen in einem Panel und überall dort, wo das Ergebnis als feste Wandanzeige dienen soll.
Wie viel Platz frisst die Datenbank pro Monat?
Das hängt allein an der Zahl der Messreihen und am Intervall. Wer ein Abtastintervall von einer Minute wählt und Rohdaten nach 30 Tagen verfallen lässt, hält den Bedarf dauerhaft klein – ohne solche Regeln wächst die Datenbank dagegen unbegrenzt.
Kann ich mehrere Raspberry Pis auf ein Dashboard bringen?
Ja, und genau dafür lohnt sich der Aufbau. Auf jedem weiteren Gerät läuft nur Telegraf oder ein Exporter, geschrieben wird in dieselbe Datenbank. Ein Tag-Feld je Gerät trennt die Werte sauber voneinander.
Wie bekomme ich Benachrichtigungen aufs Handy?
Über die Kontaktpunkte in der Alarmierung – E-Mail per SMTP oder ein Telegram-Bot sind die beiden gängigsten Wege. Wer Telegram bereits eingerichtet hat, kann denselben Bot weiterverwenden.
Fazit
Raspberry Pi Grafana ist der Punkt, an dem aus verstreuten Sensorwerten endlich Erkenntnis wird – und der Aufwand dafür ist mit zwei Containern erstaunlich klein. Unsere klare Empfehlung: Pi 5 mit 8 GB, Betriebssystem und Datenbank auf einer NVMe-SSD, InfluxDB mit fest eingetragener Versionsnummer statt latest, und Telegraf als ersten Datenlieferanten – damit steht innerhalb einer Stunde ein Dashboard, das tatsächlich etwas anzeigt. Zwei Dinge sollte man dabei nicht auf später verschieben, weil beide nachträglich Ärger machen: die Zeitzone in allen Containern und die Aufbewahrungsregeln für die Buckets. Wer diese zwei Zeilen am Anfang setzt, hat später nur noch das schöne Teil der Arbeit vor sich – neue Panels bauen.
* = Affiliate Link (raspi-config.de ist Teilnehmer des Partnerprogramms von Amazon EU, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu Amazon.de Werbekostenerstattung verdient werden kann.)
Aktion: Gratis-Lektionen anschauen ✓
VORSCHAU
Was Dich im Raspberry Pi Videokurs erwartet.
Play klicken & Video abspielen.
NEWS
EMPFEHLUNG
Danke für Deine Weiterempfehlung!
© 2026 raspi-config.de | Datenschutz | Impressum


