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. Grafana
  5. [gelöst] Zugriff auf eine MariaDB

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

[gelöst] Zugriff auf eine MariaDB

Geplant Angeheftet Gesperrt Verschoben Grafana
24 Beiträge 5 Kommentatoren 1.2k 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.
  • Ben1983B Ben1983

    Hallo, ich habe den SQL Adapter installiert und eine MariaDB auf meinem Synology NAS laufen.
    Hierzu nutze ich im ioBroker das in der MariaDB angelegte Passwort (und unser ist wohl root).
    Der ioBroker schreibt auch schön seine Daten.
    Will ich nun allerdings eine Verbindung zu Grafana herstellen, da sagt er mit bei einer Testverbindung:

    ERROR[01-16|06:34:39] Query error                              logger=tsdb.mysql error="Error 1130: Host '172.17.0.3' is not allowed to connect to this MariaDB server"
    

    265fabb7-ef10-48e6-861a-b493c00eb93c-image.png

    Hat jemand eine Idee, was das sein kann?

    Ps. Grafana läuft im Docker Container

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

    @ben1983

    Du hast geschrieben grafana läuft im docker Container? Die Datenbank dann auch? Würde ich mal auf Basis der ip Adresse vermuten.
    Die 172. Adressen sind eigentlich die Container internen Adressen, die ich nicht verwenden würde, da sie sich auch ändern können.

    Wenn jetzt dein Datenbank Container im Host Mode läuft, dann ist er unter der ip Adresse des Hosts erreichbar
    Wenn kein Hostessen, dann würde ich beide Container (grafana und Marias) beide ein zusätzliches gemeinsames Netz zuordnen.
    Dann sind beide Container jeweils unter ihrem Hostnamen oder Images als hostname erreichbar und du musst dich mit irgendwelchen ip Adressen nicht rumärgern, da docker.

    Wenn du solche Abhängigkeiten aufbaust, wäre es besser auch Services per docker-compose zu definieren. Je nach Verwaltungsteil nennt sich das immer wieder mal anders (bei portainer stacks)
    Darüber kann man über eine yaml Definition relativ einfach und übersichtlich neue Services definieren.

    Hier mal so ein Beispiel direkt von grafana
    https://github.com/tiredofit/docker-grafana/blob/main/examples/docker-compose.yml
    In diesem ist grafana und Maria über ein eigenes Netzwerk namens Services verschaltet und gegenseitig unter dem servicenamen als hostname erreichbar.
    Das lässt sich auch in separaten Dateien verwalten, wenn man bspw die Datenbank auch noch in anderen Container nutzen möchte.

    So das zur Erreichbarkeit.
    MySQL und Maria haben zur authorisierung eines Nutzers auch noch die Sicht von wo man zugreifen darf. Das lässt sich hierüber konfigurieren

    https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/

    Je nachdem was für ein Image du verwendest kann es sein das der image maintainer da auch schon defaults setzt oder entsprechende Environment variablen zur Konfiguration des Containers bereitstellt.

    Wie gesagt, bei Doktor bezogenen Konfiguration, keine IP Adresse verwenden, sondern den Hostnamen

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

    Marc BergM 1 Antwort Letzte Antwort
    0
    • OliverIOO OliverIO

      @ben1983

      Du hast geschrieben grafana läuft im docker Container? Die Datenbank dann auch? Würde ich mal auf Basis der ip Adresse vermuten.
      Die 172. Adressen sind eigentlich die Container internen Adressen, die ich nicht verwenden würde, da sie sich auch ändern können.

      Wenn jetzt dein Datenbank Container im Host Mode läuft, dann ist er unter der ip Adresse des Hosts erreichbar
      Wenn kein Hostessen, dann würde ich beide Container (grafana und Marias) beide ein zusätzliches gemeinsames Netz zuordnen.
      Dann sind beide Container jeweils unter ihrem Hostnamen oder Images als hostname erreichbar und du musst dich mit irgendwelchen ip Adressen nicht rumärgern, da docker.

      Wenn du solche Abhängigkeiten aufbaust, wäre es besser auch Services per docker-compose zu definieren. Je nach Verwaltungsteil nennt sich das immer wieder mal anders (bei portainer stacks)
      Darüber kann man über eine yaml Definition relativ einfach und übersichtlich neue Services definieren.

      Hier mal so ein Beispiel direkt von grafana
      https://github.com/tiredofit/docker-grafana/blob/main/examples/docker-compose.yml
      In diesem ist grafana und Maria über ein eigenes Netzwerk namens Services verschaltet und gegenseitig unter dem servicenamen als hostname erreichbar.
      Das lässt sich auch in separaten Dateien verwalten, wenn man bspw die Datenbank auch noch in anderen Container nutzen möchte.

      So das zur Erreichbarkeit.
      MySQL und Maria haben zur authorisierung eines Nutzers auch noch die Sicht von wo man zugreifen darf. Das lässt sich hierüber konfigurieren

      https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/

      Je nachdem was für ein Image du verwendest kann es sein das der image maintainer da auch schon defaults setzt oder entsprechende Environment variablen zur Konfiguration des Containers bereitstellt.

      Wie gesagt, bei Doktor bezogenen Konfiguration, keine IP Adresse verwenden, sondern den Hostnamen

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

      @oliverio sagte in Zugriff auf eine MariaDB:

      Ist ja alles richtig, was du schreibst. Aber auch nach diesem fancy Umbau stünde @Ben1983 vor dem gleichen Problem wie jetzt, da die MariaDB im default nur localhost zulässt.

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

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

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

      OliverIOO 1 Antwort Letzte Antwort
      0
      • Marc BergM Marc Berg

        @oliverio sagte in Zugriff auf eine MariaDB:

        Ist ja alles richtig, was du schreibst. Aber auch nach diesem fancy Umbau stünde @Ben1983 vor dem gleichen Problem wie jetzt, da die MariaDB im default nur localhost zulässt.

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

        @marc-berg

        Im Letzten Teil hab ich den link zur Konfigurierung von für Remote Hosts geschrieben?
        Das macht man dann über den Grant Befehl. Der pflegt dann eine Tabelle in der man nachsehen kann wer von welcher ip zugriffsberechtigt ist. Ich glaube man kann auch 0.0.0.0 oder % nehmen um diese zugriffsbeschränkung für einen User auszuschalten.

        Hier nochmal eine detailliertere Anleitung
        https://docs.bitnami.com/virtual-machine/infrastructure/lamp/administration/connect-remotely-mariadb/

        In der dB Konfiguration muss die bind-address noch auskommentiert werden und wie gesagt der Grant Befehl ausgeführt werden

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

        Marc BergM 1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @ben1983 sagte in Zugriff auf eine MariaDB:

          Also, ich wüsste jetzt nicht, wo ich da ne Adresse eintragen sollte.

          Das ist doch in der Anleitung ziemlich eindeutig:

          4582c22a-9ec6-4548-897a-07e5d485b1c5-image.png

          Ben1983B Offline
          Ben1983B Offline
          Ben1983
          schrieb am zuletzt editiert von
          #16

          @codierknecht Danke

          68fa684f-f70f-45f1-9dff-811e49e7f4db-image.png

          1 Antwort Letzte Antwort
          0
          • Ben1983B Offline
            Ben1983B Offline
            Ben1983
            schrieb am zuletzt editiert von
            #17

            So. Und jetzt komme ich zwar drauf, aber stehe da und weiß nicht, wie ich auf nem Dashboard per Query Builder an die Daten komme :dog:
            Wo finde ich den hier bspw. die ids, die ich auswählen kann?

            82bd8218-9a06-4a28-a536-797b2a7fcc42-image.png

            Marc BergM CodierknechtC 2 Antworten Letzte Antwort
            0
            • OliverIOO OliverIO

              @marc-berg

              Im Letzten Teil hab ich den link zur Konfigurierung von für Remote Hosts geschrieben?
              Das macht man dann über den Grant Befehl. Der pflegt dann eine Tabelle in der man nachsehen kann wer von welcher ip zugriffsberechtigt ist. Ich glaube man kann auch 0.0.0.0 oder % nehmen um diese zugriffsbeschränkung für einen User auszuschalten.

              Hier nochmal eine detailliertere Anleitung
              https://docs.bitnami.com/virtual-machine/infrastructure/lamp/administration/connect-remotely-mariadb/

              In der dB Konfiguration muss die bind-address noch auskommentiert werden und wie gesagt der Grant Befehl ausgeführt werden

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

              @oliverio sagte in [gelöst] Zugriff auf eine MariaDB:

              Im Letzten Teil hab ich den link zur Konfigurierung von für Remote Hosts geschrieben?
              Das macht man dann über den Grant Befehl. Der pflegt dann eine Tabelle in der man nachsehen kann wer von welcher ip zugriffsberechtigt ist. Ich glaube man kann auch 0.0.0.0 oder % nehmen um diese zugriffsbeschränkung für einen User auszuschalten.

              Ja, ich weiß. Das hatte ich ihm aber schon hier https://forum.iobroker.net/post/1239064

              konkret beschrieben. Ich wollte nur nicht noch mehr verwirren :-)

              NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+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
              • Ben1983B Ben1983

                So. Und jetzt komme ich zwar drauf, aber stehe da und weiß nicht, wie ich auf nem Dashboard per Query Builder an die Daten komme :dog:
                Wo finde ich den hier bspw. die ids, die ich auswählen kann?

                82bd8218-9a06-4a28-a536-797b2a7fcc42-image.png

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

                @ben1983 sagte in [gelöst] Zugriff auf eine MariaDB:

                So. Und jetzt komme ich zwar drauf, aber stehe da und weiß nicht, wie ich auf nem Dashboard per Query Builder an die Daten komme
                Wo finde ich den hier bspw. die ids, die ich auswählen kann?

                Es ist eine relationale Datenbank, darum ist das nicht so einfach. Deshalb ja auch das Beispiel von @Codierknecht: https://forum.iobroker.net/post/1239129 , welches du unter "Code" eingeben musst.

                NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+RabbitMQ+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
                2
                • Ben1983B Ben1983

                  So. Und jetzt komme ich zwar drauf, aber stehe da und weiß nicht, wie ich auf nem Dashboard per Query Builder an die Daten komme :dog:
                  Wo finde ich den hier bspw. die ids, die ich auswählen kann?

                  82bd8218-9a06-4a28-a536-797b2a7fcc42-image.png

                  CodierknechtC Offline
                  CodierknechtC Offline
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #20

                  @ben1983 sagte in [gelöst] Zugriff auf eine MariaDB:

                  Wo finde ich den hier bspw. die ids, die ich auswählen kann?

                  Siehe meine Antwort an @BananaJoe weiter oben.

                  In der DB besteht das Ganze beim SQL-Adapter aus mehreren Tabellen.
                  In datapoints steht nur die Übersetzung von States in id's.
                  Die eigentlichen Werte stehen (im Fall von Zahlenwerten) in ts_number.

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  Ben1983B 1 Antwort Letzte Antwort
                  0
                  • CodierknechtC Codierknecht

                    @ben1983 sagte in [gelöst] Zugriff auf eine MariaDB:

                    Wo finde ich den hier bspw. die ids, die ich auswählen kann?

                    Siehe meine Antwort an @BananaJoe weiter oben.

                    In der DB besteht das Ganze beim SQL-Adapter aus mehreren Tabellen.
                    In datapoints steht nur die Übersetzung von States in id's.
                    Die eigentlichen Werte stehen (im Fall von Zahlenwerten) in ts_number.

                    Ben1983B Offline
                    Ben1983B Offline
                    Ben1983
                    schrieb am zuletzt editiert von Ben1983
                    #21

                    @codierknecht

                    OK, habe dein Beispiel eingetragen

                    aa0d2140-6721-427f-95ad-cd91f4b1023b-image.png

                    Wie bekomme ich denn mehrere Werte in den Graph?

                    Edit:
                    Habe einfach ein 2. Query hinzugefügt... aber da kann ich nun nicht einzeln die farbe ändern.
                    Das muss doch auch gehen, oder?

                    #0cc01b4f-6687-401f-8e51-8b05f42b3ede-image.png

                    Edit. Edit:

                    Habe es gefunden. Muss natürlich unterschiedliche Namen vergeben.

                    befcfe84-0a5e-47f2-aa40-eedcefa12845-image.png

                    Nur eine Sache würde mich noch interessieren. Wie bekomme ich denn 2 Y-Achsen hin mit Einheit?
                    ... Auch das habe ich bereits bei Override gefunden.

                    Danke

                    CodierknechtC 1 Antwort Letzte Antwort
                    0
                    • Ben1983B Ben1983

                      @codierknecht

                      OK, habe dein Beispiel eingetragen

                      aa0d2140-6721-427f-95ad-cd91f4b1023b-image.png

                      Wie bekomme ich denn mehrere Werte in den Graph?

                      Edit:
                      Habe einfach ein 2. Query hinzugefügt... aber da kann ich nun nicht einzeln die farbe ändern.
                      Das muss doch auch gehen, oder?

                      #0cc01b4f-6687-401f-8e51-8b05f42b3ede-image.png

                      Edit. Edit:

                      Habe es gefunden. Muss natürlich unterschiedliche Namen vergeben.

                      befcfe84-0a5e-47f2-aa40-eedcefa12845-image.png

                      Nur eine Sache würde mich noch interessieren. Wie bekomme ich denn 2 Y-Achsen hin mit Einheit?
                      ... Auch das habe ich bereits bei Override gefunden.

                      Danke

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #22

                      @ben1983
                      Grafana ist irre mächtig. Da muss man sich (wie Du bereits festgestellt hast) 'ne Weile mit beschäftigen :grin:

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      Ben1983B 1 Antwort Letzte Antwort
                      0
                      • CodierknechtC Codierknecht

                        @ben1983
                        Grafana ist irre mächtig. Da muss man sich (wie Du bereits festgestellt hast) 'ne Weile mit beschäftigen :grin:

                        Ben1983B Offline
                        Ben1983B Offline
                        Ben1983
                        schrieb am zuletzt editiert von
                        #23

                        @codierknecht Ja,
                        die Daten aus der SQL zu bekommen ist als SQL "ich kenne nur den Namen Neuling" natürlich auch nicht das einfachste.

                        1 Antwort Letzte Antwort
                        0
                        • CodierknechtC Codierknecht

                          @bananajoe
                          Meinst Du sowas hier?

                          45d9bf48-b5f0-4d46-95c3-a2004f1575eb-image.png

                          Man muss sich lediglich die passenden ID's aus der Tabelle datapoints raussuchen.
                          Ein Subselect war mir an der Ecke zu aufwändig - auch wenn sich das besser lesen ließe. Sähe dann so aus:

                          SELECT ts AS "time",
                                 val AS "kWh"
                            FROM ts_number
                           WHERE id = (SELECT id FROM datapoints WHERE name = '0_userdata.0.Strom.tagesverbrauch')
                             AND val > 0
                             AND ts >= ${__from}
                             AND ts <= ${__to}  
                          

                          Oder alternativ als JOIN

                          SELECT N.ts AS "time",
                                 N.val AS "kWh"
                            FROM ts_number N
                           INNER JOIN datapoints P ON P.id = N.id AND P.name = '0_userdata.0.Strom.tagesverbrauch'
                           WHERE N.val > 0
                             AND N.ts >= ${__from}
                             AND N.ts <= ${__to}  
                          

                          Sinnvolle Werte für Charts stehen eh nur in ts_number. Strings oder Boolean-Werte zu visualisieren ist wohl eher unüblich.

                          BananaJoeB Offline
                          BananaJoeB Offline
                          BananaJoe
                          Most Active
                          schrieb am zuletzt editiert von
                          #24

                          @codierknecht da war deine Antwort an mich gleich doppelt gut! So eine einfach Erklärung hätte ich damals gebraucht.

                          ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                          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

                          518

                          Online

                          32.4k

                          Benutzer

                          81.5k

                          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