Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Python-Zugriff auf InfluxDB im Docker

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    492

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Python-Zugriff auf InfluxDB im Docker

Geplant Angeheftet Gesperrt Verschoben Off Topic
24 Beiträge 4 Kommentatoren 2.4k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ChristianSrC ChristianSr

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

    kannst du mal die query noch weiter vereinfachen?
    einfach nur eine tabelle abfragen mit möglichst wenig parameter?

    Habe die Abfrage nun auf ein Minimum reuziert. Bei der Gelegenheit ist mir an dieser Stelle ein Fehler aufgefallen. "my-bucket" gibt es nicht. Dennoch ist das Ergebnis unverändert.

    # Abfrage InfluxDB auf Diskstation
    
    import influxdb_client
    from influxdb_client.client.write_api import SYNCHRONOUS
    
    bucket = "iobroker"
    org = "hausautomation"
    token = "Rjd0aP8DkXRYAjf3bPQw6YO8bFHSoePPVpH0PnGBYmrStpqI1JiK3A_3PaHjjpqTG_wU56TNaE0_o9Iaru4l4Q=="
    # Store the URL of your InfluxDB instance
    url="http://192.168.2.51"
    
    client = influxdb_client.InfluxDBClient(
        url=url,
        token=token,
        org=org
    )
    
    # Query script
    query_api = client.query_api()
    query = 'from(bucket:"iobroker")\
    |> range(start: -10m)'
    result = query_api.query(org=org, query=query)
    results = []
    for table in result:
        for record in table.records:
            results.append((record.get_field(), record.get_value()))
    
    print(results)
    


    ---------------------------------------------------------------------------
    ApiException                              Traceback (most recent call last)
    Input In [22], in <cell line: 22>()
         19 query_api = client.query_api()
         20 query = 'from(bucket:"iobroker")\
         21 |> range(start: -10m)'
    ---> 22 result = query_api.query(org=org, query=query)
         23 results = []
         24 for table in result:
    
    File D:\Programme\anaconda\lib\site-packages\influxdb_client\client\query_api.py:203, in QueryApi.query(self, query, org, params)
        128 """Execute synchronous Flux query and return result as a :class:`~influxdb_client.client.flux_table.FluxTable` list.
        129 
        130 :param query: the Flux query
       (...)
        199     ]
        200 """  # noqa: E501
        201 org = self._org_param(org)
    --> 203 response = self._query_api.post_query(org=org, query=self._create_query(query, self.default_dialect, params),
        204                                       async_req=False, _preload_content=False, _return_http_data_only=False)
        206 return self._to_tables(response, query_options=self._get_query_options())
    
    File D:\Programme\anaconda\lib\site-packages\influxdb_client\service\query_service.py:285, in QueryService.post_query(self, **kwargs)
        283     return self.post_query_with_http_info(**kwargs)  # noqa: E501
        284 else:
    --> 285     (data) = self.post_query_with_http_info(**kwargs)  # noqa: E501
        286     return data
    
    File D:\Programme\anaconda\lib\site-packages\influxdb_client\service\query_service.py:311, in QueryService.post_query_with_http_info(self, **kwargs)
        289 """Query data.
        290 
        291 Retrieves data from buckets.  Use this endpoint to send a Flux query request and retrieve data from a bucket.  #### Rate limits (with InfluxDB Cloud)  `read` rate limits apply. For more information, see [limits and adjustable quotas](https://docs.influxdata.com/influxdb/cloud/account-management/limits/).  #### Related guides  - [Query with the InfluxDB API](https://docs.influxdata.com/influxdb/latest/query-data/execute-queries/influx-api/) - [Get started with Flux](https://docs.influxdata.com/flux/v0.x/get-started/)
       (...)
        306          returns the request thread.
        307 """  # noqa: E501
        308 local_var_params, path_params, query_params, header_params, body_params = \
        309     self._post_query_prepare(**kwargs)  # noqa: E501
    --> 311 return self.api_client.call_api(
        312     '/api/v2/query', 'POST',
        313     path_params,
        314     query_params,
        315     header_params,
        316     body=body_params,
        317     post_params=[],
        318     files={},
        319     response_type='str',  # noqa: E501
        320     auth_settings=[],
        321     async_req=local_var_params.get('async_req'),
        322     _return_http_data_only=local_var_params.get('_return_http_data_only'),  # noqa: E501
        323     _preload_content=local_var_params.get('_preload_content', True),
        324     _request_timeout=local_var_params.get('_request_timeout'),
        325     collection_formats={},
        326     urlopen_kw=kwargs.get('urlopen_kw', None))
    
    File D:\Programme\anaconda\lib\site-packages\influxdb_client\_sync\api_client.py:343, in ApiClient.call_api(self, resource_path, method, path_params, query_params, header_params, body, post_params, files, response_type, auth_settings, async_req, _return_http_data_only, collection_formats, _preload_content, _request_timeout, urlopen_kw)
        304 """Make the HTTP request (synchronous) and Return deserialized data.
        305 
        306 To make an async_req request, set the async_req parameter.
       (...)
        340     then the method will return the response directly.
        341 """
        342 if not async_req:
    --> 343     return self.__call_api(resource_path, method,
        344                            path_params, query_params, header_params,
        345                            body, post_params, files,
        346                            response_type, auth_settings,
        347                            _return_http_data_only, collection_formats,
        348                            _preload_content, _request_timeout, urlopen_kw)
        349 else:
        350     thread = self.pool.apply_async(self.__call_api, (resource_path,
        351                                    method, path_params, query_params,
        352                                    header_params, body,
       (...)
        356                                    collection_formats,
        357                                    _preload_content, _request_timeout, urlopen_kw))
    
    File D:\Programme\anaconda\lib\site-packages\influxdb_client\_sync\api_client.py:173, in ApiClient.__call_api(self, resource_path, method, path_params, query_params, header_params, body, post_params, files, response_type, auth_settings, _return_http_data_only, collection_formats, _preload_content, _request_timeout, urlopen_kw)
        170 urlopen_kw = urlopen_kw or {}
        172 # perform request and return response
    --> 173 response_data = self.request(
        174     method, url, query_params=query_params, headers=header_params,
        175     post_params=post_params, body=body,
        176     _preload_content=_preload_content,
        177     _request_timeout=_request_timeout, **urlopen_kw)
        179 self.last_response = response_data
        181 return_data = response_data
    
    File D:\Programme\anaconda\lib\site-packages\influxdb_client\_sync\api_client.py:388, in ApiClient.request(self, method, url, query_params, headers, post_params, body, _preload_content, _request_timeout, **urlopen_kw)
        379     return self.rest_client.OPTIONS(url,
        380                                     query_params=query_params,
        381                                     headers=headers,
       (...)
        385                                     body=body,
        386                                     **urlopen_kw)
        387 elif method == "POST":
    --> 388     return self.rest_client.POST(url,
        389                                  query_params=query_params,
        390                                  headers=headers,
        391                                  post_params=post_params,
        392                                  _preload_content=_preload_content,
        393                                  _request_timeout=_request_timeout,
        394                                  body=body,
        395                                  **urlopen_kw)
        396 elif method == "PUT":
        397     return self.rest_client.PUT(url,
        398                                 query_params=query_params,
        399                                 headers=headers,
       (...)
        403                                 body=body,
        404                                 **urlopen_kw)
    
    File D:\Programme\anaconda\lib\site-packages\influxdb_client\_sync\rest.py:311, in RESTClientObject.POST(self, url, headers, query_params, post_params, body, _preload_content, _request_timeout, **urlopen_kw)
        308 def POST(self, url, headers=None, query_params=None, post_params=None,
        309          body=None, _preload_content=True, _request_timeout=None, **urlopen_kw):
        310     """Perform POST HTTP request."""
    --> 311     return self.request("POST", url,
        312                         headers=headers,
        313                         query_params=query_params,
        314                         post_params=post_params,
        315                         _preload_content=_preload_content,
        316                         _request_timeout=_request_timeout,
        317                         body=body,
        318                         **urlopen_kw)
    
    File D:\Programme\anaconda\lib\site-packages\influxdb_client\_sync\rest.py:261, in RESTClientObject.request(self, method, url, query_params, headers, body, post_params, _preload_content, _request_timeout, **urlopen_kw)
        258     _BaseRESTClient.log_body(r.data, '<<<')
        260 if not 200 <= r.status <= 299:
    --> 261     raise ApiException(http_resp=r)
        263 return r
    
    ApiException: (405)
    Reason: Not Allowed
    HTTP response headers: HTTPHeaderDict({'Server': 'nginx', 'Date': 'Thu, 07 Sep 2023 16:29:19 GMT', 'Content-Type': 'text/html', 'Content-Length': '150', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=20'})
    HTTP response body: b'<html>\r\n<head><title>405 Not Allowed</title></head>\r\n<body>\r\n<center><h1>405 Not Allowed</h1></center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n'
    

    In diesem Beitrag (es geht allerdings um den C# Client, gab es auch ein problem mit einer Angabe. Dazwischen war aber auch ein Hinweis auf ein Token mit Permission_All
    https://community.influxdata.com/t/influx-cloud-compatibility-with-c-client-library/25920

    Der Token hat permission ALL.

    In der javabibliothek bedeutet 405: Method not allowed, also könnte auch ein Hinweis auf einen Fehler in der Abfrage sein
    https://influxdata.github.io/influxdb-client-java/influxdb-client-core/apidocs/com/influxdb/exceptions/class-use/InfluxException.html

    Führe ich die Abfrage im UI von InfluxDB aus bekomme ich ein Ergebnis...

    dein fehlerlog ist vom client?
    du könntest mal noch influxdb serverlog anschauen, ob da noch ein genauerer hinweis drin steht

    wenn ich das richtig verstanden habe, dann werden die Logs in einer Datei im Docker abgelegt. Vom UI aus komme ich da vermutlich nicht hin.

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

    ist denn im api_client.py auch GET das Du oben benutzt auch definiert/korrekt?

    Den von mir geschriebenen Code habe ich vollständig hier rein kopiert. Alles andere steckt in fertigen Bibliotheken. Ich gehe momentan davon aus, dass dort nicht der Fehler liegt.

    @marc-berg said in Python-Zugriff auf InfluxDB im Docker:

    Sehe ich das richtig, und da sitzt ein NGINX als Reverse Proxy vor der Datenbank? Dann könnte die Fehlermeldung "Not Allowed" natürlich ein ganz andere Bedeutung haben und hätte nichts mit der Datenbank/Abfrage zu tun.

    Habe nun erstmal die Vokabeln "NGINX" und "Reverse Proxy" gegoogelt. So richtig aussagefähig bin ich hier leider noch nicht.
    Mein System ist ein Synology NAS mit installiertem Docker. InfluxDB läuft in dem Docker und wird über die IP des NAS angesprochen.
    @OliverIO hat ja geschlussfolgert, dass die Verbindung bereits durch geht. Kann ich das irgendwie prüfen?

    ChristianSrC Offline
    ChristianSrC Offline
    ChristianSr
    schrieb am zuletzt editiert von
    #13

    @OliverIO bisher habe ich es noch nicht geschfft die Logs zu finden.
    @marc-berg Wo der NGINX herkommt weiß ich nicht. Vermutlich gehört der zum NAS/ Docker.

    Ich habe mal probiert einen fehlerhaften Token zu nutzen. Die Fehlermeldung ist die gleiche. Ich glaube also nicht, dass ich schon auf der Datenbank angekommen bin.

    OliverIOO Marc BergM 2 Antworten Letzte Antwort
    0
    • ChristianSrC ChristianSr

      @OliverIO bisher habe ich es noch nicht geschfft die Logs zu finden.
      @marc-berg Wo der NGINX herkommt weiß ich nicht. Vermutlich gehört der zum NAS/ Docker.

      Ich habe mal probiert einen fehlerhaften Token zu nutzen. Die Fehlermeldung ist die gleiche. Ich glaube also nicht, dass ich schon auf der Datenbank angekommen bin.

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von
      #14

      @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

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      1 Antwort Letzte Antwort
      0
      • ChristianSrC ChristianSr

        @OliverIO bisher habe ich es noch nicht geschfft die Logs zu finden.
        @marc-berg Wo der NGINX herkommt weiß ich nicht. Vermutlich gehört der zum NAS/ Docker.

        Ich habe mal probiert einen fehlerhaften Token zu nutzen. Die Fehlermeldung ist die gleiche. Ich glaube also nicht, dass ich schon auf der Datenbank angekommen bin.

        Marc BergM Offline
        Marc BergM Offline
        Marc Berg
        Most Active
        schrieb am zuletzt editiert von
        #15

        @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.

        NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

        Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

        Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

        1 Antwort Letzte Antwort
        0
        • ChristianSrC Offline
          ChristianSrC Offline
          ChristianSr
          schrieb am zuletzt editiert von ChristianSr
          #16

          @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 Antwort Letzte Antwort
          0
          • ChristianSrC Offline
            ChristianSrC Offline
            ChristianSr
            schrieb am zuletzt editiert von ChristianSr
            #17

            @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 Antwort Letzte Antwort
            0
            • ChristianSrC 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.

              ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              schrieb am zuletzt editiert von
              #18

              @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

              ChristianSrC 1 Antwort Letzte Antwort
              0
              • ? Ein ehemaliger Benutzer

                @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

                ChristianSrC Offline
                ChristianSrC Offline
                ChristianSr
                schrieb am zuletzt editiert von
                #19

                @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 Antwort Letzte Antwort
                0
                • ChristianSrC ChristianSr

                  @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]?

                  ? Offline
                  ? Offline
                  Ein ehemaliger Benutzer
                  schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                  #20

                  @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

                  ChristianSrC 1 Antwort Letzte Antwort
                  0
                  • ? Ein ehemaliger Benutzer

                    @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

                    ChristianSrC Offline
                    ChristianSrC Offline
                    ChristianSr
                    schrieb am zuletzt editiert von
                    #21

                    @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 Antwort Letzte Antwort
                    0
                    • ChristianSrC ChristianSr

                      @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.

                      ? Offline
                      ? Offline
                      Ein ehemaliger Benutzer
                      schrieb am zuletzt editiert von
                      #22

                      @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

                      ChristianSrC 1 Antwort Letzte Antwort
                      0
                      • ? Ein ehemaliger Benutzer

                        @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

                        ChristianSrC Offline
                        ChristianSrC Offline
                        ChristianSr
                        schrieb am zuletzt editiert von
                        #23

                        @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 Antwort Letzte Antwort
                        0
                        • ChristianSrC ChristianSr

                          @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/

                          ? Offline
                          ? Offline
                          Ein ehemaliger Benutzer
                          schrieb am zuletzt editiert von
                          #24

                          @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 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          486

                          Online

                          32.5k

                          Benutzer

                          81.8k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe