[Elasticsearch] Sensoren-Zeitstempel synchronisieren

cmprmsd

Lt. Commander
Registriert
Mai 2005
Beiträge
1.973
Hey!

Ich fing am Wochenende an, mir eine kleine Umgebung zum Stromverbrauchs-Monitoring aufzubauen.
Dazu habe ich Steckdosen mit Tasmota-Firmware an einen MQTT-Server (Mosquitto) gebunden und überführe die Daten von dort aus mit Telegraf in die ElasticSearch Datenbank.

Allerdings habe ich nun das "Chainsaw"-Problem. Die Daten werden alle 10 Sekunden von den Probes geschickt, allerdings nicht synchron. Daher landen sie später in der Datenbank mit verschiedenen Zeitstempeln und man bekommt beim Aggregieren von den Daten komische Werte.

Gibt es eine Möglichkeit entweder in ElasticSearch oder in Telegraf die Daten zu aggregieren?
Da ich alle 10 Sekunden Daten bekomme, müssten Averages aus den Werten in 30 Sekundenblocks gebaut werden und mit einem neuen Timestamp versehen werden. Ich finde im Internet keine gute Lösung dazu.

Es kann bei Stromschwankungen auch sein, dass die Steckdosen öfter Daten schicken. Daher muss irgendwo ein Average gebildet werden aus den Daten die in den einzelnen Zeitabschnitten empfangen werden.

Im Moment nutze ich die Time-Series in Kibana, was schon ganz nett aussieht. Allerdings würde ich gerne "Summieren", was aber nicht geht, weil ja unterschiedlich viele Werte - pro Zeiteinheit - in der Datenbank auftreffen.


1543265684246.png


Würde mich sehr gerne mit euch dazu austauschen. Vielleicht hat ja jemand eine Idee! :)
 
Stichwort sollte hier sein Scripted Fields und Watcher Plugin.

Stell den Watcher vernünftig ein und bau dir ein Scripted Field, dass dir alles aggregiert und dazu nen Zeitstempel baut :)
 
  • Gefällt mir
Reaktionen: cmprmsd und psYcho-edgE
Zurück
Oben