Grafana: Docker - Daten visualisieren und Alarme definieren

Grafana ist eine Web-Applikation f├╝r das Visualisieren von Daten. Mit Grafana k├Ânnen in wenigen Minuten ansehnliche Charts erstellt oder Alarme definiert werden.

Docker Basics

Docker erm├Âglicht es, Services oder Applikationen per Befehl in einem sogenannten Container zu starten.
Ein Container ist eine vom Betriebssystem (OS) unabh├Ąngige isolierte Umgebung:
Beim ersten Start eines Containers, l├Ądt Docker selbstst├Ąndig alle notwendigen Quellen
aus dem Internet.
Docker kann unter Windows, macOS oder einer Linux-Distribution installiert werden,
siehe auch: Docker

Voraussetzungen

Als Voraussetzung f├╝r Grafana wird eine Datenquelle ben├Âtigt, am besten eine "Time series database", also eine f├╝r Zeitdaten optimierte Datenbank. Ein Beispiel einer solchen "Time series database" ist InfluxDB, siehe: Influx DB - Time series database.

Damit in Grafana Daten angezeigt werden k├Ânnen, m├╝ssen diese nat├╝rlich irgendwie in der Datenbank landen, zum Beispiel ├╝ber ioBroker, siehe: ioBroker Installieren - Docker oder HomeAssistant, siehe Home-Assistant Docker Conbee 2 und Zigbee2MQTT / deCONZ

Grafana

Als Voraussetzung verwende ich ein eigenes Netzwerk, sollte dieses bereits von ioBroker vorhanden sein, ist der folgende Befehl hinf├Ąllig.

docker network create smart-home

F├╝r den eigentlichen Start von Grafana, habe ich folgenden Befehl verwendet.

mkdir -p /docker
mkdir -p /docker/grafana
docker run -d \
-p 3000:3000  \
--network=smart-home \
--restart=always --name=grafana \
-v /docker/grafana:/var/lib/grafana grafana/grafana

Als Username wird nach dem ersten Start "admin" und das Kennwort "admin" verwendet.

Datenquelle

Als Datenquelle verwende ich einen zuvor erstellten Influx-Container, siehe: Influx DB - Time series database

Informationen zur Anbindung einer InfluxDB Version 2  folgen in Kürze.

Einbinden der ioBroker-Werte der Influx-DB und erstellen von Diagrammen (Charts)

Details zum ioBroker Setup, siehe: ioBroker Installieren - Docker

Panel mit 2 verschiedenen Einheiten

Home-Dashboard tauschen

Um ein beliebiges Dashboard als Startseite zu verwenden, muss dieses als erstes als Lesezeichen markiert und dann in den Einstellungen ausgew├Ąhlt werden.

Grafana-Image-Renderer Docker

Um f├╝r die Benachrichtigung Bilder anh├Ąngen zu k├Ânnen, wird f├╝r Docker ein eigener Image-Renderer-Container ben├Âtigt, dieser kann wie folgt gestartet werden:

docker run -d \
--name=renderer \
--restart=always \
-p=3001:8081 \
grafana/grafana-image-renderer

Damit der bestehende Grafana-Container mit dem Image-Renderer spricht, musste ich den Container entsprechend anpassen:

Die Adresse 192.168.1.5 ist die IP-Adresse des Hosts, diese muss entsprechend angepasst werden:

docker stop grafana
docker rm grafana

docker run -d \
-p 3000:3000  \
--network=smart-home \
-e "GF_RENDERING_SERVER_URL=http://192.168.1.5:3001/render" \
-e "GF_RENDERING_CALLBACK_URL=http://192.168.1.5:3000/" \
-e "GF_SERVER_DOMAIN=192.168.1.5" \
--restart=always \
--name=grafana \
-v /docker/grafana:/var/lib/grafana grafana/grafana

InfluxDB Error: unsupported mean iterator type: *query.booleanInterruptIterator

Eine Kleinigkeit war f├╝r mich am Anfang nicht ganz selbsterkl├Ąrend. Beim Erstellen eines Charts mit True/False-Werten muss "Select" auf "last()" ge├Ąndert werden, ansonsten kommt der Fehler: unsupported mean iterator type: *query.booleanInterruptIterator

Docker: Plugins installieren

Plugins k├Ânnen ├╝ber die Grafana-CLI installiert werden:

grafana-cli plugins install PluginName

Bei Einsatz des Docker-Container m├╝ssen wir uns vorher mit "docker exec" in den Container verbinden:

bernhard@sox:~$ docker exec -it grafana /bin/bash
bash-5.0$ grafana-cli plugins install natel-discrete-panel
installing natel-discrete-panel @ 0.1.1
from: https://grafana.com/api/plugins/natel-discrete-panel/versions/0.1.1/download
into: /var/lib/grafana/plugins

Benachrichtigungen per Signal

Signal Nachrichten per API versenden: signal-cli-rest-api

Fazit

Bei meinem ersten Versuch Grafana zu starten war ich schon sehr ├╝berrascht, wie schnell, einfach und selbsterkl├Ąrend damit Daten visualisiert werden k├Ânnen. Voraussetzung f├╝r die Verwendung von Grafana ist nat├╝rlich eine Datenbank, was mit Docker und InfluxDB auch in wenigen Minuten erledigt ist. Dann sind da noch die eigentlichen Daten f├╝r die Datenbank, diese kommen bei mir, wie bereits beschrieben, von ioBroker und Conbee.

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE f├╝r deine Bewertung!

Aktualisiert: 27.01.2022 von Bernhard | Translation English |­čöö


Top-Artikel in diesem Bereich


ioBroker installieren - Docker

Mit ioBroker k├Ânnen verschiedene Automatisierungsl├Âsungen oder Ger├Ąte in einem System zusammengefasst werden. Um bestimmte Gateways oder Ger├Ąte ansprechen zu k├Ânnen, werden in ioBroker verschiedene Adapter verwendet.


Smart-Home-Plattform - Systeme: ioBroker vs. Home-Assistant

Meine Empfehlung, m├╝sste ich mich zwischen ioBroker und Home Assistant entscheiden, w├╝rde zugunsten von Home Assistant fallen. Mit Home Assistant f├Ąllt der Start wesentlich leichter und dank der zahlreichen Plugins kann Home Assistent allen Bed├╝rfnissen angepasst werden


Bitwarden in Docker betreiben - Setup Schritt f├╝r Schritt

Bitwarden ist ein webbasierter Passwort-Manager, ├Ąhnlich LastPass, aber Open Source und der M├Âglichkeit diesen selbst zu betreiben (hosten). Wie sich Bitwarden im Vergleich zu anderen Passwort-Managern einordnet, habe ich auf folgender Seite ├╝berlegt: Passwort-Manager sicher? KeePass vs. LastPass vs. Bitwarden. Bitwarden besteht aus mehreren Services, welche ├╝ber verschiedene Container bereitgestellt werden k├Ânnen. Das relativ aufw├Ąndige Setup wurde mit "Bitwarden Unified" speziell f├╝r ein Selbs...


Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details