Ankündigung

Einklappen
Keine Ankündigung bisher.

Influx - Grafana - Problem mit/bei LBS 19002576

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

    Influx - Grafana - Problem mit/bei LBS 19002576

    Hallo Andre / jonofe,

    habe jetzt nach dem Best-Pratice-Thread heute mit Influx und Edomi angefangen. Ich kriege aber keine Daten in Influx. Ich sehe auch nicht warum. Alle Installationsbefehle habe ich ausgeführt und die wurden auch meiner Meinung nach richtig ausgeführt (hab die Datenausgabe kopiert falls Du es Dir ansehen willst).


    2022-11-15_20h00_17.png

    1. (blöde) Frage: Wo ist denn der Unterschied zwischen E7 und E10? Irgendwie erschließt sich mir der Unterschied anhand der Beschreibung nicht. Ich will erstmal nur ein einzigen Datenarchiv kopieren. Habe jetzt also bei E7 und E10 eine 22 (ID 22) eingetragen.

    Edit: Ich glaube ich habe es jetzt mit dem Hinweis unter "Important" verstanden.

    Trage ich das Archiv unter E7 ein, wird ein kontinuierlicher Sync durchgeführt. Verstehe es so, dass bei jeder Änderung der neue Wert in Influx geschrieben wird.

    Trage ich das Archiv unter E10 ein, wird nur 1x das Archiv synchronisiert.

    Habe ich das jetzt richtig verstanden?

    Beim Start von Edomi werden auch die beiden Logs geschrieben:

    Code:
    2022-11-15 19:49:2623576121817debugLBS19002576 [v0.2b]: Query: DROP PROCEDURE IF EXISTS influx_update; (1337)
    2022-11-15 19:49:2623767921817debugLBS19002576 [v0.2b]: Query: DROP TRIGGER IF EXISTS influx_insert_trigger; (1337)
    2022-11-15 19:49:2623871421817debugLBS19002576 [v0.2b]: Query: DROP TRIGGER IF EXISTS influx_update_trigger; (1337)
    2022-11-15 19:49:2623930821817debugLBS19002576 [v0.2b]: Query: DROP TRIGGER IF EXISTS influx_delete_trigger; (1337)
    2022-11-15 19:49:2624011221817debugLBS19002576 [v0.2b]: Query: CREATE PROCEDURE influx_update(command VARCHAR(10), archiveId INT(20), archiveName VARCHAR(100), value VARCHAR(10000), timestamp DATETIME, ms INT(11)) BEGIN DECLARE cmd VARCHAR(1000); DECLARE result INT(10); DECLARE logresult INT(10); SET cmd = CONCAT('/usr/bin/bash -c "/usr/bin/php /usr/local/edomi/www/data/liveproject/lbs/EXE19002576.php ',command,' ',archiveId,' \'',archiveName,'\' \'',value,'\' \'',timestamp,'\' ',ms,' & "'); SET result = sys_exec(cmd); END (1337)
    2022-11-15 19:49:2624134121817debugLBS19002576 [v0.2b]: Query: CREATE TRIGGER influx_insert_trigger AFTER INSERT ON archivKoData FOR EACH ROW BEGIN DECLARE archiveName VARCHAR(100); SELECT name INTO archiveName FROM edomiLive.archivKo WHERE id = NEW.targetid; CALL influx_update('INSERT', NEW.targetid, archiveName, NEW.gavalue, NEW.datetime, NEW.ms); END (1337)
    Code:
    2022-11-15 19:49:26 CET START copying data archives
    2022-11-15 19:49:26 CET Data archives in scope: copy
    2022-11-15 19:49:26 CET Start copying data archive: 22
    2022-11-15 19:49:26 CET Query: SELECT name FROM edomiLive.archivKo where id = 22
    2022-11-15 19:49:26 CET Copying 'Gaszähler - Tageswert' data archive to Influx DB...
    2022-11-15 19:49:26 CET Query: SELECT * FROM edomiLive.archivKoData where targetid=22 AND datetime > '1970-01-01 00:00:00' AND datetime < '2022-11-15 19:49:26'
    2022-11-15 19:49:26 CET Query SUCCESS
    2022-11-15 20:00:00 CET START
    2022-11-15 20:00:00 CET END​


    Im Datenexplorer von Influx sehe ich aber im Bucket keine Daten. Was verstehe bzw. was mache ich falsch?

    Kannst Du mir helfen?

    vg, Bernd
    Zuletzt geändert von gibsonrocker; 15.11.2022, 20:28.

    #2
    E10 - E13 ist wie du richtig beschreibst für das einmalige Kopieren von bestimmten/allen Datenarchiven eines bestimmten Zeitraums.
    Daher diese Eingänge auf keinen Fall statisch belegen, sondern nur mit iKOs, die man dann bei Bedarf triggert. Oder aber triggern nur in der Liveansicht.

    Zum kontinuierlichen syncen des Datenarchivs mit der ID22 ist die Konfiguration von E7/E8 korrekt.

    Dann solltest du mal einen Wert in das Datenarchiv schreiben, z.B. über die Liveansicht.
    Dann sollte dazu ein Eintrag im Log auftauchen und dann auch in Influx.

    Also zuerst mal E10-E12 leer machen und Projekt neu aktivieren und dann mal was in DA 22 schreiben und Logs prüfen.

    Kommentar


      #3
      Hi...

      Danke für Deine schnelle Antwort. Bin jetzt erst (Abends) wieder dazu gekommen es noch einmal zu testen. Erst dachte ich, ich habe es gefunden. Ich hatte keinen "All Access Tolken". Es hat der Haken bei "All Orgs" gefehlt. Habe jetzt einen neuen Tolken angelegt der alles darf. Den Tolken habe ich auch im LBS eingetragen. Hab noch einmal alles auf Schreibfehler oder Copy-Paste-Fehler kontrolliert. Mir fällt nichts auf.

      Ich trage morgen mal einen Wert fest in das Bucket ein und schaue ob Grafana darauf zugreifen kann. Dann kann ich auch mal nach einem Log der Influx schauen ob ich an dieser Stelle etwas finde.

      Im Moment sieht es so aus wenn ein Wert ins KO geschrieben wird:

      Code:
      2022-11-16 19:36:39    213037    17895    debug    LBS19002576 [v0.2b]: Query: DROP PROCEDURE IF EXISTS influx_update; (1337)
      2022-11-16 19:36:39    215141    17895    debug    LBS19002576 [v0.2b]: Query: DROP TRIGGER IF EXISTS influx_insert_trigger; (1337)
      2022-11-16 19:36:39    216249    17895    debug    LBS19002576 [v0.2b]: Query: DROP TRIGGER IF EXISTS influx_update_trigger; (1337)
      2022-11-16 19:36:39    216928    17895    debug    LBS19002576 [v0.2b]: Query: DROP TRIGGER IF EXISTS influx_delete_trigger; (1337)
      2022-11-16 19:36:39    217633    17895    debug    LBS19002576 [v0.2b]: Query: CREATE PROCEDURE influx_update(command VARCHAR(10), archiveId INT(20), archiveName VARCHAR(100), value VARCHAR(10000), timestamp DATETIME, ms INT(11)) BEGIN DECLARE cmd VARCHAR(1000); DECLARE result INT(10); DECLARE logresult INT(10); SET cmd = CONCAT('/usr/bin/bash -c "/usr/bin/php /usr/local/edomi/www/data/liveproject/lbs/EXE19002576.php ',command,' ',archiveId,' \'',archiveName,'\' \'',value,'\' \'',timestamp,'\' ',ms,' & "'); SET result = sys_exec(cmd); END (1337)
      2022-11-16 19:36:39    218660    17895    debug    LBS19002576 [v0.2b]: Query: CREATE TRIGGER influx_insert_trigger AFTER INSERT ON archivKoData FOR EACH ROW BEGIN DECLARE archiveName VARCHAR(100); SELECT name INTO archiveName FROM edomiLive.archivKo WHERE id = NEW.targetid; CALL influx_update('INSERT', NEW.targetid, archiveName, NEW.gavalue, NEW.datetime, NEW.ms); END (1337)​
      Code:
      2022-11-16 19:37:15 CET    START
      2022-11-16 19:37:15 CET    END
      
      2022-11-16 19:37:43 CET    START
      2022-11-16 19:37:43 CET    END
      
      2022-11-16 19:38:04 CET    START
      2022-11-16 19:38:04 CET    END
      
      2022-11-16 19:38:21 CET    START
      2022-11-16 19:38:21 CET    END
      
      2022-11-16 19:38:37 CET    START
      2022-11-16 19:38:37 CET    END
      
      2022-11-16 19:38:53 CET    START
      2022-11-16 19:38:53 CET    END
      
      2022-11-16 19:39:09 CET    START
      2022-11-16 19:39:09 CET    END​
      Uns so weiter....

      Könnte bei der Installation der benötigten Pakete was schief gelaufen sein?

      Kommentar


        #4
        Zitat von gibsonrocker Beitrag anzeigen
        Im Moment sieht es so aus wenn ein Wert ins KO geschrieben wird:
        Das ist seltsam.

        Das EXEC Log sollte für jeden Eintrag ungefähr so aussehen:

        Code:
        2022-11-16 21:48:20 CET START
        2022-11-16 21:48:20 CET Data archive IDs to be sent to InfluxDB: all
        2022-11-16 21:48:20 CET Local Time (Europe/Berlin): 2022-11-16 21:48:20, UTC Time: 2022-11-16T20:48:20.702807Z, Epoch: 1668631700, MuSec: 702807, Micro Epoch: 1668631700702807
        2022-11-16 21:48:20 CET Writing data to InfluxDB ...
        2022-11-16 21:48:20 CET INSERT      : archiveName: Strom-Leistiung-Watt, archiveId: 23, value: 899, timestamp: 1668631700702807
        2022-11-16 21:48:20 CET Writing as FLOAT
        2022-11-16 21:48:20 CET SUCCESS
        2022-11-16 21:48:20 CET Data written to InfluxDB.
        2022-11-16 21:48:20 CET END
        ​
        Versuch mal an E7 'all' einzutragen. Vielleicht hab ist da noch ein Bug mit den IDs drin. Ist 22 die korrekte ID?

        Kommentar


          #5
          Guten Morgen....

          ja, 22 ist die richtige ID. Zumindest wenn ich nicht ganz blöd bin und die kleine Zahl hinter dem Datenarchivnamen die ID ist. Hab es jetzt mal auf "all" umgstellt und jetzt ist im Execlog mehr zu sehen:

          Code:
          2022-11-17 05:30:37 CET START
          2022-11-17 05:30:37 CET Data archive IDs to be sent to InfluxDB: all
          2022-11-17 05:30:37 CET Local Time (Europe/Berlin): 2022-11-17 05:30:37, UTC Time: 2022-11-17T04:30:37.714812Z, Epoch: 1668659437, MuSec: 714812, Micro Epoch: 1668659437714812
          2022-11-17 05:30:37 CET Writing data to InfluxDB ... 2022-11-17 05:30:37 CETINSERT : archiveName: Gaszähler - Impulse, archiveId: 42, value: 1, timestamp: 1668659437714812
          2022-11-17 05:30:37 CET INSERT-EXCEPTION
          2022-11-17 05:30:37 CET EXCEPTION Message: No PSR-18 clients found. Make sure to install a package providing "psr/http-client-implementation". Example: "php-http/guzzle7-adapter".
          2022-11-17 05:30:37 CET END

          Kommentar


            #6
            Okay, da fehlt definitiv noch ein Paket. Das hatten wir hier aber kürzlich schon mal. In einem der anderen Influx Threads.

            Kommentar


              #7
              Zitat von jonofe Beitrag anzeigen
              Das hatten wir hier aber kürzlich schon ma
              Habe es gefunden:

              HIER

              Kommentar


                #8
                Ich hab den Thread sogar gelesen (damals). Ich hätte hier im Forum nach dem Fehler suchen sollen. Ich mache das gleiche heute Abend und melde mich dann noch einmal.

                Danke Dir. Bis heute Abend!

                Kommentar


                  #9
                  Hi Andre,

                  jetzt klappt es! Komisch, dass das Excec-Log vorher so ausgesehen hat wie in #3. Freue mich aber, dass es jetzt geht. Vielen Dank für Deine Arbeit und Deine Bemühungen und Deinen Support.

                  Danke Dir und noch einen schönen Abend!

                  vg, Bernd

                  Kommentar


                    #10
                    Hallo Andre jonofe,

                    ich habe noch zwei Fragen zu dem Baustein.

                    1. Frage:
                    Wenn man mit E10-E13 ein Datenarchiv kopiert dann wird das nur gemacht wenn das Datenarchiv noch nie kopiert wurde, oder? Wenn ich jetzt 3 Wochen warte und dann wieder das gleiche Datenarchiv mit E10-E13 kopiere wird gar nichts kopiert, oder? Kann das sein? Ist das Absicht?


                    Ist mir nur aufgefallen weil ich den dauerhaften Sync bei meinen Tests noch nicht eingeschalten hatte und dann bei einem erneuten kopieren keine "neuen" Daten kamen.

                    2. Frage:
                    Ich habe jetzt ein Archiv kopiert und den dauerhaften Sync eingeschalten. Jetzt habe ich sehr viele Log-Einträge im Exec-Log die so aussehen:

                    Code:
                    2022-11-21 08:56:50 CET START
                    2022-11-21 08:56:50 CET END
                    
                    2022-11-21 08:57:19 CET START
                    2022-11-21 08:57:19 CET END
                    
                    2022-11-21 08:57:53 CET START
                    2022-11-21 08:57:53 CET END
                    
                    2022-11-21 08:58:36 CET START
                    2022-11-21 08:58:36 CET END
                    
                    2022-11-21 08:59:27 CET START
                    2022-11-21 08:59:27 CET END
                    
                    2022-11-21 09:00:00 CET START
                    2022-11-21 09:00:00 CET END
                    
                    2022-11-21 09:00:19 CET START
                    2022-11-21 09:00:19 CET END
                    
                    2022-11-21 09:01:10 CET START
                    2022-11-21 09:01:10 CET END
                    
                    2022-11-21 09:01:59 CET START
                    2022-11-21 09:01:59 CET END
                    
                    2022-11-21 09:02:48 CET START
                    2022-11-21 09:02:48 CET END
                    
                    2022-11-21 09:03:35 CET START
                    2022-11-21 09:03:35 CET END
                    
                    2022-11-21 09:04:25 CET START
                    2022-11-21 09:04:25 CET END​
                    Uns so weiter und so weiter....

                    Es ist auch nicht jede Minute. Manchmal sind auch 15 Minuten dazwischen. In das Datenarchiv wird 1000% nichts geschrieben zu der Zeit. Da wird nur einmal am Tag (Nachts) ein Wert geschrieben.

                    Ist das ein Fehler von mir irgendwo? Gehört das so?

                    vg, Bernd

                    Kommentar


                      #11
                      Zu 1 : Wenn über E10 getriggert wird, werden immer alle Datenpunkte kopiert, die im Zeitbereich E11-E12 liegen. Das funktioniert bei mir. Sowohl mit "all" an E10 als auch mit einzelnen IDs.

                      Zu 2 : Der Trigger ist der mySQL DB ist unabhängig vom Eintrag an E7. Das heisst jedes Schreiben in ein Datenarchiv triggert den LBS, auch das Schreiben in Datenarchive, die nicht mit den IDs an E7 übereinstimmen. In diesen Fällen taucht nur ein START + END auf. Allerdings gab es noch einen Fehler, der dazu führt, dass das die ID des ersten Daten an E7 nicht berücksichtigt wurde. Das ist jetzt in der v0.3b korrigiert. (soeben ins DL Portal hochgeladen.)

                      Zusammenfassung: Schreiben des ersten DA an E7 hat nicht funktioniert. Leere Einträge im Log sind normal, wenn Datenarchive beschrieben werden, die nicht an E7 spezifiziert sind.

                      Kommentar


                        #12
                        Zu 1: Ich habe es heute morgen zig mal getestet. Es hat nicht funktioniert. Ich werde es aber die Tage noch einmal versuchen. Nicht, dass ich einen Denkfehler hatte.

                        Zu 2: Danke für die Info. Das erklärt natürlich die ganzen Log-Einträge. Die neue Version ziehe ich mir heute Abend oder morgen.

                        Danke Dir!
                        Zuletzt geändert von gibsonrocker; 21.11.2022, 17:30.

                        Kommentar


                          #13
                          So...neue Version gezogen und aktiviert. Danke.....

                          Kommentar


                            #14
                            In der neuen Version ist es jetzt so: Wenn E7 leer ist werden ALLE IDs übertragen. In alter Version wurde nichts gemacht.

                            Fällt einem nur auf wenn man will das der Baustein nichts macht und E1 auf "1" lässt und E7 und E10 "leer" lässt. Macht nichts. Ist mir nur aufgefallen.
                            Zuletzt geändert von gibsonrocker; 23.11.2022, 12:40.

                            Kommentar


                              #15
                              Zitat von gibsonrocker Beitrag anzeigen
                              In der neuen Version ist es jetzt so: Wenn E7 leer ist werden ALLE IDs übertragen. In alter Version wurde nichts gemacht.
                              Danke für die Rückmeldung. Ich schau mir das an und repariere das. Wäre ja evtl. ein Anwendungsfall, wenn man nur E10-E12 nutzen will.
                              Gleichzeitig werde ich dann mal schauen, ob E10 überhaupt den Wert von E1 berücksichtig. Ich vermute aktuell nicht.

                              Kommentar

                              Lädt...
                              X