Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana
Verfasst: Mo Nov 25, 2019 8:03 am
Hallo Zusammen,
ich hab mich rein interessehalber damit befaßt die Daten aus OpenWB über die Monitoring Toolchain aus InfluxDB, Telegraf und Grafana zu visualisieren.
Gleich vorweg: Grund dafür war nur der "Spieltrieb" und keinerlei Kritik an der Visualisierung durch OpenWB selbst.
Einziger Vorteil wären vermutlich die Unterstützung für beliebig viele OpenWBs im selben GUI (host umschaltbar) sowie die extrem mächtigen und fein-granular konfigurierbaren Alterungsstrategien von InfluxDB (Rententions, Continuous Queries). Spart euch aber bitte die Arbeit dieses Setup extra für eine einzelne OpenWB aufzusetzen! Außer es treibt auch euch der "Spieltrieb".
Ich möchte hier nicht die Installation von InfluxDB und Grafana erklären.
Falls ihr es neu aufsetzen wollt, gibt es dazu hinreichend Quellen im Internet für alle Varianten des Serverbetriebs (Docker, APT, ...).
Kurz eingehen möchte ich auf die Installation von Telegraf auf dem OpenWB RASPI. Das funktioniert meiner Meinung nach am einfachsten über diese Anleitung (falls nicht hält das Internet genug Alternativen bereit):
Nach der Installation von Telegraf deaktiviert ihr ihn erst mal wieder bis die Konfiguration angepaßt ist:
Jetzt könnt ihr euch die anghängte "telegraf.conf.template.txt" vornehmen. Sie wurde auf das Nötigste reduziert. Am Ende der Datei wird die Datensammlung von OpenWB über MQTT konfiguriert.
Dann Telegraf wieder starten und prüfen ob er wie gewünscht läuft:
Nur wenn der letzte Befehl Zeilen ähnlich dieser hier ausgibt kommuniziert Telegraf erfolgreich sowohl mit Influx als auch dem OpenWB MQTT Broker:
Für die Visualisierung könnt ihr euch entweder selbst ein Grafana-Dashboard zusammenklicken. Oder ihr probiert das Dashboard dessen JSON-Konfiguration ich hier angehängt habe. Für letzteres in Grafana auf "Dashboards -> Manage -> Import" und den JSON-Text in das entsprechende Feld ("Or paste JSON") kopieren.
Ich habe versucht das angehängte Dashboard so universell wie möglich zu halten. Aber leider hab ich derzeit weder eine PV und/oder Speicher noch mehrere Ladepunkte. Entsprechend konnte ich dafür leider keine Dashbaord-Panels bauen.
Außerdem müßt ihr vielleicht die Limits an die eurer Installation anpassen.
Ein Beispiel was ihr damit bekommt seht ihr hier: Der Teil "CP #1" sollte beim Vorliegen von Daten für mehrere Ladepunkte automatisch mehrfach erscheinen. Was ich aber in Ermangelung mehrerer LPs bei mir nicht testen konnte.
Viel Spaß damit! Vielleicht hilft's ja dem Einen oder Anderen.
Die RASPI-Daten könnt ihr z.B. mit diesem vordefinierten Dashboard visualisieren.
Ich bin jederzeit offen für Kritik oder Verbesserungsvorschläge. Gerne aktualisiere ich auch das angehängte Grafana Dashboard oder ihr postet einfach selbst eure eigenen Versionen.
[2019-11-25]
Anhänge aktualisiert für Ladepunktnummern in separatem Subtopic
ich hab mich rein interessehalber damit befaßt die Daten aus OpenWB über die Monitoring Toolchain aus InfluxDB, Telegraf und Grafana zu visualisieren.
Gleich vorweg: Grund dafür war nur der "Spieltrieb" und keinerlei Kritik an der Visualisierung durch OpenWB selbst.
Einziger Vorteil wären vermutlich die Unterstützung für beliebig viele OpenWBs im selben GUI (host umschaltbar) sowie die extrem mächtigen und fein-granular konfigurierbaren Alterungsstrategien von InfluxDB (Rententions, Continuous Queries). Spart euch aber bitte die Arbeit dieses Setup extra für eine einzelne OpenWB aufzusetzen! Außer es treibt auch euch der "Spieltrieb".
Ich möchte hier nicht die Installation von InfluxDB und Grafana erklären.
Falls ihr es neu aufsetzen wollt, gibt es dazu hinreichend Quellen im Internet für alle Varianten des Serverbetriebs (Docker, APT, ...).
Kurz eingehen möchte ich auf die Installation von Telegraf auf dem OpenWB RASPI. Das funktioniert meiner Meinung nach am einfachsten über diese Anleitung (falls nicht hält das Internet genug Alternativen bereit):
Code: Alles auswählen
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/os-release
echo "deb https://repos.influxdata.com/debian $VERSION_CODENAME stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update
sudo apt-get install telegraf
Code: Alles auswählen
sudo service telegraf stop
- Falls ihr Telegraf schon in Betrieb habt, den Teil ab "[[inputs.mqtt_consumer]]" mit eurer existieren "telegraf.conf" vereinigen. Dabei ggf. bei "servers" die Adresse der OpenWB Wallbox eintragen falls euer Telegraf nicht auf dem OpenWB RASPI läuft.
- Ansonsten in meiner Version nach "<your-" suchen und dort eure Daten eintragen (den Text in den spitzen Klammern sowie die Klammern selbst ersetzen). Hier könnt ihr auch anpassen welche Topics überhaupt in InfluxDB landen sollen. Bitte nicht "openWB/#" (also alles) weiterleiten. Denn Telegraf/InfluxDB würden das Datenformat für die OpenWB Graphen im Web-GUI nicht verstehen und reichlich Fehlermeldungen ausspucken. Die "telegraf.conf.template.txt" kommt nun nach "/etc/telegraf/telegraf.conf" (unbedingt das .template.txt entfernen) auf den RASPI der OpenWB.
Dann Telegraf wieder starten und prüfen ob er wie gewünscht läuft:
Code: Alles auswählen
sudo service telegraf start
sudo tail -n 100 /var/log/telegraf/telegraf.log
Code: Alles auswählen
2019-11-24T16:39:50Z I! Loaded inputs: cpu disk mem processes file exec diskio kernel swap system net mqtt_consumer
2019-11-24T16:39:50Z I! Loaded aggregators:
2019-11-24T16:39:50Z I! Loaded processors:
2019-11-24T16:39:50Z I! Loaded outputs: influxdb
2019-11-24T16:39:50Z I! Tags enabled: host=openWB
2019-11-24T16:39:50Z I! [agent] Config: Interval:27s, Quiet:false, Hostname:"openWB", Flush Interval:10s
2019-11-24T16:39:50Z D! [agent] Initializing plugins
2019-11-24T16:39:50Z D! [agent] Connecting outputs
2019-11-24T16:39:50Z D! [agent] Attempting connection to [outputs.influxdb]
2019-11-24T16:39:50Z D! [agent] Successfully connected to outputs.influxdb
2019-11-24T16:39:50Z D! [agent] Starting service inputs
2019-11-24T16:39:50Z I! [inputs.mqtt_consumer] Connected [tcp://127.0.0.1:1883]
2019-11-24T16:40:10Z D! [outputs.influxdb] Wrote batch of 50 metrics in 70.765514ms
[...]
Für die Visualisierung könnt ihr euch entweder selbst ein Grafana-Dashboard zusammenklicken. Oder ihr probiert das Dashboard dessen JSON-Konfiguration ich hier angehängt habe. Für letzteres in Grafana auf "Dashboards -> Manage -> Import" und den JSON-Text in das entsprechende Feld ("Or paste JSON") kopieren.
Ich habe versucht das angehängte Dashboard so universell wie möglich zu halten. Aber leider hab ich derzeit weder eine PV und/oder Speicher noch mehrere Ladepunkte. Entsprechend konnte ich dafür leider keine Dashbaord-Panels bauen.
Außerdem müßt ihr vielleicht die Limits an die eurer Installation anpassen.
Ein Beispiel was ihr damit bekommt seht ihr hier: Der Teil "CP #1" sollte beim Vorliegen von Daten für mehrere Ladepunkte automatisch mehrfach erscheinen. Was ich aber in Ermangelung mehrerer LPs bei mir nicht testen konnte.
Viel Spaß damit! Vielleicht hilft's ja dem Einen oder Anderen.
Die RASPI-Daten könnt ihr z.B. mit diesem vordefinierten Dashboard visualisieren.
Ich bin jederzeit offen für Kritik oder Verbesserungsvorschläge. Gerne aktualisiere ich auch das angehängte Grafana Dashboard oder ihr postet einfach selbst eure eigenen Versionen.
[2019-11-25]
Anhänge aktualisiert für Ladepunktnummern in separatem Subtopic