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

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

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

[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

    @marc-berg Also, ich wüsste jetzt nicht, wo ich da ne Adresse eintragen sollte.

    CodierknechtC Online
    CodierknechtC Online
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von
    #12

    @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

    "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
    • 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 Online
                    CodierknechtC Online
                    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 Online
                        CodierknechtC Online
                        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

                            487

                            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