InfluxDB & Grafana

openHAB + FHEM: InfluxDB und Grafana

Bei der Erfassung von Messwerten möchte man diese normalerweise auch erfassen und grafisch darstellen. Das ist in FHEM zwar mit Bordmitteln möglich – jedoch nicht sonderlich komfortabel. openHAB bietet hierzu noch weniger Optionen. Eine weitaus komfortablere Lösung bietet hier das Tool Grafana in Verbindung mit einen InfluxDB-Datenbank.

Das Ergebnis sind dann so schöne Graphen wie der folgende:


In diesem zweiteiligen Beitrag werden wir Grafana sowie InfluxDB installieren und einrichten. Anschließend (im jeweiligen Beitrag) in openHAB bzw. FHEM einbinden und damit Messwerte erfassen.

Aktualisierungsservice

Dieser Beitrag ist gültig für die Version:

  • InfluxDB 1.12
  • Grafana v4.4.1 (commit: 6a9f8ca)

InfluxDB

InfluxDB ist ein Open-Source Datenbank und optimiert zur Erfassung von Zeitserien (Time-Series). Also Daten die einen Zeitpunkt als Index verwenden. Bei großen Datenmengen in kurzen zeitlichen Abständen ist sie hier normalen relationalen Datenbanken (MySQL) überlegen.

 

Installation via Paketmanager

InfluxDB ist für vielen Betriebssysteme verfügbar – Wir beschreiben hier die Installation auf dem Raspberry Pi (2+3) sowie unter Ubuntu. Weitere Versionen findet Ihr auf der Website des Entwicklers.

Installation auf Raspberry Pi

Auf dem Raspberry Pi 2 bzw. 3 müssen wir folgende Schritte durchführen. (Der Raspberry Pi 1 wird leider von influxDB nicht unterstützt)

# Signaturschlüssel der Paketquelle installieren
wget -O - https://repos.influxdata.com/influxdb.key | sudo apt-key add -
# Paketquelle für Raspberry Pi Version von influxDB hinzufügen
echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
# Paketliste aktualisieren und influxDB installieren
sudo apt-get update && sudo apt-get install influxdb

Installation auf Ubuntu

Für Ubuntu fügen wir die passende Paketquelle hinzu und installieren InfluxDB.

# Signaturschlüssel für Paketquelle installieren
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
# Version von Ubuntu ermitteln und entsprechende Paketquelle hinzufügen
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
# Paketliste aktualisieren und influxDB installieren
sudo apt-get uodate && sudo apt-get install influxdb

Hinweis

Bitte nur einen der beiden Schritte (entsprechend des Betriebssystems) druchführen!

Starten des InfluxDB Servers (Beide Systeme)

Mit den folgenden Befehlen wird der InfluxDB Server zum Autostart festgelegt und auch gestartet.

sudo systemctl daemon-reload
sudo systemctl enable influxdb.service
sudo systemctl start influxdb.service

Test von InfluxDB

InfluxDB bringt eine eigene Konsole mit, die Ihr mit dem Befehl influx  starten könnt.  Diese sollte dann so aussehen:

InfluxDB Console

Mit dem Befehl exit könnt Ihr die Konsole wieder verlassen.

Solltest Du Probleme bei der Installation von InfluxDB haben, kannst Du auch die offizielle Dokumentation zu Rate ziehen

Grafana

Grafana ist ein sehr flexibles Tool wenn es um die Erstellung von Graphen geht. Es stehen eine Vielfalt von Einstellungs- und Anpassungsmöglichkeiten zur Verfügung. Auch das Einbinden in andere Dienste kann sehr einfach umgesetzt werden.

Installation via Paketmanager

Grafana kann auf Debian-basierten Systemen sehr einfach über den Paketmanager installiert werden.

Installation auf Raspberry Pi

Leider unterstützt Grafana den Raspberry Pi nicht offiziell – Ein Mitglied der openHAB-Community hat jedoch einen Port erstellt, der über den Paketmanager installiert werden kann

# Paketquelle von fg2it hinzufügen
echo "deb https://dl.bintray.com/fg2it/deb jessie main" | sudo tee /etc/apt/sources.list.d/grafana-fg2it.list
# Signaturschlüssel herunterladen und installieren
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 379CE192D401AB61
# Paketliste aktualisieren und Grafana installieren
sudo apt-get update && sudo apt-get install grafana

Installation auf Ubuntu

Ubuntu wird offiziell von Grafana unterstützt – hier installieren wir aus der offiziellen Paketquelle

# Paketquelle zur Paketliste hinzufügen
echo "deb deb https://packagecloud.io/grafana/stable/debian/ jessie main" | sudo tee /etc/apt/sources.list.d/grafana.list
# Signaturschlüssel herunterladen und installieren
curl https://packagecloud.io/gpg.key | sudo apt-key add -
# Paketliste aktualisieren und Grafana installieren
sudo apt-get update && sudo apt-get install grafana

 

Konfiguration von Grafana

Damit Grafana später sinnvoll genutzt werden kann, deaktivieren wir die Benutzerregistration und erlauben den anonymen Zugriff auf die Daten (für späteren Datenexport)

Dazu fügen wir in der Konfigurationsdatei /etc/grafana/grafana.inifolgende Änderungen ein:

[users]
# disable user signup / registration
allow_sign_up = false
...
[auth.anonymous]
# enable anonymous access
enabled = true

Starten von Grafana

Grafana starten wir wieder über folgende Befehle – Standardmäßig startet Grafana auf Port 3000 – dies kann über die Konfigurationsdatei angepasst werden.

sudo systemctl daemon-reload
# Grafana als Autostart festlegen
sudo systemctl enable grafana-server.service
# Grafana starten
sudo systemctl start grafana-server.service

Im Browser öffnen wir http://<IP-des-Servers>:3000 – Login ist admin, Passwort ist admin

 

Solltet Ihr Probleme bei der Installation haben, könnt Ihr auch die offizielle Grafana-Installationsanleitung zu Rate ziehen

Weitere Schritte zur Einbindung in FHEM bzw. openHAB

Wie Ihr die InfluxDB und Grafana nun in FHEM beziehungsweise openHAB einbindet. Erfahrt Ihr in den nächsten Beiträgen

Patrick

Gründer und Autor von frombeyond.de – Seit 25 Jahren im Bereich IT unterwegs, leidenschaftlicher Computerspieler, Technik-Freak und begeistert von allem was einen Motor (Auto/Motorrad/Flugzeug) hat.

Nutzt Zuhause openHAB2 zusammen mit HomeMatic Komponenten sowie netatmo als Wetterstation. InfluxDB und Grafana zur Auswertung.