openHAB: Grafana & InfluxDB auf Raspian OS installieren

openHAB: Grafana & InfluxDB auf Raspian OS installieren

letzte Aktualisierung: 9. März 2023
#
Ungefähre Lesezeit: 3 min

Grafana bietet die Möglichkeit, aufwändig gestaltete Diagramme in openHAB einzubinden. Die dafür üblich genutzte Datenbank ist InfluxDB. Falls man Raspian OS statt openHABian für seine openHAB Installation nutzt, zeige ich hier wie man Grafana und InfluxDB auf Raspian OS einrichten kann. Eine Anleitung für openHABian Nutzer gibt es hier.

InfluxDB installieren

  • Raspository hinzufügen
wget -q https://repos.influxdata.com/influxdata-archive_compat.key
source /etc/os-release
echo "deb https://repos.influxdata.com/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
  • Aktualisierung der Paketquellen und Installation
sudo apt update
sudo apt install -y influxdb
  • InfluxDB Dienst starten und für automatischen Start beim booten einrichten
sudo systemctl unmask influxdb.service
sudo systemctl start influxdb.service
sudo systemctl enable influxdb.service
  • InfluxDB starten und Datenbank inkl. User einrichten
influx
>CREATE DATABASE openhab_db
>CREATE USER admin WITH PASSWORD 'Password1' WITH ALL PRIVILEGES
>CREATE USER openhab WITH PASSWORD 'Password2'
>CREATE USER grafana WITH PASSWORD 'Password3'
>GRANT ALL ON openhab_db TO openhab
>GRANT READ ON openhab_db TO grafana
>exit

InfluxDB optimieren

Datenbank

  • InfluxDB sammelt Metriken und andere Daten über sich selbst und speichert diese in einer internen Datenbank, was für den Normalanwender nicht nötig ist
  • das Deaktivieren spart unnötige Datei-Speicherzugriffe und reduziert messbar die Dauerlast für den Prozessor
  • nano /etc/influxdb/influxdb.conf 
    [Monitor]
    store-enabled = false
  • InfluxDB neu starten
    service influxdb restart

Logfiles

  • es kann vorkommen das Influx die Logfiles unter /var/log/system und vor/log/daemon.log massiv vollschreibt
  • hat man sehr viele oder sich häufig aktualiserende Werte die in die Datenbank geschrieben werden, kann das zum einen den Raspi verlangsamen und zum anderen über längere Zeit zu Platzproblemen führen
Mar  5 00:59:12 ... influxd-systemd-start.sh[501]: [httpd] 127.0.0.1 - openhab [05/Mar/2023:00:59:12 +0100] "POST /write?db=openhab_db&rp=autogen&precision=n&consistency=one HTTP/1.1 " 204 0 "-" "okhttp/3.14.9" 8fe4de6e-bae8-11ed-b50d-dca6324a3cae 7023
Mar  5 00:59:14 ... influxd-systemd-start.sh[501]: [httpd] 127.0.0.1 - openhab [05/Mar/2023:00:59:14 +0100] "POST /write?db=openhab_db&rp=autogen&precision=n&consistency=one HTTP/1.1 " 204 0 "-" "okhttp/3.14.9" 91369e58-bae8-11ed-b50e-dca6324a3cae 6234
Mar  5 00:59:15 ... influxd-systemd-start.sh[501]: [httpd] 127.0.0.1 - openhab [05/Mar/2023:00:59:15 +0100] "POST /write?db=openhab_db&rp=autogen&precision=n&consistency=one HTTP/1.1 " 204 0 "-" "okhttp/3.14.9" 9147789b-bae8-11ed-b50f-dca6324a3cae 6181
Mar  5 00:59:16 ... influxd-systemd-start.sh[501]: [httpd] 127.0.0.1 - openhab [05/Mar/2023:00:59:16 +0100] "POST /write?db=openhab_db&rp=autogen&precision=n&consistency=one HTTP/1.1 " 204 0 "-" "okhttp/3.14.9" 91d2cebd-bae8-11ed-b510-dca6324a3cae 5539
Mar  5 00:59:16 ... influxd-systemd-start.sh[501]: [httpd] 127.0.0.1 - openhab [05/Mar/2023:00:59:16 +0100] "POST /write?db=openhab_db&rp=autogen&precision=n&consistency=one HTTP/1.1 " 204 0 "-" "okhttp/3.14.9" 91e3cb6b-bae8-11ed-b511-dca6324a3cae 8332
Mar  5 00:59:17 ... influxd-systemd-start.sh[501]: [httpd] 127.0.0.1 - openhab [05/Mar/2023:00:59:17 +0100] "POST /write?db=openhab_db&rp=autogen&precision=n&consistency=one HTTP/1.1 " 204 0 "-" "okhttp/3.14.9" 928df209-bae8-11ed-b512-dca6324a3cae 463
  • wenn man auf die Log-Einträge nicht gerade angewiesen ist, zwecks Fehlersuche etc., lohnt es sich die Log-Einträge expliziert zu deaktivieren
sudo nano /etc/influxdb/influxdb.conf
#[http] section
log-enabled = false
  • nach einen Neustart des Services influxdb, sollte der Spuk vorbei sein
sudo systemctl restart influxdb

InfluxDB unter openHAB einrichten

  • openHAB UI öffnen und das InfluxDB persistence Add-on installieren
    Administration -> Einstellungen -> Persistence -> + Add-on hinzufügen
  • die Konfiguration für die Anbindung von InfluxDB kann über eine Textdatei oder über die openHAB Administration eingerichtet werden
  • openHAB: -> Administration -> Einstellungen -> Other Services -> InfluxDB Persistence Service
  • Textdatei: /etc/openhab/services die Datei influxdb.cfg mit folgendem Inhalt erstellen
  • Rechte setzen nicht vergessen
    sudo chgrp openhab influxdb.cfg
    sudo chmod 766 influxdb.cfg
# The database URL, e.g. http://127.0.0.1:8086 or https://127.0.0.1:8084 .
# Defaults to: http://127.0.0.1:8086
url=http://localhost:8086

# Name des Datenbank user, z.B. openhab.
# Standard: openhab
user=openhab
# Passwort des Datenbank user.
password=Password2
# Name der Datenbank - openhab.
# Standard: openhab
db=openhab_db
  • als nächstes erstellen wir die Datei /etc/openhab/persistence/influxdb.persist
  • Rechte setzen nicht vergessen
    sudo chmod 766 influxdb.persist
  • die Datei enthält die Strategien zur Datenspeicherung sowie die Gruppen die ihr Messdaten in die Datenbank schreiben sollen
  • die Messdaten können dann über InfluxDB abgerufen werden
Strategies {
everyMinute : "0 * * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
every2Minutes : "0 */2 * ? * *"
}

Items {
gTemperatur*,gWetter*: strategy = everyChange
gSystemdaten*: strategy = everyMinute
}

Grafana unter Raspian OS installieren

  • Apt Key hinzufügen
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
  • Grafana Apt repository hinzufügen
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
  • Grafana installieren
sudo apt-get update
sudo apt-get install -y grafana
  • Grafana ist installiert, muss aber noch gestartet und für den Autostart beim nächsten reboot konfiguriert werden
  • Grafana Server freischalten
sudo /bin/systemctl enable grafana-server
  • Grafana Server starten
sudo /bin/systemctl start grafana-server
  • Grafana kann jetzt über die Adresse http://<Ip-Adresse>:3000 erreicht werden
  • Standard Login:
    Username : admin / Passwort : admin

Grafana einrichten

  • in Grafana muss die InfluxDB noch als Datenquelle eingerichtet werden
  • Configuration -> Data Sources
  • +Add data source
Grafana Datenquelle
Bild 1: Datenquelle hinzufügen
  • URL der InfluxDB eingeben (1)
  • Zugangsdaten der DB eingeben (2)
  • Verbindung testen (3)
InfluxDB Datenquelle Grafana einrichten
Bild 2: Datenquelle InfluxDB einrichten
  • anschließend kann ein neues Dashboard / Panel eingerichtet werden, der auf die Daten der InfluxDB zurückgreift

Backup & Restore

InfluxDB

Grafana Dashboard

Quellen

Tags:
Artikelaufrufe: 7532
Nach oben