NEWS
[HowTo] InfluxDB 2.1 auf Debian 11 (proxmox CT) installieren
-
@docgame Ahh, moment...
Du hast einen neuen Container erstellt. Du hast InfluxDB 2.x installiert. Du möchtest InfluxQL Syntax nutzen --> das funktioniert nicht
Du hast einen laufenden Container mit Influx 1.x. Du hast ein Upgrade auf Influx 2.x gemacht --> hier kannst du InfluxQL nutzen, wenn du ein Mapping von der Datenbank auf den Bucket herstellst. Siehe hier: https://docs.influxdata.com/influxdb/v2.1/upgrade/v1-to-v2/automatic-upgrade/ und hier https://docs.influxdata.com/influxdb/v2.1/reference/api/influxdb-1x/dbrp/
Die neue native Syntax für eine neue Datenbank/Bucket in Influx 2.1 ist Flux. InfluxQL wird in 2.1 nicht mehr unterstützt.
D.h.:
Neuer Container mit Influx v2 + neues Bucket = Grafana mit InfluxQL kann die Datenbank nicht finden, da es diese nicht gibt; man muss Flux nutzen
Alter Container mit Influx v1 + Upgrade auf v2 + neues Bucket + Mapping von Datenbank auf Bucket = Grafana mit InfluxQL würde die Datenbank bzw. Bucket finden; mann kann Flux und InfluxQL nutzen
Eine schöne Erklärung InfluxQL/Flux ist hier zu finden: https://www.sqlpac.com/en/documents/influxdb-moving-from-influxql-language-to-flux-language.html
-
@ftd Vielen Dank für deine Geduld und die tollen Erklärungen.
Für den ersten Moment bin ich etwas erschrocken als ich Flux gesehen habe. Mit der alten Version bin ich mit einigen Klicks zu einem Ansehnlichen Ergebnis gekommen. Mit Flux finde ich gar keinen Einstieg wie ich das Ganze mit der Maus handeln kann. Geht da ohne die Flux-Programmiersprache nichts? Will ja nur einige Daten loggen und aufhübschen.
Werde am Wochenende noch einen Versuch starten (Laufen tuts...ich hänge bei der Bedienung). Sollte mir das doch zu hoch sein werde ich entweder den Adapter wieder Upgraden und mit der alten weitermachen oder ich gehe sogar ganz weg von der DB und logge "flach". Für einfache Dinge gibt es ja auch da Adapter zur Darstellung. Ich brauche eigentlich nicht viel.
Aber noch habe ich die Hoffnung noch nicht ganz aufgegeben.... -
@docgame Ist einfach zu verstehen... und geht auch mit Mausklicks... für den Anfang:
- In der Influx GUI links auf "Explore"
- Baust unten dein Query mit Klicks zusammen
From deinBucket --> _measurement derNamederReihe --> from dieInstanzausioBroker --> _field derWert (value)
und machst rechts noch ein paar Einstellungen.... last, mean, usw.
- Submit
Jetzt siehst du drüber schon das Ergebnis:
- Wenn es dir gefällt klickst du auf "Script Editor"
- Hier kopierst du alles außer die letzte Zeile mit dem yield
- Paste nach Grafana...
- Fertig
Das Verstehen von Range, AggregateWindow und Yield kommt später.
-
@ftd Also ist Grafana zum Verwalten der Datenpunkt wie bisher quasi gestorben?
Funktionieren tuts auf jedenfall mit der Methode. Die alte Variante war mir aber ehrlich gesagt wesentlich lieber.
Jetzt höre ich aber mit dem "zuspammen" des ursprünglichen Posts auf
Hier schon mal die Aktuelle Außentemperature:
-
@ftd sagte in [HowTo] InfluxDB 2.1 auf Debian 11 (proxmox CT) installieren:
@docgame Ahh, moment...
Du hast einen neuen Container erstellt. Du hast InfluxDB 2.x installiert. Du möchtest InfluxQL Syntax nutzen --> das funktioniert nicht
Die neue native Syntax für eine neue Datenbank/Bucket in Influx 2.1 ist Flux. InfluxQL wird in 2.1 nicht mehr unterstützt.
Im Prinzip hast du Recht aber würde die Hoffnung noch nicht aufgeben.
Angeblich soll der Zugriff auch per InfluxQL klappen nur leider ist die Doku von Influx echt grauselig !
Ich tüftle grad wie man das evtl hinbekommt -
@lobomau
Hallo, guten Abend,
Für mich sind Container, Proxmox & Co. absolut "böhmische Dörfer".Ich habe 2020 nach Anleitungen ioBroker auf einem RaspberryPi 4b mit 8GB installiert und da war Debian 10 (Buster) aktuell. Im Rahmen der Kurse hatte ich auch influxDB V1.x erfolgreich installiert.
Nun ist mir vor etwa einem Monat im Zuge der Updates von NPM und node.js die ganze Installation "abgeschmiert" und ich mußte alles neu machen. Zum Glück konnte ich das Backup wieder einspielen und bis auf influxDB läuft alles wieder. Da ich nun natürlich Debian 11 (Bullseye) als Basis habe komme ich mit influxDB nicht weiter. Ich erhalte immer die Fehlermeldung:
Das Depot »https://repos.influxdata.com/raspbian bullseye Release« enthält keine Release-Datei.Ich komme einfach nicht weiter - egal ob ich versuche influxDB V1.x oder V2.x zu installieren.
Kann mir da einer irgendwie weiterhelfen bzw. gibts einen Link, wo es für jemand wie mich, für den Linux immer noch eine "kryptische Parallelwelt" ist, klare Step-for-Step-Anweisungen gibt...Vielen Dank schon einmal - kommt gut und gesund ins neue Jahr,
Wolfgang
-
@wolfgang1962 sagte in [HowTo] InfluxDB 2.1 auf Debian 11 (proxmox CT) installieren:
ich das Backup wieder einspielen und bis auf influxDB läuft alles wieder. Da ich nun natürlich Debian 11 (Bullseye) als Basis habe komme ich mit influxDB nicht weiter
dann musst du auch das repo anpassen, als Grundhinweis
https://www.elektronik-kompendium.de/sites/raspberry-pi/2002201.htm
https://forum.iobroker.net/topic/47213/upgrade-von-debian-10-buster-auf-11-bullseyeAusgabe von
apt policy influxdb
-
@crunchip
Hallo und gutes neues Jahr,
ich habe mich wohl zu ungenau ausgedrückt.
Ich musste mein System komplett neu aufsetzen - also auf eine völlig leere SD-Card, da von der bisherigen Karte kein booten mehr möglich war und auch sonst kein Zugriff auf den Inhalt mehr gelungen ist. Meine Backups befinden sich zum Glück auf einem NAS.
Also frisches System mit Debian 11 Bullseye auf Raspberry PI4b und nach Installation vm ioBroker das Backup eingespielt. Da sich auf der neuen SD-Card also kein influxDB befindet, möchte ich die Datenbank installieren und bekomme das nicht hin, da die besherigen Anleitungen immer nur bis Debian 11 Buster behandeln.... -
In der Datei /etc/apt/sources.list.d/influxdb.list muss drin stehen:
deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/debian bullseye stable
Ggf. muss dann der gpg-key noch reingeholt werden.
Davon abgesehen sollte man das auch per
sudo apt install influxdb
installieren können, liegt nämlich auch im Debian-Repo vor:
echad@chet:~ $ apt policy influxdb influxdb: Installed: (none) Candidate: 1.8.10-1 Version table: 1.8.10-1 500 500 https://repos.influxdata.com/debian bullseye/stable arm64 Packages 1.6.7~rc0-1+b5 500 500 http://deb.debian.org/debian bullseye/main arm64 Packages
-
@wolfgang1962 sagte in [HowTo] InfluxDB 2.1 auf Debian 11 (proxmox CT) installieren:
@crunchip
Da sich auf der neuen SD-Card also kein influxDB befindet, möchte ich die Datenbank installieren und bekomme das nicht hin, da die besherigen Anleitungen immer nur bis Debian 11 Buster behandeln....Auch hier der Hinweis auf die offizielle Dokumentation zu achten. Dort ist alles erklärt.
Download and install InfluxDB v2.1
Bitte daran denken dass die die 2er version der Influx eine völlig andere Struktur hat als die 1er. Die Verbindung mittels Grafana geht NICHT mehr per InfluxQL sondern per FLUX. Somit sind alle (ALLE!) vorhandenen Plots anzupassen !
Noch ein Hinweis:
Eine Datenbank auf eine SD-Karte laufen zu lassen ist sehr riskant und mMn nicht zu empfehlen ! -
@wolfgang1962 sagte in [HowTo] InfluxDB 2.1 auf Debian 11 (proxmox CT) installieren:
da die besherigen Anleitungen immer nur bis Debian 11 Buster behandeln....
einfach die offizielle Anleitung nehmen
-
@crunchip
An der Stelle evtl. von Belang:To run InfluxDB on Raspberry Pi, you need:
a Raspberry Pi 4+ or 400
a 64-bit operating system.
Raspberry OS ist standardmäßig ein 32-bit System.
-
@thomas-braun sagte in [HowTo] InfluxDB 2.1 auf Debian 11 (proxmox CT) installieren:
Raspberry OS ist standardmäßig ein 32-bit System.
ok, stimmt
dann könnte man aber auch ins Rasperry Forum gucken und wird fündig -
Zur Info.
Ich habe nun nach dem Jahreswechsel die Speicherung abgeändert von influxDB 1. auf 2.
Dabei habe ich lediglich die Einstellungen angepasst von der vorhandenen Adapter-Instanz influxdb.0, also die neue IP des neuen Containers angegeben und auf influxdb 2.x umgestellt.Vorteil:
- wenig Aufwand, alle Daten die geloggt wurden, werden weiterhin geloggt. Flot und ECharts funktionieren genau wie vorher (das gilt jedoch nicht für Grafana).
- neues sauberes System (Debian Container), kein Upgrade des vorhandenen Containers
Nachteil:
- Graphen zeigen nur den Verlauf ab der Umstellung. Man könnte aber alten Container starten, influxdb-Adapter darauf umstellen, um alte Daten nachzuschauen, wenn es mal sein müsste (noch nicht ausprobiert).
Nach dem Umstellen wurde Container erstmal an seine RAM-Grenze gebracht und der SWAP ging an100%. Hat sich aber wieder beruhigt:
-
@lobomau ich hab mir gestern/vorgestern das auch mal etwas angesehen, testweise nen neuen LXC mit v2 erstellt, jedoch bin ich da noch schwer am überlegen, den Schritt zu machen.
- klar, ist ungewohnt im ersten Moment, aber da blick ich fürs erste, nicht so richtig durch
- Neuanfang oder Upgrade, gibt ja auch Daten, die man Jahresübergreifend in Grafana haben möchte
- automatisches/manuelles upgrade der bestehenden Influx, ist mir jedoch zu aufwendig/kompliziert, glaub das muss ich noch paar Tage studieren
- Prometheus wird nicht direkt unterstützt, das heisst dann auch wieder umbauen und neue Dashboards
zumindest hab ich heute mal Grafana auf den neusten Stand gebracht( mit Hinternissen, da lief noch v7.5.11) musste lange googeln, da nach dem Upgrade der Grafana Server nicht mehr lief.
-
Habt ihr bei Flux schon verstanden, wie ich die Namen von Datenreihen ändern kann?
Also zB adapter0.wert1.januar zu Januar ändern?
Und falls ja wie sieht da die Abfrage als Code beispielhaft aus? Früher ging es wohl mit Alias by, aber ich habe es damit bisher noch nicht hinbekommen. Für Tipps bin ich dankbar!
-
kannst du mit map oder mit set machen
|> map(fn: (r) => ({ _value:r._value, _time:r._time, _field:"Januar" }))
siehe hier: https://docs.influxdata.com/flux/v0.x/stdlib/universe/map/
oder
|> set (key: "_field", value: "Januar")
siehe hier: https://docs.influxdata.com/flux/v0.x/stdlib/universe/set/
Für die Darstellung in Grafana würde ich aber die Overrides bevorzugen.
-
@ftd wie funktioniert das dann bei mehreren Datenreihen?
Per regex overrides hab ich es inzwischen auch hinbekommen in grafana
-
@fir3drag0n Ich nehme an, deine Abfrage heisst so in der Art?
from(bucket: "mein_kleines_bucket") |> filter(fn: (r) => r["_measurement"] == "adapter0.wert1.januar" or r["_measurement"] == "adapter0.wert1.februar") or r["_measurement"] == "adapter0.wert1.maerz")
Und du möchtest hier schon den Alias für jeden Monat setzen? Bei OR wird das nicht funktionieren... Flux weiss ja nun nicht, welches der 3 ODER es nehmen soll/darf. Du musst die Abfrage in 3 Abfragen aufteilen, wenn du hier schon den Alias setzen möchtest.
from(bucket: "mein_kleines_bucket") |> filter(fn: (r) => r["_measurement"] == " adapter0.wert1.januar") |> ... |> set (key: "_measurement", value: "Januar") from(bucket: "mein_kleines_bucket") |> filter(fn: (r) => r["_measurement"] == " adapter0.wert1.februar") |> ... |> set (key: "_measurement", value: "Februar") from(bucket: "mein_kleines_bucket") |> filter(fn: (r) => r["_measurement"] == " adapter0.wert1.maerz") |> ... |> set (key: "_measurement", value: "Maerz")
Meine Meinung: Viel zu viel Tippsel und Copy/Paste Arbeit. Wenn du so oder so mit Grafana schon warm bist, nimm die Overrides.
-
@ftd sagte in [HowTo] InfluxDB 2.1 auf Debian 11 (proxmox CT) installieren:
Meine Meinung: Viel zu viel Tippsel und Copy/Paste Arbeit. Wenn du so oder so mit Grafana schon warm bist, nimm die Overrides.
Tja genauso hab Ichs auch gemacht. Einfach Override und gut.
Die neue FLUX Verbindung ist ja noch beta Status. Ich hoffe das wird noch was ansonsten mpfh