NEWS
Test Adapter influxdb 2.0
-
@kueppert Beim Testen von komplett neuen Adaptern und auch von Datenbanken würde ich immer empfehlen ein Testsystem aufzusetzen. Mach eine "Kopie" von deinem Produktivsystem und schon kann es losgehen. Dann brauchst du auch keine Sorge um deine Daten haben. Erstelle auch von deinem Testsystem Backups, so dass du schnell wieder zum letzten lauffähigen Stand zurück kannst.
-
@apollon77 @Excodibur Ich hab mir einen frischen LXC mit influx 2.0.7 aufgesetzt und gerade einmal den influxdb Adapter 2.0.0 über die Github Katze installiert.
Dabei kommen folgende Warnungen bei der Installation. Sind die Warnungen bekannt?
$ iobroker url https://github.com/ioBroker/ioBroker.influxdb/tarball/master --host ioBrokerTestsystem --debug install ioBroker/ioBroker.influxdb#master NPM version: 6.14.13 npm install ioBroker/ioBroker.influxdb#master --prefix "/opt/iobroker" (System call) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor):npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) + iobroker.influxdb@2.0.0added 2 packages from 1 contributor and updated 3 packages in 43.356s 49 packages are looking for funding run `npm fund` for details upload [15] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/words.js words.js application/javascript upload [14] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/jsonCustom.json jsonCustom.json application/json upload [13] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/jsonConfig.json jsonConfig.json application/json upload [12] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/influxdb.png influxdb.png image/png upload [11] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/index_m.html index_m.html text/html upload [10] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/i18n/zh-cn/translations.json i18n/zh-cn/translations.json application/json upload [9] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/i18n/ru/translations.json i18n/ru/translations.json application/json upload [8] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/i18n/pt/translations.json i18n/pt/translations.json application/json upload [7] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/i18n/pl/translations.json i18n/pl/translations.json application/json upload [6] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/i18n/nl/translations.json i18n/nl/translations.json application/json upload [5] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/i18n/it/translations.json i18n/it/translations.json application/json upload [4] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/i18n/fr/translations.json i18n/fr/translations.json application/json upload [3] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/i18n/es/translations.json i18n/es/translations.json application/json upload [2] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/i18n/en/translations.json i18n/en/translations.json application/json upload [1] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/i18n/de/translations.json i18n/de/translations.json application/json upload [0] influxdb.admin /opt/iobroker/node_modules/iobroker.influxdb/admin/custom_m.html custom_m.html text/html Update "system.adapter.influxdb.0" Process exited with code 0
Ich sehe in der influx UI jetzt auch meine Datenpunkte welche geloggt werden sollen. Ob dies wirklich passiert versuche ich gerade herauszufinden
Wenn ich auf Verbindung testen gehe kommt folgender Dialoag:
Ich habe den Token von dem User einfügt, welcher bei der initialen Einrichtung angelegt wurde:
-
@feuersturm Die Warnungen sind eher normal von deinem System und nicht so vom Adapter
Zu dem "Unauthorized": Hm ... was steht so im Log sonst?
-
@apollon77
Ich hab den influx Adapter mal auf Debug Level gestellt und wenn ich den Button für den Verbindungstest drücke kommt:influxdb.0 2021-07-02 00:17:37.004 debug PING OK influxdb.0 2021-07-02 00:17:29.186 debug sendTo "test" to system.adapter.admin.0 from system.adapter.influxdb.0 influxdb.0 2021-07-02 00:17:29.039 debug TEST DB Version: undefined influxdb.0 2021-07-02 00:17:29.034 debug Incoming message test from system.adapter.admin.0 influxdb.0 2021-07-02 00:17:22.005 debug PING OK
Admin 5.1.9 ist im Einsatz.
-
Danke für deine Testversuche!
Es scheint als wäre der "Verbindung testen" Button in der Admin 5 Oberfläche noch buggy. Bei mir funktioniert der Verbindungstest dort aktuell leider auch noch nicht, obwohl die richtigen Verbindungsdaten eingetragen sind. Wenn man die Einstellungen speichert, sollte der Adapter sich aber erfolgreich verbinden können. In der alten Admin 4 Oberfläche funktioniert "Verbindung testen" wie erwartet.
Zudem ist die Flexibilität beim Usermanagement für Influx 2.0 (zumindest mit dem aktuellen Adapter-Code) noch nicht ganz ausgereift: Wenn es um Zugangsdaten geht,
-
am Besten (aktuell) die Organisation auswählen, unter der die Datenbank (in Influx 2 "Bucket") liegen soll. Verfügbare Organisationen kann man via Influx CLI auch per influx org list sehen. Das Anlegen und Verwenden weiterer Organisation müsste ebenfalls gehen.
-
als Auth-Token funktioniert im Moment fehlerfrei nur das bereits per Default existierende Super-Admin-Token, welches nicht mit der Organisation verknüpft ist. Alle Tokens kann man mit influx auth list sehen. Dort den (meistens ersten) Eintrag mit der längsten Berechtigungsliste nehmen.
- Versucht man es stattdessen mit eigens angelegten Nutzern und Tokens, hängt anscheinend in den Berechtigungen immer die ID der Organisation mit drin, was prinzipiell zwecks Zugriffsbeschränkung auf Influx-Ebene gut ist, aber dann funktioniert (zumindest aktuell) beim Verbindungsversuch das Abrufen der Organisationsdaten nicht um man kriegt eine Fehlermeldung TypeError: Cannot read property 'id' of undefined.
Beide Probleme sollten natürlich noch behoben werden, sobald Ingo oder ich die Zeit finden.
-
-
@excodibur sagte in Test Adapter influxdb 2.0:
Bei mir funktioniert der Verbindungstest dort aktuell leider auch noch nicht, obwohl die richtigen Verbindungsdaten eingetragen sind. Wenn man die Einstellungen speichert, sollte der Adapter sich aber erfolgreich verbinden können. In der alten Admin 4 Oberfläche funktioniert "Verbindung testen" wie erwartet.
Danke für deine Rückmeldung. Ist das hier ein Thema für Admin5 oder für den influx Adapter?
-
@feuersturm
Nee definitiv liegt es am influxdb adapter. Ich sehe auch die Code-Stelle an der es hängt.Idealerweise sollte wir alle Funde mit Issue direkt im Influx-Adapter Github Repo tracken, sodass Ingo oder ich direkt dran arbeiten können. In diesem Fall würde ich das aber schon selbst mitnehmen.
-
@excodibur issues anlegen ist kein Problem. Bin noch influx Anfänger, daher wollte ich erstmal hier fragen ob es ein Konfigurationsproblem bei mir ist oder ein Bug.
-
Ich habe übrigens auch den Admin-Adapter 5 (5.1.9) im Einsatz und den neuen InfluxDB Adapter (2.0.0) und kann über den Button "Verbindung testen" erfolgreich eine Verbindung zu meiner InfluxDB 2.0 herstellen. Das Popup mit dem Test-Ergebnis ist zwar optisch etwas "mager" aber es zeigt immerhin eine erfolgreiche Verbindung an ("OK").
P.S. node.js 14.17.2
-
@maeb3 Hi, hast du die neue React UI in Betrieb oder noch die alte Ansicht?
-
@feuersturm Die alte Ansicht
-
@maeb3 ok. Der Fehler tritt nur mit der neuen Ui auf.
-
@Excodibur Das Löschen der Daten in der Datenbank funktioniert auch nicht: https://github.com/ioBroker/ioBroker.influxdb/issues/119
-
@feuersturm Wi ebeschrieben ist das eher ein "Neues Admin 5 Feature was aktuell nur sql kann" Hab Dein Issue angepasst, würde ich aber eher im zweiten Schritt sehen
-
@apollon77 oder @Excodibur
wird mit dem neuen Adapter das Problem mit der Vorhaltezeit gelöst?
https://forum.iobroker.net/topic/43128/influx-adapter-vorhaltezeit-bug?_=1625283496188
https://github.com/ioBroker/ioBroker.influxdb/issues/29 -
@stenmic ich denke diese Frage geht eher an @apollon77 oder @Excodibur
-
@feuersturm upps, da hast du recht
-
@stenmic Mit dem aktuellen Release geht es erst einmal darum eine grundlegende Unterstützung für InfluxDB 2 zu schaffen.
Die Möglichkeit verschiedene Retention-Policies (wie im Ticket beschrieben) je nach Datenpunkt zu nutzen, sieht für mich auf den ersten Blick technisch machbar aus (zumindest mit Influx 2.0), allerdings steckt da augenscheinlich einiges an zusätzlicher Arbeit drin:
- Man muss ggf. im Adapter die Konfigurationsseiten "aufbohren", damit man verschiedene Retention-Policies per Datenbank/Bucket pflegen (hinzufügen, ändern, entfernen) kann.
- Da der Adapter mit dem neuen Release zwei völlig unterschiedliche Bibliotheken zum Zugriff auf Influx 1/2 nutzt, müsste man "im Hintergrund" die Logik zweimal implementieren. in der Hoffnung natürlich, dass das Konzept bei beiden DB-Versionen auch gleich umgesetzt wurde, da es ansonsten für den normalen Nutzer bzgl. Adapter-Konfiguration zu komplex wird.
- Wenn es pro Datenpunkt einstellbar sein soll, muss man da auch nochmal an den Konfigurationsseiten Einiges optimieren.
Alles in allem denke ich, dass es sich hierbei um ein zustätzliches Wunsch-Feature handelt, das man sich nochmal separat anschauen muss. Interessant ist es auf jeden Fall.
-
@excodibur für mich wäre das kein Wunsch, sondern eher eine Pflichtfunktion.
Zusammenfassung der Probleme:
Beim alten Adapter werden alle Werte aus der Datenbank gelöscht die älter als ein Jahr sind.
Beim alten Adapter spielt es überhaupt keine Rolle was man in der Vorhaltezeit einstellt.Wäre super, wenn du da eine Lösung findest.
-
@stenmic
Danke für diese Erklärung. Habe mich die ganze Zeit gefragt für was ein Wechsel auf 2.0 lohnenswert wäre?
Gibt es noch weitere pros und contra?
CPU Last oder sonstiges.