Seit gut drei Jahren betreibe ich einen RaspberryPi als Homeserver. Zunächst reichte dieser noch gut aus. Mit der Zeit wurde aber nicht nur die Zahl der Anwendungen, die auf dem Raspberry laufen, mehr, sondern auch die Leistungsanforderungen der Anwendungen selbst. Besonders meine ich damit die Influx Datenbank, die seit über drei Jahren jede Minuten um einen Datensatz der PV-Anlage größer wird. Die Datenbank braucht mittlerweile über 10 Minuten zum Starten. Auch diese Webseite braucht zum Laden deutlich länger, als sie sollte. Wenn ich den Raspberry komplett neu starte, braucht es ca. eine Stunde, bis alle Anwendungen wieder laufen. Das ist definitiv zu viel. Es sollte also ein neuer Rechner her. In dieser Artikelserie möchte ich davon berichten.


Übersicht aller Artikel dieser Serie


Was ist InfluxDB, was ist Grafana?

InfluxDB ist eine Datenbank, die darauf spezialisiert ist, zeitbasierte Daten, z.B. Messwerte zu speichern.

Grafana ist eine Software, um diese Daten in Form von verschiedenen Diagrammen zu visualisieren.

Installation von InfluxDB

Die Installation von InfluxDB ist in deren Dokumentation sehr gut erklärt. Die Befehle von dort können wir einfach so ins Terminal übertragen.

Installation von Grafana

Grafana installiere ich als Docker-Container. Dazu lege ich in Portainer einen neuen Container an und wähle das Image „grafana/grafana-enterprise:latest“. Dann gebe ich noch den Port 3000 frei und lege ein Volume an.

Installation von Grafana in Portainer
Installation von Grafana in Portainer: Volumes

Nachdem man den Container erstellt hat, gelangt man mit http://IP_ADRESSE:3000 auf die Weboberfläche von Grafana. Dort muss man noch ein Passwort festlegen, dann ist Grafana einsatzbereit.

InfluxDB in Grafana konfigurieren

Ich gehe davon aus, dass in InfluxDB bereits eine Datenbank angelegt ist. Diese wollen wir nun in Grafana einbinden.

Dazu wähle ich im ausklappbaren Menü links den Punkt „Connections“

Erstellen einer Verbindung von InfluxDB in Grafana

Anschließend wähle ich unter „Add new Connection“ die InfluxDB.

Erstellen einer Verbindung von InfluxDB in Grafana

Dort klicke ich noch auf „Add new data source“.

Erstellen einer Verbindung von InfluxDB in Grafana

Anschließend lässt sich die Verbindung zur Datenbank konfigurieren. Als URL muss die IP-Adresse des Servers eingetragen werden. Standard-Port ist 8086. „localhost“ funktioniert hier nicht, weil „localhost“ auf die IP-Adresse des Docker-Containers zeigt, da wir Grafana ja über Docker installiert haben.

Im unteren Abschnitt muss noch der Name der Datenbank und falls vorhanden der Benutzername und das Passwort eingetragen werden.

Erstellen einer Verbindung von InfluxDB in Grafana

Nach einem Klick auf „Save & test“ erhält man ein „datasource is working“ wenn alles funktioniert hat.

Erfolgsmeldung

Fazit

Auf das Erstellen eines Dashboards gehe ich hier nicht weiter ein, da das abhängig von der Art der Daten sehr unterschiedlich sein kann. Als Inspiration zeige ich hier noch zwei meiner Dashboards.

Einmal ein Systemmonitor meines alten Servers:

Beispieldashboard Grafana
Beispieldashboard Grafana

Und hier die Visualisierung einer PV-Anlage:

Beispieldashboard Grafana
Beispieldashboard Grafana
Beispieldashboard Grafana
Beispieldashboard Grafana