Wenn du schon eine Weile mit Node-Red gearbeitet hast, wist du festgestellt haben, dass Node-Red schlagartig alle bisher aufgelaufenen Diagrammwerte vergisst, wenn Node-Red oder der Server neu gestartet werden. Das ist unschön. Auch Werte, die vor einiger Zeit angefallen sind (z.B. Verbrauchsdaten) werden von Node-Red nicht so einfach für weitere Analysen vorgehalten. Dasselbe mit allen Werten, die links aus einem Node-Red Diagramm rausgelaufen sind.
Hier brauchen wir eine Datenbank! Aber welche? Man könnte sich jetzt ein System aus MySQL basteln oder textbasierten Dateien. Da wir es bei unseren Anwendungsfällen meist um Zeitreihen handelt, ist Influx die erste Wahl, da diese Datenbank speziell für diesen Zweck entwickelt wurde.
Installation
Wie schon erwähnt, verwende ich einen Raspberry Pi als Hardware Plattform. Die Installation der Datenbank hat leider einige Fallstricke!
Ich empfehle, nicht über das Standardrepository von Raspberry Pi OS zu gehen. Da wird eine veraltete Version installiert. Also nicht direkt mit sudo apt install influxdb installieren.
Wichtig zu wissen: Hat man ein Raspberry Pi OS (ehemals Raspbian) in der 32 Bit Version installiert, kann man Influx nur bis Version 1.8 installieren. Hat man ein 64 Bit Raspberry Pi OS kann man auch eine 2.x Version installieren. Eine englischsprachige Anleitung für beides findest du bei Randomnerdtutorials.com. Für unsere einfachen Anwendungsfälle reicht aber die Version 1.8 mit Command Line Interface.
Die meines Erachtens beste Anleitung für die Influx Basics auf dem Raspberry Pi findet ihr hier: https://pimylifeup.com/raspberry-pi-influxdb. Nur empfehle ich dringend, den Teil über die Installation nicht anzuwenden sondern die unten stehende, neue Installationsprozedur zu beachten:
Vorsicht Update!
Leider wird die Installation aktuell (Februar 2023) etwas haarig, da praktisch alle Anleitungen zur Installation auf einen Schlag veraltet und somit fehlerbehaftet sind. Das liegt daran, dass die Leute bei Influxdata den Installationsschlüssel aus Sicherheitsgründen austauschen mussten. Dummerweise auch noch den dazugehörigen Namen, weshalb Installationen und Updates auf einen Fehler der Art NO PUBLIC_KEY laufen. Deshalb…
Neue Installationsprozedur
Mit
1 2 |
sudo apt update sudo apt upgrade |
das System aktualisieren. Als erstes wird der neue(!) Repository Key heruntergeladen und an die richtige Stelle gebracht:
1 2 |
wget -q https://repos.influxdata.com/influxdata-archive_compat.key cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null |
Anschließend wird der Verweis auf das Influx Repository erzeugt:
1 |
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list |
Jetzt noch der Update mit Check, ob alles geklappt hat:
sudo apt update
Wenn keine Fehlermeldung erscheint, wird aufgeräumt:
1 2 3 |
sudo rm -f /etc/apt/trusted.gpg.d/influxdb.gpg sudo rm /etc/apt/sources.list.d/influxdb.list rm ~/influxdata-archive_compat.key |
Jetzt endlich können wir Influx installieren:
sudo apt install influxdb
und abschließend noch ein paar Einstellungen vornehmen, damit Influx automatisch startet:
1 2 |
sudo systemctl unmask influxdb sudo systemctl enable influxdb |
Entweder wir machen jetzt einen Reboot oder wir schreiben noch
sudo systemctl start influxdb
um Influx im Hintergrund zu starten. Aufgerufen wird influx mit, na was wohl…: influx (ohne db hintendran)
Die ersten Schritte mit der Influx Datenbank schaut ihr euch bei dem oben erwähnten Artikel bei PiMyLifeUp an.