Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Python-Zugriff auf InfluxDB im Docker

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Python-Zugriff auf InfluxDB im Docker

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @ChristianSr last edited by

      @christiansr

      https://docs.influxdata.com/influxdb/v2.7/admin/logs/
      Wahrscheinlich musst du erst konfigurieren bevor da was rauskommt.

      Entweder du führst den Pfad per volume Parameter nach außen oder du verbindest dich auf die Shell im laufenden Container und schaust dann auf die Innere verzeichnisstruktur
      https://kodekloud.com/blog/docker-exec/#

      Wenn du eine UI deines NAS verwendest müsste es da einen Knopf geben. So ist es zumindest im portainer

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

        @christiansr

        Habe jetzt auch erstmal keine Idee mehr dazu. Meine Vermutung ist, dass Grafana funktioniert, weil du es auch im Docker zu laufen hast und damit direkt auf die InfluxDB zugegriffen werden kann, ohne den NGINX der Synology zu benutzen.
        Hast du die Möglichkeit, deinen Python-Code in einen Container zu packen, um diese Theorie auszuschließen/zu bestätigen?
        Vielleicht ist es ja ein Konfigurationsproblem der Synology/des Containers. Kenne mich aber Null mit den NAS aus.

        1 Reply Last reply Reply Quote 0
        • ChristianSr
          ChristianSr last edited by ChristianSr

          @OliverIO In der Doku steht: "By default, InfluxDB outputs all logs to stdout."
          Wenn ich das richtig sehe, dann habe ich diesen Stream in meinem UI vom Docker sichtbar:
          eba72ed9-11e7-4e6a-8b1f-02291bc9ba97-grafik.png
          Allerdings taucht da nix nenneswertes auf.
          Da der Default Log-Level auf "Info" steht sollte hier nicht das Problem sein, sondern ich gehe davon aus, dass meine Queries gar nicht erst ankommen und daher nicht im Log auftauchen.

          @Marc-Berg Leider kenne ich mich auch nicht wirklich mit Docker aus. Ich habe es nur genutzt, um unkompliziert eine InfluxDB aufzusetzen. Ich habe auch schon darüber nachgedacht die Daten in die Cloud zu stecken, so richtig begeistert bin ich von dem Gedanken allerdings nicht.
          Oder ich setze doch wieder auf MySQL. Das läuft auf meinem NAS als direkte Applikation ohne Docker und war von außen immer problemlos erreichbar.
          Leider gibt es für InfluxDB keine Software, die unkompliziert Queries ausführen könnte (analog MySQL Workbench).
          Ich hatte TimeSeriesAdmin ausprobiert, allerdings ohne Erfolg.
          Ich wollte auch Power BI ausprobieren, allerdings hat das Probleme mit Anaconda, sodass ich hier erstmal Python ans Laufen bekommen muss. Power BI bietet noch andere Verbindungsmöglichkeiten, die ich jedoch alle ebenfalls nicht beherrsche.

          1 Reply Last reply Reply Quote 0
          • ChristianSr
            ChristianSr last edited by ChristianSr

            @OliverIO Das log wirft nur "info" aus, kein "debug".
            Wenn ich in der Konsole influxd --log-level=info starte, dann kommen wesentlich mehr Meldungen. Dieser werden allerdings nicht gelogt.
            Also habe ich die config-Datei gesucht. Im Verzeichnis /etc/influxdb2/ gibt es nur eine Datei: influxdb-configs.
            Folgender Inhalt:

            [default]
              url = "http://localhost:8086"
              token = "5kPlL7izVhHLQXMJN81lRWjiC7iNGGHQtBIWvxmbxUGIXMV2GfMnZNGzYnqkJ5ktY_Ly5Fp-ddr0ODbHqvM2nA=="
              org = "hausautomation"
              active = true
            
            # 
            # [eu-central]
            #   url = "https://eu-central-1-1.aws.cloud2.influxdata.com"
            #   token = "XXX"
            #   org = ""
            # 
            # [us-central]
            #   url = "https://us-central1-1.gcp.cloud2.influxdata.com"
            #   token = "XXX"
            #   org = ""
            # 
            # [us-west]
            #   url = "https://us-west-2-1.aws.cloud2.influxdata.com"
            #   token = "XXX"
            #   org = ""
            


            Da habe ich nun als erste Zeile folgendes ergänzt: log-level="debug"
            Auch nach Docker-Neustart wird noch immer ausschließlich "info" geloggt.

            In der Konsole das Kommando influxd --log-level=info eingegeben bekomme ich einen aktuellen log in der konsole:

            root@influxdb2:/etc/influxdb2# influxd --log-level=debug                                                                                                                                                                                                     
            2023-09-10T12:47:34.470145Z     info    Welcome to InfluxDB     {"log_id": "0kBmytHG000", "version": "v2.7.1", "commit": "407fa622e9", "build_date": "2023-04-28T13:24:27Z", "log_level": "debug"}                                                           
            2023-09-10T12:47:34.576374Z     info    Resources opened        {"log_id": "0kBmytHG000", "service": "bolt", "path": "/root/.influxdbv2/influxd.bolt"}                                                                                                       
            2023-09-10T12:47:34.576610Z     info    Resources opened        {"log_id": "0kBmytHG000", "service": "sqlite", "path": "/root/.influxdbv2/influxd.sqlite"}                                                                                                   
            2023-09-10T12:47:34.822370Z     debug   buckets find    {"log_id": "0kBmytHG000", "store": "new", "took": "0.132ms"}                                                                                                                                         
            2023-09-10T12:47:34.822742Z     info    Using data dir  {"log_id": "0kBmytHG000", "service": "storage-engine", "service": "store", "path": "/root/.influxdbv2/engine/data"}                                                                                  
            2023-09-10T12:47:34.822846Z     info    Compaction settings     {"log_id": "0kBmytHG000", "service": "storage-engine", "service": "store", "max_concurrent_compactions": 2, "throughput_bytes_per_second": 50331648, "throughput_bytes_per_second_burst": 503
            31648}                                                                                                                                                                                                                                                       
            2023-09-10T12:47:34.822870Z     info    Open store (start)      {"log_id": "0kBmytHG000", "service": "storage-engine", "service": "store", "op_name": "tsdb_open", "op_event": "start"}                                                                      
            2023-09-10T12:47:34.823014Z     info    Open store (end)        {"log_id": "0kBmytHG000", "service": "storage-engine", "service": "store", "op_name": "tsdb_open", "op_event": "end", "op_elapsed": "0.147ms"}                                               
            2023-09-10T12:47:34.823069Z     info    Starting retention policy enforcement service                                                                                                                                                                       {
            "log_id": "0kBmytHG000", "service": "retention", "check_interval": "30m"}                                                                                                                                                                                    
            2023-09-10T12:47:34.823096Z     info    Starting precreation service    {"log_id": "0kBmytHG000", "service": "shard-precreation", "check_interval": "10m", "advance_period": "30m"}                                                                          
            2023-09-10T12:47:34.825145Z     info    Starting query controller       {"log_id": "0kBmytHG000", "service": "storage-reads", "concurrency_quota": 1024, "initial_memory_bytes_quota_per_query": 9223372036854775807, "memory_bytes_quota_per_query": 9223372
            036854775807, "max_memory_bytes": 0, "queue_size": 1024}                                                                                                                                                                                                     
            2023-09-10T12:47:34.852924Z     info    Configuring InfluxQL statement executor (zeros indicate unlimited).                                                                                                                                                 {
            "log_id": "0kBmytHG000", "max_select_point": 0, "max_select_series": 0, "max_select_buckets": 0}                                                                                                                                                             
            2023-09-10T12:47:35.038386Z     info    Starting        {"log_id": "0kBmytHG000", "service": "telemetry", "interval": "8h"}                                                                                                                                  
            2023-09-10T12:47:35.039762Z     error   Failed to set up TCP listener   {"log_id": "0kBmytHG000", "service": "tcp-listener", "addr": ":8086", "error": "listen tcp :8086: bind: address already in use"}                                                     
            Error: listen tcp :8086: bind: address already in use                                                                                                                                                                                                        
            See 'influxd -h' for help 
            


            Ich bin irritiert, was die letzte Zeile angeht. Sieht irgendwie nach Port-Problemen aus.

            Da es allerdings mit Grafana problemlos klappt komme ich immer darauf zurück und vermute, dass mit dem Python-Script etwas nicht stimmt.

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

              @christiansr sagte in Python-Zugriff auf InfluxDB im Docker:

              Ich bin irritiert, was die letzte Zeile angeht. Sieht irgendwie nach Port-Problemen aus.

              Moin,

              nein, wenn Du den Docker Container startest, dann wird auch influxDB gestartet, dann versuchst Du den Datenbankmanager nochmals zu starten, aber mit der gleichen Konfiguration, das geht nicht, da der Port 8086 schon in Benutzung ist.

              VG
              Bernd

              ChristianSr 1 Reply Last reply Reply Quote 0
              • ChristianSr
                ChristianSr @Guest last edited by

                @dp20eic den Datenbankmanager zweimal zu starten macht natürlich keinen Sinn. Eigentlich will ich nur den log-level erhöhen, was mir jedoch nicht gelungen ist. In der Doku klingt das so einfach : log-level = "info" ergänzen.
                Ist es richtig die Zeile einfach an den Anfang der Config-Datei zu schreiben oder gehört das unter irgend einen [Abschnitt]?

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

                  @christiansr sagte in Python-Zugriff auf InfluxDB im Docker:

                  Ist es richtig die Zeile einfach an den Anfang der Config-Datei zu schreiben oder gehört das unter irgend einen [Abschnitt]?

                  Moin,

                  nope und ja 🙂

                  Ich schau’ mal, melde mich später noch einmal.

                  Edit
                  Also, da habe ich mich wohl getäuscht, ist anscheinend doch egal wo es steht, ich würde Änderungen, aber immer am Ende machen.

                  Vielleicht ist nur die Schreibweise falsch.
                  Wenn Konfig eine yaml Datei, dann

                  log-level: info
                  

                  Wenn Konfig eine toml Datei, dann

                  log-level = "info"
                  

                  Wenn Konfig eine json, dann

                  {
                    "log-level": "info"
                  }
                  

                  Ich würde es mal so versuchen

                  [default]
                    url = "http://localhost:8086"
                    token = "5kPlL7izVhHLQXMJN81lRWjiC7iNGGHQtBIWvxmbxUGIXMV2GfMnZNGzYnqkJ5ktY_Ly5Fp-ddr0ODbHqvM2nA=="
                    org = "hausautomation"
                    active = true
                    log-level = debug
                  

                  VG
                  Bernd

                  ChristianSr 1 Reply Last reply Reply Quote 0
                  • ChristianSr
                    ChristianSr @Guest last edited by

                    @dp20eic said in Python-Zugriff auf InfluxDB im Docker:

                    Vielleicht ist nur die Schreibweise falsch.
                    Ich habe keine Ahnung, ob ich TOML oder YAML brauche. Die bereits vorhandene Syntax ließ mich auf TOML schließen.

                    Ich würde es mal so versuchen

                    [default]
                      url = "http://localhost:8086"
                      token = "5kPlL7izVhHLQXMJN81lRWjiC7iNGGHQtBIWvxmbxUGIXMV2GfMnZNGzYnqkJ5ktY_Ly5Fp-ddr0ODbHqvM2nA=="
                      org = "hausautomation"
                      active = true
                      log-level = debug
                    

                    getestet - keine Änderung.

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

                      @christiansr sagte in Python-Zugriff auf InfluxDB im Docker:

                      getestet - keine Änderung.

                      Moin,

                      habs vielleicht überlesen, aber welches Docker Image nutzt Du denn?
                      Würde das dann mal, morgen nachstellen.

                      VG
                      Bernd

                      ChristianSr 1 Reply Last reply Reply Quote 0
                      • ChristianSr
                        ChristianSr @Guest last edited by

                        @dp20eic said in Python-Zugriff auf InfluxDB im Docker:

                        habs vielleicht überlesen, aber welches Docker Image nutzt Du denn?

                        influxdb:latest
                        https://registry.hub.docker.com/_/influxdb/

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

                          @christiansr sagte in Python-Zugriff auf InfluxDB im Docker:

                          @dp20eic said in Python-Zugriff auf InfluxDB im Docker:

                          habs vielleicht überlesen, aber welches Docker Image nutzt Du denn?

                          influxdb:latest
                          https://registry.hub.docker.com/_/influxdb/

                          Moin,

                          so wie es aussieht, muss der Log Level beim Start mittels Environment mitgegeben werden
                          Beispiel:

                          docker run -d -p 8086:8086 \
                                -v $PWD/data:/var/lib/influxdb2 \
                                -v $PWD/config:/etc/influxdb2 \
                                -e DOCKER_INFLUXDB_INIT_MODE=setup \
                                -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \
                                -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \
                                -e DOCKER_INFLUXDB_INIT_ORG=my-org \
                                -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \
                                -e INFLUXD_LOG_LEVEL=info  
                                influxdb:2.0
                          

                          Oder Du musst INFLUXD_LOG_LEVEL=info da mit angeben, wo Du auch die anderen Einstellungen vorgenommen hast.

                          VG
                          Bernd

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          802
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

                          4
                          24
                          1178
                          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