Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. InfluxDB - Daten weg / Wiederherstellung [gelöst]

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    InfluxDB - Daten weg / Wiederherstellung [gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Naturfreund last edited by Naturfreund

      Bei der Wiederherstellung der InfluxDB bekomme ich folgende Fehlermeldung:

      Started restore ...
      [DEBUG] [influxDB] - Try deleting the old InfluxDB tmp directory
      [DEBUG] [influxDB] - InfluxDB old tmp directory was successfully deleted
      [DEBUG] [influxDB] - Created tmp directory
      [DEBUG] [influxDB] - Start infuxDB Restore ...
      [DEBUG] [influxDB] - influxdb.0 is stopped
      [ERROR] [influxDB] - Error: ENOENT: no such file or directory, utime '/opt/iobroker/backups/influxDBtmp/20230122T070121Z.s894.tar.gz'
      [ERROR] [influxDB] - infuxDB Restore not completed
      [EXIT] 0
      

      Terminal sagt folgendes:

      pi@raspberrypi:~ $ cd /opt/iobroker/backups/
      pi@raspberrypi:/opt/iobroker/backups $ dir
      pi@raspberrypi:/opt/iobroker/backups $
      

      Verzeichnis leer.
      Was geht hier schief? Backup-Datei liegt auf der NAS. Sollte er die nicht erst in das Verzeichnis kopieren und dann das Backup ausführen?

      Thomas Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @Naturfreund last edited by

        @naturfreund sagte in InfluxDB - Daten weg / Wiederherstellung:

        Sollte er die nicht erst in das Verzeichnis kopieren

        Nein, es wird nicht kopiert sondern das Dateisystem wird auf dem Mountpunkt eingehängt.

        N 1 Reply Last reply Reply Quote 0
        • N
          Naturfreund @Thomas Braun last edited by

          @thomas-braun

          Started restore ...
          [DEBUG] [influxDB] - Try deleting the old InfluxDB tmp directory
          [DEBUG] [influxDB] - InfluxDB old tmp directory was successfully deleted
          [DEBUG] [influxDB] - Created tmp directory
          [DEBUG] [influxDB] - Start infuxDB Restore ...
          [ERROR] [influxDB] - /bin/sh: 1: influxd: not found
          
          [DEBUG] [influxDB] - Try deleting the InfluxDB tmp directory
          [DEBUG] [influxDB] - InfluxDB tmp directory was successfully deleted
          [DEBUG] [influxDB] - infuxDB Restore completed successfully
          [EXIT] influxDB restore done
          

          Scheint jetzt geklappt zu haben.

          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @Naturfreund last edited by

            @naturfreund

            Da ist influx wohl nicht lokal installiert.

            1 Reply Last reply Reply Quote 0
            • N
              Naturfreund last edited by

              @thomas-braun

              Da hast du recht. Das hab ich gerade nachgeholt.

              1 Reply Last reply Reply Quote 0
              • N
                Naturfreund last edited by

                influx ist installiert
                grafana ist installiert

                influx Datenbank importiert (Scheint auch Daten zu enthalten, Stichprobe mit einem Datenpunkt)

                d9cfdd93-74cc-4984-b9e2-3633bb58dd12-image.png

                Was noch fehlt ist ein Backup von Grafana. Das muss ich mir noch von der alten SD Karte holen. Mache ich heute Abend wenn die Kinder im Bett liegen.

                1 Reply Last reply Reply Quote 0
                • N
                  Naturfreund last edited by Naturfreund

                  Habe die Dashboards wieder hergestellt. Scheint auch funktioniert zu haben.
                  Leider holt er für die eingetragenen Datenpunkte keine Daten aus der Influx Datenbank, die Dashboards bleiben leer:

                  ed4454ed-ce14-4a12-b1c3-a4d02af41dd3-image.png

                  Erst wenn ich den Datenpunkt mit gleichem Namen nochmal auswähle...

                  a5ecf1b6-cdca-4a44-9599-ef38b209b084-image.png

                  ...kommen die Daten:

                  a8e6bf83-7a9d-4ed3-9c88-651dfddae7e1-image.png

                  1 Reply Last reply Reply Quote 0
                  • N
                    Naturfreund last edited by

                    Zu früh gefreut, heute kam folgender Eintrag im ioBroker Log:

                    influxdb.0 2023-01-23 11:28:10.662	error	Error: ESOCKETTIMEDOUT
                    influxdb.0 2023-01-23 11:28:10.661	error	getHistory: Error: ESOCKETTIMEDOUT
                    
                    1 Reply Last reply Reply Quote 0
                    • N
                      Naturfreund last edited by Naturfreund

                      Hatte heute doch noch ein Netzwerkproblem gefunden. Ein Powerline Adapter machte ungewöhnlich starke Probleme (Heute ab 18 Uhr). Hatte ich so vorher noch nie gehabt.

                      Mein Log ist voll davon (Der ESP8266 ist über WLAN mit genau diesem Adapter verbunden... oder auch nicht 😉 )

                      2023-01-23 18:19:20.163 - info: mqtt.0 (959) Client [ESP8266Client-790e] connected with secret *
                      2023-01-23 18:19:21.158 - info: shelly.0 (1057) [MQTT] Device 192.168.1.130 (shelly1 / shelly1-68C63AFAFEAB / SHSW-1#68C63AFAFEAB#1) connected! Polltime set to 5 sec.
                      2023-01-23 18:19:57.677 - info: mqtt.0 (959) Client [ESP8266Client-790e] connection closed: timeout
                      2023-01-23 18:21:26.190 - info: influxdb.0 (141035) Store 1001 buffered influxDB history points
                      2023-01-23 18:21:27.964 - info: shelly.0 (1057) [MQTT] Device 192.168.1.110 (shellyht / shellyht-F4483E / SHHT-1#F4483E#1) connected! Polltime set to 5 sec.
                      2023-01-23 18:22:01.574 - info: mqtt.0 (959) Client [ESP8266Client-85f6] connected with secret *
                      2023-01-23 18:22:24.100 - info: mqtt.0 (959) Client [ESP8266Client-85f6] connection closed: timeout
                      2023-01-23 18:23:31.491 - info: mqtt.0 (959) Client [ESP8266Client-b49f] connected with secret *
                      2023-01-23 18:23:53.994 - info: mqtt.0 (959) Client [ESP8266Client-b49f] connection closed: timeout
                      2023-01-23 18:24:24.048 - info: influxdb.0 (141035) Store 1001 buffered influxDB history points
                      2023-01-23 18:24:36.669 - info: shelly.0 (1057) [MQTT] Device 192.168.1.112 (shellyht / shellyht-A4CF12F44435 / SHHT-1#A4CF12F44435#1) connected! Polltime set to 5 sec.
                      2023-01-23 18:25:49.622 - info: mqtt.0 (959) Client [ESP8266Client-589] connected with secret *
                      2023-01-23 18:26:12.128 - info: mqtt.0 (959) Client [ESP8266Client-589] connection closed: timeout
                      2023-01-23 18:26:19.188 - info: mqtt.0 (959) Client [ESP8266Client-ec93] connected with secret *
                      

                      Ich hab jetzt alle Adapter auf die gleiche Phase geklemmt (Stromkreise im Hausanschlusskasten getauscht). Das hat immer schon mal die ständigen Netzwerkabbrüche verhindert. Die Datenrate zu dem Adapter ist trotzdem "nicht gut" bzw. nicht wie erwartet gestiegen. Support ist bereits kontaktiert.

                      1 Reply Last reply Reply Quote 0
                      • N
                        Naturfreund last edited by Naturfreund

                        @crunchip @Glasfaser

                        Habe heute 2 alte Backups wieder gestellt. In dem Zeitraum in dem in der "Live" Datenbank die Daten fehlen, sind in beiden jeweils Abschnitte mit Daten enthalten die ich gerne zurückholen würde. Zum besseren Verständnis hab ich in Grafana eine Gegenüberstellung am Beispiel einer Temperatur (Vorlauftemperatur meiner Heizung) gemacht:

                        fe7190a5-eea2-483a-87fb-e4cd95ae3286-image.png

                        Geht das mit der Methode von marc-berg nur wenn ich die Datenbank auf 2.0 migriert habe? Oder gibt es auch eine Möglichkeit das in der Version 1.8 zu machen?

                        @marc-berg said in InfluxDB - Daten weg / Wiederherstellung:

                        @naturfreund

                        Für eine InfluxDB 2.x habe ich mal zwei Zeiträume zusammengeführt. Das geht aber nur manuell, nicht mit dem Backitup Adapter.

                        Dazu machst Du zunächst ein Restore in ein neues Bucket (das *tar.gz muss vorher entpackt werden):

                        influx restore --new-bucket <NAMENEW> --bucket  <NAMEOLD> <PFAD/ZUM/BACKUP> -t <TOKEN>
                        

                        Danach kopierst Du die Daten (Dabei entstehen keine doppelten Daten, falls sich die Zeiträume überlappen, der "range" kann also großzügig gewählt werden)

                        influx query 'from(bucket:"<NAMENEW>") |> range(start:-10y) |> filter(fn: (r) => r._measurement == "<NAME_MEASUREMENT>") |> set(key: "_measurement", value: "<NAME_MEASUREMENT>") |> to(bucket: "<NAMEOLD>")'
                        

                        Bezeichner in spitzen Klammern sind natürlich alle anzupassen.

                        Mit dem zweiten Befehl kann man so innerhalb eines Buckets auch relativ einfach Daten zwischen Measurements kopieren, hilfreich, wenn man mal Objekte umbenennt.

                        Danach natürlich noch das "ZWISCHENBUCKET" löschen. Fertig.

                        Marc Berg 1 Reply Last reply Reply Quote 0
                        • Marc Berg
                          Marc Berg Most Active @Naturfreund last edited by

                          @naturfreund sagte in InfluxDB - Daten weg / Wiederherstellung:

                          Geht das mit der Methode von marc-berg nur wenn ich die Datenbank auf 2.0 migriert habe? Oder gibt es auch eine Möglichkeit das in der Version 1.8 zu machen?

                          Diese Methode basiert auf der Skriptsprache "Flux" und läuft nur unter influxdb 2.x. Sicher gibt es auch eine entsprechende Methode für die 1.x, die kenne ich aber nicht.

                          N 1 Reply Last reply Reply Quote 0
                          • N
                            Naturfreund @Marc Berg last edited by

                            @marc-berg

                            Ich bin gerade darüber gestolpert, werde mir das mal genauer ansehen:

                            https://github.com/toni-moreno/syncflux#run-as-a-database-replication-tool

                            Marc Berg 1 Reply Last reply Reply Quote 0
                            • Marc Berg
                              Marc Berg Most Active @Naturfreund last edited by Marc Berg

                              @naturfreund sagte in InfluxDB - Daten weg / Wiederherstellung:

                              @marc-berg

                              Ich bin gerade darüber gestolpert, werde mir das mal genauer ansehen:

                              https://github.com/toni-moreno/syncflux#run-as-a-database-replication-tool

                              Hm, interessant. Es sieht für mich aber so aus, als ob du dafür zwei Datenbanken (Server) benötigst. Ich dachte, du hättest einen Server und x Backup-Files.

                              Meinst du nicht, dass das hier besser ist:

                              https://docs.influxdata.com/influxdb/v1.8/administration/backup_and_restore/#restore-data-to-an-existing-database

                              Das entspricht etwa "meiner" Methode.

                              1 Reply Last reply Reply Quote 0
                              • N
                                Naturfreund last edited by

                                @marc-berg said in InfluxDB - Daten weg / Wiederherstellung:

                                @naturfreund sagte in InfluxDB - Daten weg / Wiederherstellung:

                                @marc-berg

                                Ich bin gerade darüber gestolpert, werde mir das mal genauer ansehen:

                                https://github.com/toni-moreno/syncflux#run-as-a-database-replication-tool

                                Hm, interessant. Es sieht für mich aber so aus, als ob du dafür zwei Datenbanken (Server) benötigst. Ich dachte, du hättest einen Server und x Backup-Files.

                                Meinst du nicht, dass das hier besser ist:

                                https://docs.influxdata.com/influxdb/v1.8/administration/backup_and_restore/#restore-data-to-an-existing-database

                                Das entspricht etwa "meiner" Methode.

                                Stimmt, ich habe 1 Server.

                                Bei den Begriffen gerate ich ins Straucheln.

                                show databases
                                

                                Zeigt mir die Datenbanken an. Deshalb spreche ich von einer Datenbank. Die Backups die ich wieder gestellt habe, habe ich als neue Datenbank anlegen lassen. Ich will die aktuelle Datenbank ja nicht überschreiben.

                                pi@raspberrypi:~ $ influx
                                Connected to http://localhost:8086 version 1.8.10
                                InfluxDB shell version: 1.8.10
                                > > show databases
                                name: databases
                                name
                                ----
                                _internal
                                iobroker
                                iobroker080123
                                iobroker010123
                                iobroker130123
                                > 
                                

                                Und jetzt möchte ich die Zeitabschnitte in denen die Backups Daten enthalten in mein "iobroker" Datenbank migrieren.
                                Wenn ich deinen Link verstehe, dann müsste das jetzt funktionieren. Alte Datenpunkte mit identischen Daten werden einfach überschrieben.

                                Punkt 1 hab ich bereits erledigt:

                                1. Restore a backup to a temporary database.

                                Fehlt noch:
                                2. Use InfluxQL or Flux to query data from the temporary database and write it back to the existing database.

                                -- Repeat for each retention policy in the temporary database
                                SELECT *
                                INTO "example-db".autogen.:MEASUREMENT
                                FROM "example-tmp-db".autogen./.*/ GROUP BY *
                                
                                Marc Berg 1 Reply Last reply Reply Quote 0
                                • Marc Berg
                                  Marc Berg Most Active @Naturfreund last edited by

                                  @naturfreund

                                  Das Statement müsste in deinem Fall

                                  SELECT *
                                  INTO iobroker.autogen.<measurement_name>:MEASUREMENT
                                  FROM iobroker080123.autogen.<measurement_name>
                                  GROUP BY *
                                  

                                  lauten. Ich würd's aber erstmal in einer weiteren DB testen.

                                  N 2 Replies Last reply Reply Quote 0
                                  • N
                                    Naturfreund @Marc Berg last edited by

                                    @marc-berg

                                    Ich merge zum Test erst zwei Backups.

                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      Naturfreund @Marc Berg last edited by Naturfreund

                                      @marc-berg

                                      Ich hab jetzt kein einzelnes Measurement gewählt:

                                      > SELECT * INTO iobroker130123.autogen.:MEASUREMENT FROM iobroker080123.autogen./.*/ GROUP BY *
                                      ERR: timeout
                                      
                                      

                                      Für ein einzelnes Measurement hat es so geklappt:

                                      > SELECT * INTO iobroker130123.autogen."shelly.0.SHSW-PM#A4CF12F3CBAB#1.ext.temperatureC1" FROM iobroker080123.autogen."shelly.0.SHSW-PM#A4CF12F3CBAB#1.ext.temperatureC1" GROUP BY *
                                      name: result
                                      time written
                                      ---- -------
                                      0    640288
                                      

                                      Ergebnis:
                                      88adc4a2-1200-4b99-ab15-921de5ff0c0d-image.png

                                      😃
                                      Wir aber ein ganz schöner Aufwand, dass für alle 147 Measurements händisch zu machen...

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        Naturfreund last edited by Naturfreund

                                        Nochmal ein Vorher / Nachher Vergleich:

                                        455da917-d6d0-4b38-9a41-ce7a343552a7-image.png

                                        Influx starten:

                                        pi@raspberrypi:~ $ influx
                                        

                                        Measurement auswählen:

                                        > SELECT * INTO iobroker130123.autogen."shelly.0.SHSW-PM#A4CF12F3CBAB#1.ext.temperatureC1" FROM iobroker010123.autogen."shelly.0.SHSW-PM#A4CF12F3CBAB#1.ext.temperatureC1" GROUP BY *
                                        name: result
                                        time written
                                        ---- -------
                                        0    635668
                                        

                                        Ergebnis:

                                        497a93cf-cf40-4fb6-af79-d8ce1b7d24fc-image.png

                                        Danke dir in jedem Fall @Marc-Berg und auch @Thomas-Braun, @crunchip und @Glasfaser. Ich setze das Topic dann auf gelöst.

                                        I 1 Reply Last reply Reply Quote 0
                                        • I
                                          IOJoker @Naturfreund last edited by

                                          @naturfreund said in InfluxDB - Daten weg / Wiederherstellung [gelöst]:

                                          Ich setze das Topic dann auf gelöst.

                                          Hallo Naturfreund,

                                          bei mir kommt es in letzter Zeit leider ebenfalls zu Datenverlust in der InfluxDB Datenbank. Du hast das Topic auf gelöst gesetzt, einen tatsächlichen Grund habt ihr aber nicht gefunden, richtig? Die Lücken in den Daten konntest du nur wieder schließen, weil du noch Backups hattest.

                                          Läuft denn jetzt mit dem neuen System alles wieder ohne Probleme?

                                          N 1 Reply Last reply Reply Quote 0
                                          • N
                                            Naturfreund @IOJoker last edited by

                                            @iojoker
                                            Oh, sorry, hab deine Frage übersehen. Ja, es läuft seit dem super stabil. Ich hab die SD Karte im Verdacht, beweisen kann ich es aber nicht. Mit SSD bisher keine Probleme mehr gehabt.
                                            Würde auch jedem raten direkt mit einer SSD zu starten.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            476
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            142
                                            10411
                                            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