Ankündigung

Einklappen
Keine Ankündigung bisher.

Support Thread für influxdb Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Support Thread für influxdb Plugin

    Fragen und Lösungen zum influxdb Plugin. Über kurz oder lang wäre eine Verschmelzung mit influxdata anzudenken..

    #2
    Zitat von Onkelandy Beitrag anzeigen
    Über kurz oder lang wäre eine Verschmelzung mit influxdata anzudenken..
    Guten Abend
    ich bereite gerade die Migration von meiner derzeitigen 1.5.1 Installation vor und bin bei der frischen 1.9.1 auf den deprecated-Hinweis zum influxdata Plugin gestoßen.

    Wenn ich mich recht entsinne gab es man einen Thread, in dem über beide diskutiert wurden.

    Ist der aktuelle Stand, dass zukünftig der Weg über influxdb das favorisierte Plugin ist?

    Augenscheinlich hat es mit den Tags auch mehr Funktionalität, ist aber von Code-Änderungen her zeitlich identisch zu influxdata.

    Kommentar


      #3
      Ich arbeite zurzeit an einem neuen influxdb2 Plugin, welches auf InfluxDB v2.x aufsetzt. Es wird (hoffentlich) alle Features der beiden bereits bestehenden Plugins bieten. Außerdem plane ich die Möglichkeit ein, dass das neue Plugin Daten für die smartVISU liefert. Es soll nach Möglichkeit also auch ein Ersatz für den Großteil der Anwendungen des database Plugins sein. ETA ist SmartHomeNG Release 1.10

      Viele Grüße
      Martin

      There is no cloud. It's only someone else's computer.

      Kommentar


        #4
        Danke, dann schaue ich mal ob influxdb in meiner Umgebung funktioniert und bin dann auf influxdb2 gespannt. Meine influx Installation ist auch noch auf der Major 1.
        Teste dann auch gerne influxdb2

        Kommentar


          #5
          Zitat von Msinn Beitrag anzeigen
          Ich arbeite zurzeit an einem neuen influxdb2 Plugin, welches auf InfluxDB v2.x aufsetzt. Es soll nach Möglichkeit also auch ein Ersatz für den Großteil der Anwendungen des database Plugins sein. ETA ist SmartHomeNG Release 1.10
          Klasse, da freue ich mich drauf!
          Ich hatte mich schon gefragt ob es nicht vielleicht sinnvoll ist dem database plugin influx beizubringen.
          Warum hast du dich nicht dafür entschieden?

          Einen Feature Wunsch habe ich: es wäre toll wenn man die Datenbank auf Knopfdruck in der Vergangenheit grober machen kann.
          Ich glaube das kann nur influx bei der richtigen Einstellung auch selber.

          Viele Grüße,
          Hendrik

          Kommentar


            #6
            Zitat von henfri Beitrag anzeigen
            Ich hatte mich schon gefragt ob es nicht vielleicht sinnvoll ist dem database plugin influx beizubringen.
            Warum hast du dich nicht dafür entschieden?
            Kurz gesagt: Weil das database Plugin relationale Datenbanken unterstützt und InfluxDB keine relationale Datenbank ist.

            Zitat von henfri Beitrag anzeigen
            Einen Feature Wunsch habe ich: es wäre toll wenn man die Datenbank auf Knopfdruck in der Vergangenheit grober machen kann.
            Ich wünsche mir auch schon lange, dass SmartHomeNG mir ein 5 Gänge Menü kocht, das wird aber leider nicht passieren
            Wie Du schreibst, ist das ein InfluxDB Thema und da will ich es auch lassen. (Das database Plugin kümmert sich ja auch nicht darum, wie MySQL zu konfigurieren ist)
            Viele Grüße
            Martin

            There is no cloud. It's only someone else's computer.

            Kommentar


              #7
              Hallo,

              ich denke auch, dass die Funktion ansich bei Influx bleiben soll. Gleichzeitig denke ich, dass SHNG die Einstellungen beim Erstellen der DB machen sollte. SHNG sollte also das Userinterface für die Retention-Policy bereitstellen.
              Bei einer App, die im Hintergrund eine DB nutzt muss ich ja auch die Einstellungen der DB nicht im Userinterface (oder schlimmer der Kommandozeile) der DB machen.
              Ich verstehe, wenn das zu aufwändig ist. Sinnvoll wäre das aber - und auch denke ich noch weit entfernt vom 5 Gänge Menü - daher verstehe ich den Sarkasmus nicht.

              Gruß,
              Hendrik

              Kommentar


                #8
                Wenn ich das richtig verstanden habe mit InfluxDB2, dann musst Du die Buckets für InfluxDB2 so anlegen, das die die Retention Policy beinhalten.
                Das geht also IMHO nicht über SmartHomeNG.

                Ich hätte auch gerne eine Datenbank die die alten Daten irgendwann ausflöht und ausdünnt, ähnlich wie RRD das macht. Aber RRD ist halt sehr starr in den Anforderungen an Datenpunkte und InfluxDB2 hat die Buckets.
                Eventuell kann man ja irgendwann mal die Datenpunkte von InfluxDB2 abrufen, die in SHNG ausdünnen und dann per SQL artiger Abfrage die Überflüssigen Datenpunkte wegwerfen. Wenn Du Lust hast entwickelt doch mal eine Logik dazu die das am Beispiel eines Stromzählers macht der dann in der Vergangenheit nur noch einen Wert pro Stunde hat.
                Oder alternativ mehrere Buckets mit unterschiedlichen Retention Policies mit einem Item befüllen und der Series beibringen das sie für unterschiedliche Zeiträume dann eben unterschiedliche Buckets nehmen soll.

                Kommentar


                  #9
                  Hallo,

                  aus Anwendersicht ist es doch so, dass ich mir im normalen Leben bei Applikationen keinen Gedanken über die dahinter liegende Datenbank mache. Ich muss mich v.a. nicht per Kommandozeile bei dieser anmelden.

                  Zitat von bmx Beitrag anzeigen
                  Wenn ich das richtig verstanden habe mit InfluxDB2, dann musst Du die Buckets für InfluxDB2 so anlegen, das die die Retention Policy beinhalten.
                  Das geht also IMHO nicht über SmartHomeNG.
                  Das wäre aber schade - und das verstehe ich nicht ganz, denn Smarthome legt die Datenbank doch bisher auch an. Das Anlegen einer DB funktioniert also augenscheinlich per API. Verstehe ich es richtig, dass man die nötigen Parameter aber per API nicht übergeben kann?

                  Also an der Kommandozeile geht
                  Code:
                  new_bucket('smarthome', retention=365)
                  aber per API geht nur
                  Code:
                  new_bucket('smarthome')
                  ?
                  Würde es nicht reichen, ein
                  Code:
                  CREATE RETENTION POLICY <retention_policy_name> ON <database_name> DURATION <duration> REPLICATION <n> [SHARD DURATION <duration>] [DEFAULT]
                  nach dem Erstellen aufzurufen - geht das nicht per API?

                  Oder alternativ mehrere Buckets mit unterschiedlichen Retention Policies mit einem Item befüllen und der Series beibringen das sie für unterschiedliche Zeiträume dann eben unterschiedliche Buckets nehmen soll.
                  Ah, ich beginne zu verstehen: Influx kann gar nicht "verdichten", sondern wirft die Daten einfach nach einer Zeit raus?
                  Na dann hilft es aber doch auch nicht, verschiedene Buckets zu haben, sondern die Applikation (smarthome) müsste die DB regelmäßig warten.

                  Wenn das so ist: Gibt es keine Alternative zu influx und rrd, die das kann?

                  Gruß,
                  Hendrik

                  Kommentar


                    #10
                    Zitat von henfri Beitrag anzeigen
                    Wenn das so ist: Gibt es keine Alternative zu influx und rrd, die das kann?
                    Kann sein, aber danach werde ich nicht suchen. Hier geht es um die Implementierung eines neuen InfluxDB Plugins.

                    Wenn Du eine andere Lösung findest, bist Du herzlich eingeladen dafür ein Plugin zu schreiben.
                    Viele Grüße
                    Martin

                    There is no cloud. It's only someone else's computer.

                    Kommentar


                      #11
                      Warum immer so grantig?

                      Kommentar


                        #12
                        Wieso grantig?

                        Ich habe nur darauf hingewiesen, dass Du in einem SupportThread für InfluxDB Vorschläge machst etwas anderes zu implementieren.

                        Außerdem kann InfluxDB ein Downsampling von Daten, nur nicht so, wie Du es die vorstellst. Du benötigst außer einem Bucket zum speichern von Rohdaten (durch das Plugin), ein Bucket, welches die verdichteten Daten aufnimmt und ein Flux Skript, welches das downsampling vornimmt. Das Bucket mit den Rohdaten sollte eine passen kurze Retention Time haben.

                        Du hast dann im Ergebnis ein Bucket im shortterm Datenen und ein Bucket mit logterm Daten.

                        So etwas lässt sich, wenn man im ersten Schritt nicht zu stark downsamplen möchte, natürlich auch mehrstufig implementieren.
                        Viele Grüße
                        Martin

                        There is no cloud. It's only someone else's computer.

                        Kommentar


                          #13
                          Hallo,

                          aber wäre eine Continous Query nicht genau das, was hierfür nötig ist?
                          https://docs.influxdata.com/influxdb...ntinuous-query

                          Man würde ein Bucket mit Daten der letzten 6 Monate erstellen, der nicht down-sampled. Und weitere Buckets mit den stündlichen/täglichen/wöchentlichen Mittelwerten mit angepasster retention (wöchentlich unendlich, täglich 24 monate, stündlich 12 monate z.B.).
                          Bei der Abfrage der Werte würde man -je nach abgefragtem Zeitraum- den jeweiligen Bucket wählen (man könnte sogar die Daten kombinieren, aber das ist vielleicht nicht nötig).

                          Das sollte doch gehen, oder?

                          Ich weiß nur nicht, wie dann z.B. Grafana mit Buckets umgeht... Da müsste ich dann beim Erstellen des Dashboards wählen, welchen Bucket ich nutzen will. Das ist dann ein bisschen unschön.

                          Oder geht statt
                          Code:
                          SELECT mean("value") FROM "hourly.Haustechnik.UVR.Kollektortemp"
                          und
                          Code:
                          SELECT mean("value") FROM "daily.Haustechnik.UVR.Kollektortemp"
                          auch sowas
                          Code:
                          SELECT mean("value") FROM "*.Haustechnik.UVR.Kollektortemp"
                          P.S: hier wird etwas ähnliches erklärt:
                          https://community.openhab.org/t/infl...rd-style/88395
                          https://bostik.iki.fi/aivoituksia/pr...nsampling.html

                          Gruß,
                          Hendrik
                          Zuletzt geändert von henfri; 19.03.2022, 11:48.

                          Kommentar


                            #14
                            Zitat von henfri henfri Beitrag anzeigen
                            aber wäre eine Continous Query nicht genau das, was hierfür nötig ist?
                            https://docs.influxdata.com/influxdb...ntinuous-query
                            Du bist in der Doku zum alten API unterwegs.

                            Zitat von henfri henfri Beitrag anzeigen
                            Man würde ein Bucket mit Daten der letzten 6 Monate erstellen, der nicht down-sampled. Und weitere Buckets mit den stündlichen/täglichen/wöchentlichen Mittelwerten mit angepasster retention (wöchentlich unendlich, täglich 24 monate, stündlich 12 monate z.B.).
                            Bei der Abfrage der Werte würde man -je nach abgefragtem Zeitraum- den jeweiligen Bucket wählen
                            Das ist genau das, was ich im Post über Deinem beschrieben hatte.

                            Zitat von henfri henfri Beitrag anzeigen
                            Ich weiß nur nicht, wie dann z.B. Grafana mit Buckets umgeht... Da müsste ich dann beim Erstellen des Dashboards wählen, welchen Bucket ich nutzen will. Das ist dann ein bisschen unschön.
                            In den Dashboards von InfluxDB selbst, kann man die Graphen aus den verschiedenen Buckets nebeneinander darstellen. Man muss natürlich für jeden Graphen die Quelle (also das Bucket) wählen.

                            Buckets sind übrigens in Version 2 von InfluxDB hinzu gekommen (und daher auch erst in der Dokumentation zum API v.2 beschrieben). In der alten Version von InfluxDB (bis v1.8) gab es "Databases", die in etwa das Äquivalent zu den Buckets in den neueren Versionen sind.
                            Viele Grüße
                            Martin

                            There is no cloud. It's only someone else's computer.

                            Kommentar


                              #15
                              Zitat von Msinn Beitrag anzeigen
                              Ich arbeite zurzeit an einem neuen influxdb2 Plugin, welches auf InfluxDB v2.x aufsetzt. Es wird (hoffentlich) alle Features der beiden bereits bestehenden Plugins bieten. Außerdem plane ich die Möglichkeit ein, dass das neue Plugin Daten für die smartVISU liefert. Es soll nach Möglichkeit also auch ein Ersatz für den Großteil der Anwendungen des database Plugins sein. ETA ist SmartHomeNG Release 1.10
                              Ich bin nun bei meiner neuen Installation auf influxdb statt influxdata gewechselt, da bei influxdata das Caller Tag vom KNX-Plugin ein falsches Format wegen dem nicht escapten Komma hat.

                              Dabei ist mir aufgefallen, das aus Keyword im influxdb-Plugin nur 'influxdb' funktioniert.

                              Ich hatte am Anfang 'influx' aus dem vorherigen influxdata übernommen, aber dann gab es Fehler, dass es ein undefiniertes Attribut ist.

                              Das als Info, falls influxdb Grundlage für das neue influxdb2 wird.

                              Bei Bedarf kann ich noch mehr Infos (Logs/Konfig) liefern.

                              Kommentar

                              Lädt...
                              X