Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. ioBroker Docker - InfluxDB Error bei hoher Disk I/O

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    ioBroker Docker - InfluxDB Error bei hoher Disk I/O

    This topic has been deleted. Only users with topic management privileges can see it.
    • Marc Berg
      Marc Berg Most Active @hennerich last edited by

      @hennerich sagte in ioBroker Docker - InfluxDB Error bei hoher Disk I/O:

      Wo genau muss ich nachschauen und worauf soll ich achten?

      Also bei mir (Docker+Portainer) kann ich auf die Container Logs schauen, da steht dann sowas drin:

      ts=2023-05-26T20:26:23.033009Z lvl=info msg="Snapshot for path written" log_id=0i2HUNW0000 service=storage-engine engine=tsm1 op_name=tsm1_cache_snapshot path=/var/lib/influxdb2/engine/data/2b42fccaf44c370d/autogen/2747 duration=218.588ms
      
      ts=2023-05-26T20:26:23.033067Z lvl=info msg="Cache snapshot (end)" log_id=0i2HUNW0000 service=storage-engine engine=tsm1 op_name=tsm1_cache_snapshot op_event=end op_elapsed=218.661ms
      
      ts=2023-05-26T20:27:51.815523Z lvl=info msg="Retention policy deletion check (start)" log_id=0i2HUNW0000 service=retention op_name=retention_delete_check op_event=start
      
      ts=2023-05-26T20:27:51.816432Z lvl=info msg="Retention policy deletion check (end)" log_id=0i2HUNW0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.947ms
      
      ts=2023-05-26T20:35:02.035245Z lvl=info msg="TSI log compaction (start)" log_id=0i2HUNW0000 service=storage-engine index=tsi tsi1_partition=1 op_name=tsi1_compact_log_file tsi1_log_file_id=3 op_event=start
      
      ts=2023-05-26T20:35:02.051768Z lvl=info msg="Log file compacted" log_id=0i2HUNW0000 service=storage-engine index=tsi tsi1_partition=1 op_name=tsi1_compact_log_file tsi1_log_file_id=3 elapsed=16ms bytes=1833 kb_per_sec=108
      
      ts=2023-05-26T20:35:02.052216Z lvl=info msg="TSI log compaction (end)" log_id=0i2HUNW0000 service=storage-engine index=tsi tsi1_partition=1 op_name=tsi1_compact_log_file tsi1_log_file_id=3 op_event=end op_elapsed=17.005ms
      

      Keine Ahnung, wie das bei dir aussieht. Die Idee war, dass man in diese Logs schaut, wenn die Timeouts auftreten, um zu sehen, was die DB in dieser Zeit macht.

      Die 120 Sekunden finde ich ziemlich lang. Im Extremfall können dann 2min Daten verloren gehen. In den Konfigurationsbeispielen, die man so findet ist ja eher von Millisekunden die Rede.

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

        @hennerich sagte in ioBroker Docker - InfluxDB Error bei hoher Disk I/O:

        Wo genau muss ich nachschauen und worauf soll ich achten?

        Moin,

        nur als Beispiel, da ich keine influxDB auf meiner Syno als Docker habe, aber wenn Du auf der Syno Standard-Docker ohne Portainer nutzt, dann sollten die Logs hier einsehbar sein.

        Beispiel:
        5bbc25e3-2e84-4e5a-9e87-82600dc9d526-grafik.png

        Du kannst auch mal im Ressourcenmonitor der Syno schauen, ob da etwas auffälliges zu sehen ist
        ad4e872d-c56e-4fce-a5b3-8fcc14dbe1da-grafik.png

        VG
        Bernd

        H 1 Reply Last reply Reply Quote 1
        • H
          hennerich @Guest last edited by

          Hey, danke für eure Ideen.
          Ich hab auch Portainer und kann in die Logs schauen.
          Nur hab ich davon keine Ahnung. Sowas steht da drin:

          ts=2023-05-27T10:00:50.482078Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:01:00.399919Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:01:03.580933Z lvl=info msg="Error exhausting result iterator" log_id=0i2QNuH0000 service=task-executor error="runtime error @25:8-25:71: check: failed to evaluate map function: 20:40-20:49: interpolated expression produced a null value" name=wide-to12
          
          ts=2023-05-27T10:01:10.398528Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:01:16.183890Z lvl=error msg="Failed to finish run" log_id=0i2QNuH0000 service=task-executor taskID=0ab8955a404fa000 runID=0b432937d8689000 error=timeout
          
          ts=2023-05-27T10:01:20.401253Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:01:30.422068Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:01:40.394011Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:01:50.449177Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:02:00.398830Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:02:02.966146Z lvl=info msg="Error exhausting result iterator" log_id=0i2QNuH0000 service=task-executor error="runtime error @25:8-25:71: check: failed to evaluate map function: 20:40-20:49: interpolated expression produced a null value" name=wide-to12
          
          ts=2023-05-27T10:02:10.429115Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:02:16.016547Z lvl=error msg="Failed to finish run" log_id=0i2QNuH0000 service=task-executor taskID=0ab8955a404fa000 runID=0b43297270a89000 error=timeout
          
          ts=2023-05-27T10:02:20.443523Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:02:30.408063Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:02:40.403524Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:02:50.394245Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:03:00.463353Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:03:03.611349Z lvl=info msg="Error exhausting result iterator" log_id=0i2QNuH0000 service=task-executor error="runtime error @25:8-25:71: check: failed to evaluate map function: 20:40-20:49: interpolated expression produced a null value" name=wide-to12
          
          ts=2023-05-27T10:03:10.524662Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:03:16.126425Z lvl=error msg="Failed to finish run" log_id=0i2QNuH0000 service=task-executor taskID=0ab8955a404fa000 runID=0b4329ad08689000 error=timeout
          
          ts=2023-05-27T10:03:20.424070Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:03:28.204102Z lvl=info msg="Retention policy deletion check (start)" log_id=0i2QNuH0000 service=retention op_name=retention_delete_check op_event=start
          
          ts=2023-05-27T10:03:28.204975Z lvl=info msg="Retention policy deletion check (end)" log_id=0i2QNuH0000 service=retention op_name=retention_delete_check op_event=end op_elapsed=0.896ms
          
          ts=2023-05-27T10:03:30.422651Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:03:40.401910Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:03:50.465587Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          
          ts=2023-05-27T10:04:00.415541Z lvl=error msg="Unable to write gathered points" log_id=0i2QNuH0000 service=scraper scraper-name="OSS Monitoring" error=timeout
          

          Seit gestern ist das ioBroker Log auf knapp 1GB angewachsen. Ich restarte jetzt den Adapter und lösche das Log.
          Dann schauen wir mal, ob die 120s etwas gebracht haben.

          1 Reply Last reply Reply Quote 0
          • H
            hennerich last edited by

            Update: als ich den Adapter neu gestartet habe, sind die Meldungen direkt wieder aufgetreten.
            Ich kann nur vermuten, dass das an den 120s gelegen hat, denn nachdem ich den Wert zurück auf 0s (default) gestellt hatte, waren die Fehler wieder weg.

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

              @hennerich sagte in ioBroker Docker - InfluxDB Error bei hoher Disk I/O:

              Update: als ich den Adapter neu gestartet habe, sind die Meldungen direkt wieder aufgetreten.
              Ich kann nur vermuten, dass das an den 120s gelegen hat, denn nachdem ich den Wert zurück auf 0s (default) gestellt hatte, waren die Fehler wieder weg.

              Moin,

              wie @Marc-Berg schon gesagt hat, 120s sind zu viel, denn als Standard ist 0, und in den Beispielen sind es ms also wenn Du mit diesem Parameter spielen möchtest, dann eher im ms Bereich und nicht im sek. Bereich.

              Erklärung des Parameters https://docs.influxdata.com/influxdb/v2.7/reference/config-options/#influxd-flag-47

              storage-wal-fsync-delay
              
              Duration a write will wait before fsyncing. A duration greater than 0 batches multiple fsync calls. This is useful for slower disks or when WAL write contention is present.
              

              Vielleicht ist das der bessere Wert, den Du anpassen kannst, Standard sind 10 sek. da kannst Du ja mal in Fünfer Schritten, die Zeit anpassen, INFLUXD_STORAGE_WRITE_TIMEOUT

              storage-write-timeout
              
              Maximum amount of time the storage engine will process a write request before timing out.
              

              VG
              Bernd

              H 1 Reply Last reply Reply Quote 1
              • H
                hennerich @Guest last edited by hennerich

                Danke Bernd, hab ich eingestellt.
                Du sag mal, wo genau in der Influx Doku hast du den denn gefunden? Wenn ich nach dem Parameter in Google suche, finde ich nicht wirklich was.

                [Edit]
                Habs gefunden: https://docs.influxdata.com/influxdb/v2.7/reference/config-options/#storage-write-timeout

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

                  @hennerich sagte in ioBroker Docker - InfluxDB Error bei hoher Disk I/O:

                  Danke Bernd, hab ich eingestellt.
                  Du sag mal, wo genau in der Influx Doku hast du den denn gefunden? Wenn ich nach dem Parameter in Google suche, finde ich nicht wirklich was.

                  Moin,

                  ich stöber immer beim Hersteller selbst 🙂
                  Das ist die Einstiegsseite https://docs.influxdata.com/influxdb/v2.7/# und dann entweder in der Suche oben links.
                  Das ist die Seite mit den Optionen https://docs.influxdata.com/influxdb/v2.7/reference/config-options/#

                  VG
                  Bernd

                  1 Reply Last reply Reply Quote 1
                  • H
                    hennerich last edited by

                    kleines Zwischenfazit: heute Nacht war alles gut, kein Anstieg zu verzeichnen
                    Mal schauen wie sich das die nächsten Tage verhält

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      hennerich @hennerich last edited by

                      So, ich hatte zwar zwischendrin (irgendwann mal im Laufe des Tages) wieder einen Vorfall, aber bis jetzt scheint es Nachts nach der Sicherung immer zu funktionieren.

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

                        @hennerich sagte in ioBroker Docker - InfluxDB Error bei hoher Disk I/O:

                        So, ich hatte zwar zwischendrin (irgendwann mal im Laufe des Tages) wieder einen Vorfall,

                        Moin,

                        erst einmal schön, dass es bei Dir jetzt etwas ruhiger zugeht und alles so weit funktioniert.

                        Wenn es passieren solltest, Du mal schauen, was Du gerade gemacht hast, am/im System und/oder schauen, was da die DiskStation gerade gemacht hat, vielleicht lief da gerade ein aufwändiger Task.

                        VG
                        Bernd

                        1 Reply Last reply Reply Quote 0
                        • R
                          RikDRS last edited by RikDRS

                          @glasfaser said in ioBroker Docker - InfluxDB Error bei hoher Disk I/O:

                          Ich kenne deine Grundeinstellungen in der Influx Instanz nicht ,
                          du könntest versuchen die Schreibaktionen zu sammeln

                          a60ca362-56bf-42be-8fc8-c9b17aae7b9d-grafik.png

                          sie werden dann zwischengespeichert und einmalig von Influx in der eingestellten Zeit versendet .

                          Nachteil , sollte etwas in der Zwischenspeicherung / Zeit passieren , sind die Daten weg .

                          Bedenke .. Hyper Backup braucht viel Leistung , habe daher die Zeiten ( mehere Regeln ) versetzt eingestellt

                          Danke für diesen Tipp. Ich bin in den letzten Wochen ebenfalls mit dem oben beschriebenen Problem konfrontiert worden.
                          Habe nun versuchsweise die Schreibaktionen zusammenfassen auf 5 gestellt. Der Fehler tritt nicht mehr auf. Nun habe ich es seit drei Tagen auf 2 eingestellt, ebenfalls keine Fehlermeldungen mehr bis jetzt.

                          R 1 Reply Last reply Reply Quote 0
                          • R
                            RikDRS @RikDRS last edited by

                            zu früh gefreut, der Fehler / das Problem tritt bei mir wieder auf...

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

                              @rikdrs sagte in ioBroker Docker - InfluxDB Error bei hoher Disk I/O:

                              zu früh gefreut, der Fehler / das Problem tritt bei mir wieder auf...

                              Das hätte mich auch gewundert, da die vermeintliche Lösung am Problem vorbei geht. Dies besteht aus meiner Sicht darin, dass die InfluxDB regelmäßig Aufräum ("Compactions")-Arbeiten durchführt. Diese sind durch eine sehr starke I/O-Last erkennbar. Wenn das Verhältnis (Menge der Daten / Leistungsfähigkeit der Hardware) zu schlecht wird, laufen diese Jobs extrem lang, in dieser Zeit sind Write-Errors zu beobachten.

                              Du könntest zum einen versuchen, die Anzahl der "Concurrent compactions" auf "1" zu setzen.

                              Wesentlich erfolgversprechender ist es aber, die Menge an Daten radikal zu reduzieren. Schau mal, wo die meisten herkommen:

                              from(bucket: "iobroker")
                              |> range(start: -10y)
                              |> filter(fn: (r) => r["_field"] == "value")
                              |> count()
                              |> group()
                              |> keep(columns: ["_measurement", "_value"])
                              |> sort(columns: ["_value"], desc: true)
                              |> rename(columns: {_value: "Anzahl"})
                              
                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              1.0k
                              Online

                              31.6k
                              Users

                              79.4k
                              Topics

                              1.3m
                              Posts

                              9
                              61
                              3908
                              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