NEWS
Test Adapter influxdb 2.0
-
@sebi85 Du hast hier gelesen das das Logging Format zwischen 2.0 und 2.1 geändert wurde?? Scroll mal ein paar Tage hoch hier in diesem thread
-
@apollon77 ich hatte "nur" die Changelog im Fokus, da hatte ich keinen Hinweis auf eine Änderung des Logformats gesehen.
Danke für den Hinweis, dann versuche ich mal die Daten irgendwie zu aggregieren.
-
Ok,
der wunderbare @Excodibur hat Euch @sebi85 und @sunny1081 erhört und für InfluxDB 2 eine Einstellung eingeführt mit der man wählen kann wie die Daten abgelegt werden sollen. Im GitHub Readme stehen auch Infos dazu.
Also könntet Ihr jetzt die Daten die euch die 2.1 "falsch" reingeschrieben hat wegwerfen oder irgendwie umstellen (sorry das macht der Adapter nicht für euch). Das neue mit der Einstellung müsste mit dem Format der 2.0 identisch sein.
Oder Ihr fangt nochmal mit einer leeren DB an und schaut wie Ihr die alten Daten reinbekommt.Bitte versucht es mal. Das neue ist erstmal auf GitHub: Von dort installieren und danach manuell Adapter neu starten. Dann in die Settings und unter "Erweiterte Einstellungen" das neue aktivieren. Bitte Feedback geben. Der Adapter checks das Format der existierenden Daten und meckert gegebenenfalls.
-
Die Doku zu dem Feature findet ihr hier: https://github.com/ioBroker/ioBroker.influxdb/blob/master/README.md#Store-metadata-information-as-tags-instead-of-fields
Das funktioniert nur bei Influx 2, d.h. ihr sollte dann in der Adapter Konfiguration die Verwendung von Tags per Checkbox aktivieren können. Wie von Apollon beschrieben, funktioniert das nicht mit alten DBs, die q, from und ack noch in fields speichern. Der Adapter gibt dann in dem Fall eine Fehlermeldung aus und stoppt. Am einfachsten mit einer neuen, leeren DB testen.
-
@excodibur Besten Dank dafür, es funktioniert.
Nur den alten Bucket konnte ich nicht nutzen. Wie wird den ausgemacht ob bereits TAGS genutzt wurden. Initial wurden den Daten mit TAGS geschrieben und dann einige wenige Tage mit Feldern, kann jetzt aber nicht mit TAGS weiter schreiben.
-
@sunny1081 soweit ich weiß so:
Mit fieldKeys und tagKeys kann man das Schema untersuchen. Wenn der Adapter da sieht, das für q, from, ack tags oder fields benutzt wurden, gibt der ggf einen error aus
Reicht das? Sonst muss @Excodibur mehr sagen welche Magie er da gebaut hat.
-
Hmm mit V2.2.20 ist irgendwie die Haltezeit der Daten verschwunden...???
-
@ilovegym dann ließ mal Changelog. Das tat noch nie auf Datenpunkt Ebene und daher haben wir es mit der 2.0 dort rausgeworfen. Geht nur auf dB Ebene - da tut es aber jetzt was auch vorher nie tat
-
@apollon77 ach das war das.. gelesen, vergessen, gewundert...
-
@apollon77 said in Test Adapter influxdb 2.0:
Ich sage jetzt mal frech: Versucht es doch mal ... und schreibt es for uns und die anderen auf. Ich denke "adapter stoppen, updaten, Konfig ändern (ip, port, settings) und starten sollte es sein
Sorry für die späte Rückmeldung. Ich hab die Migration etwas hinausgezögert und wollte das in aller Ruhe machen. Das Mistwetter bietet sich nun dafür an.
Lange Rede: Ich hab heute erfolgreich von v1 auf v2 manuell migriert. Bei mir läuft influxdb als Docker Container auf einer Synology. Hier meine Schritte:
-
Docker Container v2 erstellen, aber noch nicht starten - Umgebungsvariablen passend für setup setzen, z.B.:
DOCKER_INFLUXDB_INIT_MODE: setup
DOCKER_INFLUXDB_INIT_BUCKET: iobroker
DOCKER_INFLUXDB_INIT_ORG: iobroker
DOCKER_INFLUXDB_INIT_USERNAME: iobroker
DOCKER_INFLUXDB_INIT_PASSWORD: iobroker -
optional: Aktuelle v1 DB mit BackItUp sichern (optional, da wir sowieso einen neuen Docker Container für v2 anlegen und damit v1 als Backup vorhanden bleibt)
-
influxDB Instanz stoppen
-
Im Terminal von Docker Container v1 Datenbank exportieren:
service influxdb stop
influx_inspect export -waldir /var/lib/influxdb/wal -datadir /var/lib/influxdb/data -database "iobroker" -retention "autogen" -out /var/lib/influxdb/export.db -lponly -
Docker Container v1 stoppen
-
Docker Container v2 starten und setup abwarten
-
export.db in den gemounteten Data-Ordner Docker Container v2 verschieben
-
Im Terminmal von Docker Containver v2 export db importieren:
influx write --bucket iobroker --file /var/lib/influxdb2/export.db -
influxDB Instanz auf 2.x ändern, token eingeben und starten
Die export.db war bei mir fast 10 GByte groß, entsprechend hat der Import gute 1,5 Stunden gedauert, der Export ging mit ca. 10 min deutlich schneller.
Meine Motivation für die Migration war übrigens, dass flux nach Kalendermonaten und Jahren Daten aggregieren kann. Allerdings gibt es bereits einen ersten Wermutstropfen: flux kann aktuell keine Zeitzonen bei der Datenaggregierung. Damit sind die aggregierten Werte leicht falsch, was v.a. bei den Tageswerten deutlich spürbar ist, bei den Monatswerten weniger ins Gewicht fällt. Workaround wäre, für die Tageswerte mit influxql weiterzuarbeiten, allerdings bekomme ich grad die v1 Authentifizierung nicht hin, oder mit fixen timeshifts zu arbeiten, was aufgrund der Zeitumstellung blöd ist.
Insgesamt bin ich aber froh, dass es dann doch so reibungslos funktioniert hat. Leider hat Grafana noch kein QueryBuilder für flux, aber gut.
Danke für den tollen Support hier.
-
-
@sputnik24 Vor der Umstellung graut mir noch ein bissl meine v1-db hat gerade auf der platte 54GB ... keine ahnung was das als export file wird. Was hatte deine denn auf der platte wo 10GB export drauf wurden?
-
@apollon77 Autsch. Bei mir hatte /var/lib/influxdb 658 MByte
-
@sputnik24 Krass ... Faktor fast 20? wtf
Mein ioBroker hat 34GB ... mit faktor 20 also ca. 600GB
Na dann überlege ich mal wie ich das storage technisch mache :-)) Oder ich muss zeitraummässig migrierenWieviel ists eigentlich nach der Migration auf Platte? Auch grob die 658MB?
aahh man kann das File auch compressen ... kannst du mal ein "gzip 10GBfile" machen und sagen was rauskommt?
-
-
Hallo Zusammen,
habe vor ca. 2-3 Wochen meine alte Influx DB 1.8.3 aufgegeben, Influx 2.x neu aufgesetzt (Proxmox Container) und den Adapter installiert.
Ich habe seitdem allerdings Probleme mit dem Adapter oder der Datenbank selber. Die Daten werden zwar geschrieben und sind in der Datenbank vorhanden, aber der Adapter verliert regelmäßig den Kontakt.Ich hatte zuerst gehofft das Problem behebt sich von alleine durch die fleißigen Fehlerkorrekturen. Aber bisher leider nicht.
P.s. ich habe ergänzend das Problem, dass ich auch aus der Oberfläche von influxdb (siehe Bild) automatisch und schnell rausgeschmissen werde. ggf. liegt das Problem also auch bei Influx und nicht dem Adapter. Bin mir aber nicht sicher wie ich das überprüfen könnte.
Hat einer ähnliche Probleme oder eine Lösung?
2021-09-02 06:13:56.095 - error: influxdb.0 (339) Error during ping: Error: connect ECONNREFUSED 192.168.2.209:8086. Attempting reconnect. 2021-09-02 06:14:06.095 - info: influxdb.0 (339) Connecting http://192.168.2.209:8086 ... 2021-09-02 06:14:06.095 - info: influxdb.0 (339) Influx DB Version used: 2.x 2021-09-02 06:14:06.097 - error: influxdb.0 (339) Error: connect ECONNREFUSED 192.168.2.209:8086 2021-09-02 06:14:16.097 - info: influxdb.0 (339) Connecting http://192.168.2.209:8086 ... 2021-09-02 06:14:16.098 - info: influxdb.0 (339) Influx DB Version used: 2.x 2021-09-02 06:14:16.099 - error: influxdb.0 (339) Error: connect ECONNREFUSED 192.168.2.209:8086 2021-09-02 06:14:26.099 - info: influxdb.0 (339) Connecting http://192.168.2.209:8086 ... 2021-09-02 06:14:26.099 - info: influxdb.0 (339) Influx DB Version used: 2.x 2021-09-02 06:14:26.107 - info: influxdb.0 (339) Applying retention policy for iobroker to 63072000 seconds. Shard Group Duration (calculated): 604800 seconds 2021-09-02 06:14:26.169 - info: influxdb.0 (339) Connected!
-
@robbsen Naja ich würde jetzt mal Fragen "Was steht denn im Influxdb log?" ECONNREFUSED heist dad Influxdb die Verbindung ablehnt
-
@excodibur mir ist aufgefallen, dass bei mir die Einstellung "log changes intervals" nur greift wenn der Haken bei "Nur Änderungen aufzeichnen" aktiviert ist (was ja auch Sinn macht, wenn von euch so gewollt).
Jedoch sollte dann das Feld inaktiv sein, wenn der Haken nicht gesetzt wurde. -
@stenmic beides Korrekt. Legst uns bitte ein GitHub issue an? Gleiches gilt auch für min Change Value und so
-
@apollon77 eben gemacht
-
Hallo Allerseits,
Im Admin Interface bei den Objekten kann man sich ja die gespeicherten Daten hinter dem Tab "Verlaufsdaten" als Tabelle bzw. bei "Diagramm" als Linie mit Fläche anzeigen lassen.
Bei diesem Diagramm hab ich beobachtet, dass die 2. Hälfte des Diagramms nicht als Teil der Linie und Fläche dargestellt werden, sondern nur bei Mouseover als Punkt mit Popup sichtbar werden:
Ich dachte ursprünglich, die unsichtbaren Daten wären jener Teil, der noch nicht in die influxdb geschrieben wurden (Einstellungen Schreibintervall & "Schreibaktionen zusammenfassen") - Aber auch wenn ein deutlich in der Vergangenheit liegendes Intervall auswähle, fehlt die 2. Hälfte des Diagramms.