Ankündigung

Einklappen
Keine Ankündigung bisher.

Grafana und InfluxDB neben Edomi. Installation und Best Practice

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

    Wenn du mit Speicherzeiten die Retention in influxDB meinst, dann hängt diese immer am Bucket, d.h. dann müsste man unterschiedliche Buckets definieren.
    Ansonsten muss man die Retention extern realisieren, indem man entsprechende Befehle zum Löschen von Measurements bei bestimmtem Alter ausführt.

    Kommentar


      Ja genau, meinte die Speicherzeit in den Buckets. Die kann man ja leicht einstellen.
      Wenn ich da nun 2 Buckets mit unterschiedlichen Speicherzeiten (1x nie löschen + 1x z.B. 1Monat) habe für Werte vom KNX Bus, dann bräuchte ich ja auch 2 Configs für das KNX Plugin, wobei aber auch wieder 2 Tokens erzeugt werden. Aber beide scheinen nicht gleichzeitig aktiv sein zu können. Alternativ müsste man es schaffen in einer Config 2 verschiedene Bucket für die jeweiligen GAs zu definieren. Da weiß ich aber nicht wie.
      Gruß David

      Kommentar


        Darf ich fragen warum du das für nötig hältst?
        Speicherplatz, oder dauert die Diagramm-Anzeige dann länger?

        Also ich geh mal von mir aus 😅🙈, ich schreib schon wie ich finde recht viele Datenpunkte in die Datenbank, aber die einzelnen Werte hab ich KNX seitig meistens so eingestellt das sie ungefähr jede halbe Stunde einen Wert senden, manche sogar wesentlich seltener. Oder eben ab einer gewissen Wertänderung (bei den Geräten wo es geht).
        Das einzige wo recht viele Werte zusammen kommen ist bei den Stromzählern und Wirkleistungsaktoren bei den Leistungswerten (W), da sich diese doch recht oft ändern.

        Aber ich sag’s mal so, solange der KNX Bus damit klar kommt sollte influxdb spielend damit umgehen können 😉.


        Ne Möglichkeit wäre vielleicht, das du für die Werte die die nur kurz speichern willst über Edomi gehst und einfach so in ein extra bucket schreibst. Um wie viele Datenpunkte handelt es sich denn ungefähr?
        Gruß Ben

        Kommentar


          Ich dachte einfach nur das man gar nicht erst in Versuchung kommt Daten, die man nicht ewig lange braucht, unendlich lange zu speichern. Wieviele Daten es final werden kann ich noch nicht abschätzen. Aber vielleicht bin ich da einfach etwas zu übervorsichtig. Der „Umweg“ über edomi wäre eine Alternative.
          Aber ich versuche es vielleicht auch erstmal mit einem Bucket
          Gruß David

          Kommentar


            In Telegraf kann man das zum Beispiel über namepass und namedrop machen:

            Outputs:

            Code:
            [[outputs.influxdb_v2]]
               urls = ["https://<influx-server>:8086"]
               token = "$INFLUX_TOKEN"
               organization = "<YOUR-ORG>"
               bucket = "TELEGRAF"
               tls_ca = "/etc/telegraf/ca.pem"
               namedrop = ["Temperatur Büro","Temperatur Flur"]
            
            [[outputs.influxdb_v2]]
               urls = ["https://<influx-server>:8086"]
               token = "$INFLUX_TOKEN"
               organization = "<YOUR-ORG>"
               bucket = "KNX"
               tls_ca = "/etc/telegraf/ca.pem"
               namepass = ["Temperatur Büro"]
            
            [[outputs.influxdb_v2]]
               urls = ["https://<influx-server>:8086"]
            ​   token = "$INFLUX_TOKEN"
               organization = "<YOUR-ORG>"
               bucket = "KNX30"
               tls_ca = "/etc/telegraf/ca.pem"
               namepass = ["Temperatur Flur"]
            ​
            Inputs:

            Code:
            [[inputs.knx_listener.measurement]]
            name = "Temperatur Flur"
            dpt = "9.001"
            addresses = ["2/1/41"]
            
            [[inputs.knx_listener.measurement]]
            name = "Temperatur Büro"
            dpt = "9.001"
            addresses = ["2/1/21"]
            ​
            Eigentlich sollte das auch über tagdrop, tagpass und tagexclude funktionieren, aber beim KNX Plugin ist es mir nicht gelungen ein Tag hinzuzufügen.
            Man würde dann z.B. ein tag knx=30days im KNX Input Plugin hinzufügen und im influxdb_v2 Output Plugin anhang des tags entscheiden in welchen Bucket es geht. Falls das jemand schafft wäre ich daran interessiert.

            Kommentar


              Zitat von BadWicky Beitrag anzeigen
              rdeckard, du hast doch die selbe Konstellation wie ich, Proxmox edomi und Proxmox InfluxDB?
              Wie hast du den LBS im edomi Proxmox installiert?.
              Kannst du mir hier eine Hilfestellung geben was du alles übers Terminal installiert hast.
              Welches LXC Template von starwarsfan hast du im Einsatz?
              Würde mich über eine Antwort freuen.
              LG Andreas
              Servus Andi
              Habt ihr das Problem mittlerweile lösen können?
              Bei mir funktioniert auch die manuelle Übertragung, beim automatischen Synchen passiert aber genau nichts.
              Nutze ebenfalls den Edomi Container von Yves.

              Siehe auch hier:
              https://knx-user-forum.de/forum/proj...14#post1845614

              Liebe Grüße
              Jürgen

              Kommentar


                Hallo Jürgen, nein bekomme es nicht hin. Hab jetzt schon so viel versucht aber es will einfach nicht funktionieren. Bin ratlos was ich hier machen soll. Darum ja auch die Frage in die Runde, ob es hier ein how to gibt wie hier vorgegangen werden muss, um den lbs in Proxmox Rocky zum Laufen zu bringen.
                Zuletzt geändert von BadWicky; 15.02.2023, 11:43.

                Kommentar


                  OK danke.
                  Vielleicht meldet sich rdeckard ja noch, der hats nämlich so laufen.

                  LG

                  Kommentar


                    Hmm...ich habe es (leider noch) nicht produktiv im Einsatz. Aber ich habe damals den LBS mit dem Starwarsfan Proxmox Edomi LXC installiert und auch erfolgreich getestet. (Sonst hätte ich die Screenshots für mein Guide nicht erstellen können.)
                    Bin eigentlich genau so vorgegangen, wie ich im Guide erwähnt habe. Habe also nichts weiteres im Terminal eingegeben, was ich nicht erwähnt habe. (Und ich habe damals die Prozedur mehrfach durchgespielt. Also wirklich Template komplett gelöscht und neu begonnen.)

                    Ich habe damals erfolgreich meine fast 16 Mio. Datenarchiv-Einträge mit diesem LBS nach InfluxDB migrieren können.

                    Was ich aber nicht getestet habe, sind InfluxDB-Einträge aus dem laufenden Betrieb, weil ich diese Edomi-Test-Instanz nicht am KNX-Bus habe. Somit kommen keine neuen Sensor-Daten zum LBS.

                    Aber ich kann mir nicht vorstellen, dass der LBS ohne KNX funktioniert (copy) und der laufende Betrieb mit KNX (sync) nicht. Aber eben...das habe ich noch nicht getestet, weil ich mangels Zeit hier nicht weitergekommen bin.

                    Kommentar


                      Servus rdeckard
                      Hab mir jetzt Beitrag #67 nochmals durchgelesen und dort schreibst du:

                      E7 und E8 beziehen sich dann später auf den Sync von NEUEN Einträgen in Edomi Datenarchive. Das kann uns für den ersten Test noch egal sein. (Darauf achten, dass für diesen Test keine neuen Einträge in ein Edomi Datenarchiv geschrieben werden.)
                      Das einmalige Überspielen der Werte hat bei BadWicky und mir auch funktioniert, allerdings funktioniert das synchronisieren nicht, und das wird bei dir dann vermutlich auch nicht funktionieren.
                      Eventuell schreibst du händisch mal einen Wert ins Datenarchiv und schaust ob es geht, dann können wir den Fehler einschränken.

                      Kann es sein dass die Archive wo anders liegen als bei der Standard Installation und dadurch die Werte nicht abgefragt werden können?

                      LG

                      Kommentar


                        Hat jemand zufällig influxDB und Telegraf in einem LXC und dort als Dienst laufen, so dass nach einem Neustart die config automatisch "eingebucht" wird?
                        Nach jedem Neustart muss ich manuell über das Terminal folgendes ausführen, dass die Werte geschrieben werden.

                        Code:
                        export INFLUX_TOKEN=1234567​
                        und

                        Code:
                        telegraf --config http://10.0.20.30:8086/api/v2/telegrafs/0abc0d2153249000​
                        habe schon in folgenden Dateien Ergänzungen vorgenommen, allerdings ohne das es funktioniert.
                        /etc/default/telegraf
                        ​/etc/telegraf/telegraf.conf
                        Gruß David

                        Kommentar


                          Ich weiß dass ich lästig bin , aber hat jemand eine Lösung für BadWicky und mein Problem welches in Beitrag https://knx-user-forum.de/forum/proj...14#post1845614 beschrieben ist.

                          Leider komme ich, sollte es keine Lösung geben, mit meinem Umzug auf Influx und Grafana nicht weiter. Eigentlich wollte ich es in der kalten Jahreszeit abgeschlossen haben. Bin aber ein vollkommener Laie, und ohne Hilfe wird`s leider nichts, ich glaube aber dass im Container von starwarsfan irgendwas anders ist als in der Standard Centos und man irgendwas anpassen muss.

                          Grüße Jürgen

                          Kommentar


                            Hallo,

                            ich verzweifel so langsam an Telegraf.
                            Dieser soll von einem Mosquitto MQTT Server Daten von Edomi sammeln und in eine InfluxDB schieben.
                            Das Topic ist in meinem Fall Edomi/Strom/eHZ/Watt. (Ob das eine gute Nomenklatur ist weiß ich noch nicht...)
                            Darunter veröffentlicht Edomi den aktuellen Wert des Stromzählers. Das KO ist in Edomi als "Variant" mit einer Nachkommastelle angelegt.

                            Ich kriege das Thema aber nicht ordentlich in Telegraf geparst, die Daten werden immer unter dem Standard measurement "mqtt_customer" in Influx gespeichert.

                            Nach dem Tutorial war mein erster Tipp, dass ich die Konfig wiefolgt aufbaue: (IP, user & Passwort sind Platzhalter)

                            [[inputs.mqtt_consumer]]
                            servers = ["tcp://a.b.c.d:1883"]
                            username ="user"
                            password = "pwd"

                            topics = [
                            "Edomi/Strom/eHZ/#",
                            ]​
                            data_format = "value"
                            data_type = "float"

                            [[inputs.mqtt_consumer.topic_parsing]]
                            topic = "Edomi/Strom/eHZ/+"
                            measurement = "_/+/+/_"
                            tags = "_/_/_/+"

                            Mein Ziel war, dass unter measurement "Strom, eHZ" auftaucht und als Tag die Einheit "Watt" in diesem Fall.

                            Es klappt aber einfach nicht. Ich habe schon verschiedenste Kombis ausprobiert aber Telgraf schreibt die Daten immer nur als "mqtt_customer" in die datenbank...

                            Was ich schonmal erfolgreich geschafft hatte, war einen Trigger aus Edomi unter dem Topic "Testtopic" zu veröffentlichen und richtig zu parsen.
                            Keine Ahnung warum das bei dem komplizierterem Topic nicht klappt.

                            Hat jemand eine Idee und kann mir helfen?

                            Danke & Grüße!

                            Kommentar


                              Zitat von fudi6489 Beitrag anzeigen
                              Ich weiß dass ich lästig bin , aber hat jemand eine Lösung für BadWicky und mein Problem welches in Beitrag https://knx-user-forum.de/forum/proj...14#post1845614 beschrieben ist.

                              Grüße Jürgen
                              Guten Morgen,

                              So habe ich es hinbekommen:

                              Code:
                              yum -y install php-process git gcc make mariadb-devel php-devel
                              yum -y install autoconf automake libtool
                              cd /tmp
                              git clone https://github.com/jonofe/lib_mysqludf_sys
                              cd lib_mysqludf_sys/​
                              Dann muss was in Makefile angepasst werden:

                              Code:
                              nano Makefile
                              Am Ende muss es so aussehen:

                              Code:
                              LIBDIR=/usr/lib64/mysql/plugin
                              
                              install:
                                      gcc -DMYSQL_DYNAMIC_PLUGIN -fPIC -Wall -I/usr/include/mysql/server/ -I/usr/include/mysql/server/private/ -I. -shared lib_mysqludf_sys.c -o $(LIBDIR)/lib_mysqludf_sys.so​
                              Dann noch den Ordner Plugin anlegen:

                              Code:
                              mkdir /usr/lib64/mysql/plugin/
                              Der Rest ist wie in der Anleitung

                              Code:
                              ./install.sh
                              cd /tmp
                              rm -rf lib_mysqludf_sys/
                              git clone https://github.com/mysqludf/lib_mysqludf_log
                              cd lib_mysqludf_log
                              autoreconf -i
                              ./configure
                              make
                              make install
                              mysql < installdb.sql
                              
                              
                              cd /tmp
                              wget --no-check-certificate https://getcomposer.org/installer
                              php installer
                              mv -f composer.phar /usr/local/bin/composer
                              
                              cd /usr/local/edomi/www/admin/include/php/
                              mkdir influx-client
                              cd influx-client/
                              composer require influxdata/influxdb-client-php​
                              Ob man das hier auch noch braucht, bin ich mir nicht sicher aber im Notfall einfach installieren.

                              Code:
                              composer require php-http/guzzle7-adapter
                              Gruß Hardi​
                              Zuletzt geändert von elkomaster91; 09.04.2023, 10:37.

                              Kommentar


                                Guten Abend!
                                weiß jemand wie man die Beschriftungsgröße der Achsen in Grafana ändern kann?

                                Unbenannt.png


                                Kommentar

                                Lädt...
                                X