Was wollen wir?
Wir wollen eine Datenbank mit gleichzeitiger Anbindung an ein grafisches System um diese Daten zu visualisieren.
Warum wollen wir das?
Grafana bietet sich hier als frei skalierbares System an. Man kann Kurven, Balkendiagramme und andere Statistiken schnell erstellen. Diese können wiederum in derVisualisierung des Smarthome eingebunden werden. Man kann z.b. seine Wetterdaten über einen längeren Zeitraum betrachten.
Als Datenbank kann man viele Standard Datenbanken wie SQL einbinden, auch InfluxDB. Letztere lässt sich auch sehr einfach in IoBroker, dem Smarthome System, verwenden. Es bietet sich also an diese beiden Programme direkt zusammen in einer virtuellen Linux Maschine zu installieren.
Und wie genau geht das?
Wir installieren uns auf Proxmox eine Ubuntu 20.10 oder 20.04
Als erstes machen wir ein Update des Systems
sudo apt update && sudo apt dist-upgrade -y sudo reboot
IfluxDB
sudo apt-get install curl sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add - source /etc/lsb-release echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list sudo apt update sudo apt install influxdb -y sudo systemctl start influxdb sudo systemctl enable influxdb apt install net-tools netstat -plntu apt install influxdb-client
Nun Installieren wir eine Datenbank, das Passwort ändert Ihr natürlich ab
influx create database telegraf create user telegraf with password 'mystrongpasswordhere'
Telegraf
sudo apt install telegraf -y sudo systemctl start telegraf sudo systemctl enable telegraf
Kontrolle mit
sudo systemctl status telegraf
Anpassen der Konfiguration
cd /etc/telegraf/ mv telegraf.conf telegraf.conf.default nano telegraf.conf
in der telegraf.conf geben wir ein (Parameter anpassen)
# Global Agent Configuration [agent] hostname = "myhostname" flush_interval = "15s" interval = "15s" # Input Plugins [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs"] [[inputs.io]] [[inputs.mem]] [[inputs.net]] [[inputs.system]] [[inputs.swap]] [[inputs.netstat]] [[inputs.processes]] [[inputs.kernel]] # Output Plugin InfluxDB [[outputs.influxdb]] database = "telegraf" urls = [ "http://127.0.0.1:8086" ] username = "telegraf" password = "mystrongpasswordhere"
nach dem speichern geben wir folgende Befehle ein
telegraf config -input-filter cpu:mem:disk:swap:system -output-filter influxdb > telegraf.conf cat telegraf.conf sudo systemctl restart telegraf sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter cpu sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter net sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter mem
Grafana
sudo curl https://packages.grafana.com/gpg.key | sudo apt-key add - echo 'deb deb https://packages.grafana.com/oss/deb stable main' > /etc/apt/sources.list.d/grafana.list sudo curl https://packages.grafana.com/gpg.key | apt-key add - echo 'deb https://packages.grafana.com/oss/deb stable main' > /etc/apt/sources.list.d/grafana.list sudo apt update sudo apt install grafana -y sudo systemctl start grafana-server sudo systemctl enable grafana-server
Danach kann man sich bereits einloggen mit
Der Standard Benutzername ist ‚admin‘ und das Passwort ‚admin‘. Dieses sollte man sofort ändern.
klickt auf Datenbank hinzufügen und wählt InfluxDB
Bei den Details gebt Ihr ein
- Name: influxdb
- Type: influxdb
- URL: http://localhost:8086/
und unten bei den Daten
- Database: telegraf
- User: telegraf
- Password: ‚mystrongpasswordhere‚
Mit save und test könnt ihr die Verbindung testen und speichern
Weitere Info:
Für weitere Ergänzungen und als ausführlichere Anleitung eignet sich diese hier super:
Später kommt hier evtl. noch eine Anleitung wie man Grafana auch benutzt, evtl. mit Einbindung in eine Visualisierung