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.
    • 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
                                    • Boronsbruder
                                      Boronsbruder last edited by Boronsbruder

                                      @sborg
                                      ja, die brauchen wir ja auch nicht, da wir ihm
                                      ja mit dem Header mitgeben, dass der

                                      • 1.Wert das meassurement
                                      • der 2.Wert, die Zeit ist,
                                      • usw.

                                      Die Zeilen bestehen immer aus der gleichen Anzahl von komma-getrennten Werten

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

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

                                        Sollte das nicht hiermit einfacher gehen:

                                        Danke
                                        Ja, schaut aus dass man hier die komplette DB bekommt.

                                        Aber was sind buckets?

                                        Repeat steps 1-2 for each bucket

                                        da_Woody ? 2 Replies Last reply Reply Quote 0
                                        • da_Woody
                                          da_Woody @Negalein last edited by

                                          @negalein IMHO sind die buckets die DBs...

                                          1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User @Negalein last edited by

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

                                            Aber was sind buckets?

                                            Moin,

                                            A bucket is a named location where time series data is stored. All buckets have a retention period, a duration of time that each data point persists. InfluxDB drops all points with timestamps older than the bucket’s retention period. A bucket belongs to an organization.
                                            

                                            Siehe Manage Buckets

                                            VG
                                            Bernd

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            802
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            20
                                            221
                                            25234
                                            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