OH3.2.0 M1 InfluxDB v2.0.3 Grafana v8.1.2
Ziemlich tricky bis das läuft !!!
Der Grund warum ich mir das alles angetan habe, war ein Update auf meinem Debian Server, danach hat die InfluxDB nicht mehr funktioniert hat. Trotz Fehlerdiagnose, es sollte irgendein Rechteproblem sein, und stundenlangen Versuchen das Problem zu lösen, ist es mir nicht gelungen und somit hab ich mich für eine Neuinstallation und ein Upgrade auf die aktuellsten Versionen entschieden.
$ sudo apt-get update
$ sudo apt-get upgrade
# uninstall influxdb
$ sudo apt-get purge --auto-remove influxdb
# download der neuen influxdb
$ wget https://dl.influxdata.com/influxdb/releases/influxdb2_2.0.3_amd64.deb
# installieren der neuen influxdb
$ sudo dpkg -i influxdb2_2.0.3_amd64.deb
Damit waren einmal die basic Schritte erledigt. Zum Überprüfen, ob die neue Influxdb auch funktioniert einfach im Browser http://10.0.0.100:8086/ eingeben und mit den alten login Daten anmelden. Der Port 8086 muss natürlich in der Firewall offen sein, aber das war ja auch schon bei der Version 1 der Fall.
Das Login hat auch funktioniert, aber leider waren keine Daten aus OpenHAB zu sehen. Der Grund liegt in einer anzupassenden influxdb.cfg Datei. Da ich openHAB über files steuere und dafür Visual Studio verwende, ist die Anpassung recht einfach.
Den Token findet man unter Load Data -> Tokens
Der letzte Eintrag retentionPolicy ist wichtig, sonst gibt es eine Menge Fehler in der openhab.log Datei
# InfluxDB database version V1 for 1.X and V2 for 2.x
# Default = V1
version=V2
# 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://MyServer_IP:8086
# The name of the database user, e.g. openhab.
# Defaults to: openhab
user=openhab
# The password of the database user.
password=my_password
#token to authenticate the database (only for V2)
token=my_token
# name of the database for V1 and name of the organization for V2
# Defaults to: openhab
db=openhab
retentionPolicy=openhab
Mit der geänderten Config Datei und nach einem Neustart von openHAB sind die Daten auch in der Influxdb UI zu sehen.
Leider hat das Zusammenspiel mit Grafana trotzdem noch nicht geklappt. Wenn man dort unter Configuration -> Data Sources, wie gewohnt seine Einträge vornimmt und auf Save&test clickt, bekommt man eine Fehlermeldung.
Wichtig ist nämlich ein zusätzlicher Eintrag im Abschnitt Custom HTTP Headers. Dort muss man bei Header Authorization eintragen und bei Value das Wort Token, dann ein Leerzeichen und dann den Tokenstring, wie im Config file oben beschrieben. Damit bekommt man jetzt eine „Data Source is working“ Erfolgsmeldung.
Wenn man jetzt versucht über den Explorer von Grafana Daten Felder auszuwählen, wird man entäuscht sein, denn man bekommt eine DBconnect Fehlermeldung. Es sind nämlich noch folgende Schritte notwendig, da sich bei Influxdb einiges von Version 1 auf 2 geändert hat.
Die bucket-id findet man unter Load Data -> buckets und es gibt einen Button um die ID zu kopieren.
$ sudo influx config create
--config-name influx.config
--host-url http://MyServer:8086
--org openhab
--token my_token
--active
$ sudo influx v1 dbrp create
--db openhab
--rp openhab
--bucket-id My_bucket_ID
--default
--org openhab
Wie man sieht, ist das Ganze doch nicht so einfach und wie immer hat es einige Stunden gebraucht um alles auf die Reihe zu kriegen. Jetzt läuft alles wieder nur die alten Daten sich natürlich weg.
Man hätte vielleicht doch ein Backup machen sollen
„influxd upgrade“ als Commandline Variante war deshalb keine Option, da die Datenbank nicht mehr funktionsfähig gelaufen ist, richtig?
Ich habe aktuell nämlich OH 3.4.1 und noch Influxdb 1.8 und möchte nun ein Upgrade auf 2.6 machen (https://docs.influxdata.com/influxdb/v2.6/upgrade/v1-to-v2/automatic-upgrade/)