Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Proxmox
    5. Proxmox / Influxdb V1 zu V2... wie?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Proxmox / Influxdb V1 zu V2... wie?

    This topic has been deleted. Only users with topic management privileges can see it.
    • SBorg
      SBorg Forum Testing Most Active @Negalein last edited by

      @negalein Jupp, wenn du mit einer InfluxDB arbeitest. Ich fahre zu Beginn lieber mal Zweigleisig, man weiß ja nie. Außerdem will ich die Influx auch von meinem NUC weg haben, deswegen läuft sie zuerst parallel auf meiner Synology im Docker, später nur noch dort.

      Laufen dann die Dashboard normal weiter, oder müssen die noch speziell auf V2 angepasst werden?

      Jein. Wenn du in der alten SQL-Sprache weitermachst läuft alles 1:1. Nutzt du die moderne, neuere Flux, musst du auch alle Dashboards/Widgets umstellen...

      Negalein 1 Reply Last reply Reply Quote 0
      • Negalein
        Negalein Global Moderator @SBorg last edited by

        @sborg sagte in Proxmox / Influxdb V1 zu V2... wie?:

        wenn du mit einer InfluxDB arbeitest.

        hab gerade InfluxDB V2 installiert.
        also auch Zweigleisig. 🙂

        Dann mach in ioB eine 2. Influx-Instanz, die ich für V2 verwende. Und dann zieh ich um?
        Beide Instanzen trotzdem derweil stoppen?

        SBorg 1 Reply Last reply Reply Quote 0
        • SBorg
          SBorg Forum Testing Most Active @Negalein last edited by

          @negalein sagte in Proxmox / Influxdb V1 zu V2... wie?:

          Und dann zieh ich um?

          Damit würde ich aktuell noch warten, außer du willst Skript und Statistik von Hand ändern. Die können ja mit Influx V2 so noch nichts anfangen. Du kannst aber bedenkenlos beide parallel laufen lassen. Es macht auch überhaupt nichts aus wenn du Werte von der V1 in die V2 umziehst die dort schon existieren. Da sie den selben Zeitstempel haben werden sie einfach mit dem selben Inhalt überschrieben.

          Oder du ziehst halt um, belässt Wetter so in der V1 und loggst das aber jetzt schon in die V2. Dann stellst du noch die restlichen Werte was du sonst noch loggst auf die V2 um. Kommt dann meine V3 brauchst du nur in der *.conf den Influx-Zugang ändern und kannst die V1 abschalten.
          Anhalten brauchst du nichts. Das kann alles im laufenden Betrieb geschehen. Wenn du direkt beides loggst verlierst du nicht mal paar Datensätze (siehe paar Zeilen weiter oben).

          Negalein 1 Reply Last reply Reply Quote 1
          • Negalein
            Negalein Global Moderator @SBorg last edited by

            @sborg sagte in Proxmox / Influxdb V1 zu V2... wie?:

            Oder du ziehst halt um, belässt Wetter so in der V1 und loggst das aber jetzt schon in die V2. Dann stellst du noch die restlichen Werte was du sonst noch loggst auf die V2 um. Kommt dann meine V3 brauchst du nur in der *.conf den Influx-Zugang ändern und kannst die V1 abschalten.

            so werde ich es machen.


            Steh aber gerade komplett an.

            Influx 1 ist auf Host A
            Influx 2 ist auf Host B

            Diese Anleitung ist für ein Upgrade auf 1 Host.

            Ich finde nichts, wie ich die Daten von A nach B bringe und sie dann in Influx 2 übernommen werden.

            @SBorg @ilovegym
            könnt ihr mir da weiterhelfen?

            1 Reply Last reply Reply Quote 0
            • Boronsbruder
              Boronsbruder @SBorg last edited by Boronsbruder

              @sborg said in Proxmox / Influxdb V1 zu V2... wie?:

              Bevor ich dann wieder die Syntax selbst vergesse, man kann auch den Zeitraum bei der Abfrage eingrenzen. ZB. auf die letzten 7 Tage 'SELECT * FROM "javascript.0.Wetterstation.Aussentemperatur" WHERE time>=now()-7d'
              Man kann also ohne Datenverlust umziehen oder migrieren (was ich wg. ev. Altlasten bei mir nicht tun werde = tabula rasa)

              @sborg Mit welchen Flags hast du exportiert?

              ich habe mal testweise den schon genannten

              influx -username dbuser -password xxyyzz123 -database iobroker -host localhost -execute 'SELECT * FROM "0_userdata.0.Wetterstation.Aussentemperatur"' -format csv -precision='rfc3339'> ./temperatur.csv
              

              benutzt
              und musste dann wegen Fehlermeldung bei importieren über das WebIF, den Umweg über die Console machen, wo ich die Spalten definieren musste, weil er mit dem Export-Header

              name,time,ack,from,q,value
              

              nix anfangen konnte

              influx write -b iobroker -f ./temperatur.csv --skipHeader=1 --header="name|measurement,time|dateTime:RFC3339,ack|boolean,from|string,q|double,value|double"
              

              Ist auch für dich @Negalein
              Auf Console Host 1 exportieren:

              influx -username dbuser -password xxyyzz123 -database iobroker -host localhost -execute 'SELECT * FROM "0_userdata.0.Wetterstation.Aussentemperatur"' -format csv -precision='rfc3339'> ./temperatur.csv
              

              File von Host 1auf Host 2

              Dann importieren:

              influx write -b iobroker -f ./temperatur.csv --skipHeader=1 --header="name|measurement,time|dateTime:RFC3339,ack|boolean,from|string,q|double,value|double"
              

              (Hier für die Aussentemperatur)

              Aber er meckerte bei mir rum, weil er die Spalten

              name,time,ack,from,q,value
              0_userdata.0.Wetterstation.Aussentemperatur,2022-01-31T00:00:29.043Z,false,system.adapter.simple-api.0,0,-1.88
              

              nicht richtig erkennt (er kann mit name nix anfangen), deswegen den Zusatz

              --header="name|measurement,time|dateTime:RFC3339,ack|boolean,from|string,q|double,value|double"
              

              um zu definieren, was was in welchem Format (z.B. ack|bool) ist.

              1 Reply Last reply Reply Quote 0
              • SBorg
                SBorg Forum Testing Most Active last edited by

                Ich bin ja bekennender "Faullist" 😊

                Auf Quellhost im Verzeichnis stehend was auch der Zielhost lesen kann:

                • Datei export.csv mit folgendem Inhalt angelegt
                  #datatype measurement,dateTime:RFC3339,boolean,string,double,double
                • danach jeweils ausgeführt [xxx] jeweils passend ersetzt; ohne die []:
                influx -database [DB-Name] -username [name] -password [passwort] -execute 'SELECT * FROM "javascript.0.Wetterstation.Aussentemperatur"' -format csv -precision='rfc3339' >> export.csv
                
                influx -database [DB-Name] -username [name] -password [passwort] -execute 'SELECT * FROM "javascript.0.Wetterstation.Wind_max"' -format csv -precision='rfc3339' >> export.csv
                
                influx -database [DB-Name] -username [name] -password [passwort] -execute 'SELECT * FROM "javascript.0.Wetterstation.Regen_Tag"' -format csv -precision='rfc3339' >> export.csv
                
                

                Ergebnis für 4 Jahre Daten: ca. 200MB - Datei
                Dauer bis hierhin < 1 Minute


                Zielhost, im Verzeichnis stehend wo der Export statt fand

                influx write -b [bucketname] -f export.csv
                

                Das hat nun etwa 3-4 Minuten gedauert und 3 Fehlerhafte Datensätze zu Tage gebracht --> Fertig

                Boronsbruder 2 Replies Last reply Reply Quote 0
                • Boronsbruder
                  Boronsbruder @SBorg last edited by Boronsbruder

                  @sborg said in Proxmox / Influxdb V1 zu V2... wie?:

                  Ich bin ja bekennender "Faullist"

                  warum nutzt du dann
                  SELECT FROM <measurement_name>,<measurement_name>
                  nicht ? 😉

                  MassiveAttack SBorg 2 Replies Last reply Reply Quote 0
                  • MassiveAttack
                    MassiveAttack @Boronsbruder last edited by

                    https://joshuamarvel.com/upgrade-influxdb-1-8-to-2-x-on-ubuntu-20-04/

                    Wer traut sich drüber? 🙂
                    Das müsste doch auch funktionieren, wenn man die Influx in einem Container laufen hat, oder?

                    wendy2702 Boronsbruder 2 Replies Last reply Reply Quote 0
                    • wendy2702
                      wendy2702 @MassiveAttack last edited by

                      @massiveattack sagte in Proxmox / Influxdb V1 zu V2... wie?:

                      https://joshuamarvel.com/upgrade-influxdb-1-8-to-2-x-on-ubuntu-20-04/

                      Wer traut sich drüber? 🙂
                      Das müsste doch auch funktionieren, wenn man die Influx in einem Container laufen hat, oder?

                      Teste ich die Tage mal.

                      Vorher Backup vom Container und es kann nichts passieren….. theoretisch

                      1 Reply Last reply Reply Quote 0
                      • Boronsbruder
                        Boronsbruder @MassiveAttack last edited by

                        @massiveattack
                        Geht aber nicht, wenn influxv1 auf host1 und auf host2 die influxv2 läuft 😉

                        MassiveAttack 1 Reply Last reply Reply Quote 0
                        • Boronsbruder
                          Boronsbruder @SBorg last edited by Boronsbruder

                          @sborg said in Proxmox / Influxdb V1 zu V2... wie?:

                          Das hat nun etwa 3-4 Minuten gedauert und 3 Fehlerhafte Datensätze zu Tage gebracht --> Fertig

                          Die Fehler kommen wahrscheinlich davon, dass er wenn du einen neuen Datensatz anhängst, er wieder den
                          name,time,ack,from,q,value
                          als Header reinschiebt.

                          Kann man mit einem eingeschobenen "| grep javascript.0" hier z.B. ausfiltern

                          influx -database [DB-Name] -username [name] -password [passwort] -execute 'SELECT * FROM "javascript.0.Wetterstation.Aussentemperatur"' -format csv -precision='rfc3339'  | grep javascript.0 >> export.csv
                          

                          Als Hinweis für alle:

                          Wenn ihr die influx auf tls/https laufen lasst, dann muss zum influx-write
                          --host https://localhost:8086 --skip-verify
                          hinzugefügt werden (der skip nur wenn das Zertifikat selbstsigniert ist). Port natürlich anpassen... Wichtig ist https

                          sonst wird nur
                          data: read tcp 127.0.0.1:47644->127.0.0.1:8086: read: connection reset by peer
                          gemeldet!

                          1 Reply Last reply Reply Quote 0
                          • MassiveAttack
                            MassiveAttack @Boronsbruder last edited by

                            @boronsbruder sagte in Proxmox / Influxdb V1 zu V2... wie?:

                            @massiveattack
                            Geht aber nicht, wenn influxv1 auf host1 und auf host2 die influxv2 läuft 😉

                            Logisch 😉
                            Wenn das upgrade aber so relativ easy durchgeht, kann ich gut damit leben

                            1 Reply Last reply Reply Quote 0
                            • SBorg
                              SBorg Forum Testing Most Active @Boronsbruder last edited by

                              @boronsbruder sagte in Proxmox / Influxdb V1 zu V2... wie?:

                              @sborg said in Proxmox / Influxdb V1 zu V2... wie?:

                              Ich bin ja bekennender "Faullist"

                              warum nutzt du dann
                              SELECT FROM <measurement_name>,<measurement_name>
                              nicht ? 😉

                              Ich komme noch aus der 16kb RAM Hauptspeicher und Diskettenära, da mussten die meisten Operationen mangels Speicher aufgeteilt werden. Das hat sich bis heute teilweise gehalten, obwohl es dank schneller Hardware und massig RAM nicht mehr nötig ist. Aber dank Linux einmal "Cursor hoch" + Wind_max/Regen_Tag müsste ich sowieso immer eintippen 😀

                              @boronsbruder sagte in Proxmox / Influxdb V1 zu V2... wie?:

                              Kann man mit einem eingeschobenen "| grep javascript.0" hier z.B. ausfiltern

                              Guter Ansatz, funktioniert so aber auch nicht, außer du lässt es beim 1. Aufruf weg. Einmal wollen/müssen wir es ja haben 😉

                              Die "Killervariante" für die Doku (Danke für den https-Hinweis, nehme ich dann mit auf):

                              echo '#datatype measurement,dateTime:RFC3339,boolean,string,double,double' > export.csv && influx -database [DB-name] -username  [username] -password [passwort] -execute 'SELECT * FROM  "javascript.0.Wetterstation.Aussentemperatur","javascript.0.Wetterstation.Regen_Tag","javascript.0.Wetterstation.Wind_max"' -format csv -precision='rfc3339' >> export.csv
                              
                              Boronsbruder 1 Reply Last reply Reply Quote 1
                              • Negalein
                                Negalein Global Moderator last edited by

                                ich steh komplett an.
                                Check es nicht, wie ich die Daten 1:1 von Host A nach Host B bekomme.
                                Und sie dann in Influx 2 einspiele!

                                Boronsbruder 1 Reply Last reply Reply Quote 0
                                • Boronsbruder
                                  Boronsbruder @Negalein last edited by

                                  @negalein

                                  1. auf Host 1:
                                    Exportieren: hier z.B die Datenpunkte
                                  • javascript.0.Wetterstation.Aussentemperatur
                                  • javascript.0.Wetterstation.Regen_Tag
                                  • javascript.0.Wetterstation.Wind_max

                                  Mit folgendem Kommando

                                  echo '#datatype measurement,dateTime:RFC3339,boolean,string,double,double' > export.csv && influx -database [DB-name] -username [username] -password [passwort] -execute 'SELECT * FROM "javascript.0.Wetterstation.Aussentemperatur","javascript.0.Wetterstation.Regen_Tag","javascript.0.Wetterstation.Wind_max"' -format csv -precision='rfc3339' >> export.csv 
                                  
                                  1. Die export.csv rüber auf Host2 kopieren
                                  2. Auf Host 2 mit
                                  influx write -b [DATENBANKNAME] -f ./export.csv 
                                  

                                  (Datenbank ist in v2 = bucket) importieren

                                  Negalein 1 Reply Last reply Reply Quote 0
                                  • Boronsbruder
                                    Boronsbruder @SBorg last edited by Boronsbruder

                                    @sborg said in Proxmox / Influxdb V1 zu V2... wie?:

                                    Guter Ansatz, funktioniert so aber auch nicht, außer du lässt es beim 1. Aufruf weg. Einmal wollen/müssen wir es ja haben

                                    @Sborg
                                    Nein. wollen wir nicht, da wir die export.csv mit dem Header vorbereiten 😉

                                    Ohne grep:

                                    #datatype measurement,dateTime:RFC3339,boolean,string,double,double
                                    name,time,ack,from,q,value
                                    0_userdata.0.Wetterstation.DP100.1.Bodenfeuchtigkeit,2022-12-31T12:11:44.427Z,true,system.adapter.simple-api.0,0,15
                                    

                                    Also, bei mir halt...

                                    SBorg 1 Reply Last reply Reply Quote 0
                                    • da_Woody
                                      da_Woody last edited by da_Woody

                                      @boronsbruder da gehts ja nicht nur um die wetterstation, sondern um alle.
                                      hab auch gerade getestet mit influxdb-studio. kann mich damit nicht einloggen.
                                      einen seltsamen alias eintrag in der DB (bucket), den ich nie angelegt habe. erst heute in der früh influx2 installiert.
                                      61be48e7-d329-49ab-86d5-6df5055babb0-grafik.png

                                      1 Reply Last reply Reply Quote 0
                                      • SBorg
                                        SBorg Forum Testing Most Active @Boronsbruder last edited by

                                        @boronsbruder So wäre es ja auch richtig. Wenn du aber den grep bei allen drei Aufrufen tätigst, wird es Zeile #2 nie geben 😉

                                        Zeile #1 erzeugen wir ja per Hand, #3 + folgende dann der Export-Befehl.

                                        Aufruf #1 müsste also ohne grep erfolgen, #2 und #3 dann mit.

                                        1 Reply Last reply Reply Quote 0
                                        • Negalein
                                          Negalein Global Moderator @Boronsbruder last edited by

                                          @boronsbruder sagte in Proxmox / Influxdb V1 zu V2... wie?:

                                          Exportieren: hier z.B die Datenpunkte

                                          Danke
                                          Also für jeden DP eine eigene .csv?

                                          Das ist ja eine Arbeit für mehrere Tage.
                                          Gibt es keine Möglichkeit, die komplette DB zu exportieren und in V2 wieder zu importieren?

                                          wendy2702 1 Reply Last reply Reply Quote 0
                                          • wendy2702
                                            wendy2702 @Negalein last edited by

                                            @negalein Sollte das nicht hiermit einfacher gehen:

                                            https://docs.influxdata.com/influxdb/v2.6/upgrade/v1-to-v2/manual-upgrade/#migrate-time-series-data

                                            Negalein 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            910
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            20
                                            221
                                            25680
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo