Diskussionen über Zeitserien, Logging und Auswertung mit Grafana
Forumsregeln
Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS, CometVisu, Grafana, Edomi oder eine andere Software beteiligt ist, dann auch immer deren Version
Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
zu dem folgenden Punkten gab es schon mal eine Disskusion, es werden leider manchmal keine Werte in Grafana angezeigt wenn über längere Zeit keine Werte vorhanden sind. Fällt bei mir z.B. auf bei der Präsenz (Steinel True Presence sendet nur Werte bei Änderung)
Gibt es inzwischen eine Möglichkeit das einfach zu lösen oder muss ich mir eine Logik schreiben, die bei nicht-Änderung der Werte den ist-Wert aller paar Minuten "repeated"?
Deine erste Frage nach den Ungenauigkeiten liegt m.E. an dem Mean() bzw. dem (zu) langen Abfragezeitraum.
Du fragst damit ja explizit den Durchschnitt eines Anzeigeintervalls ab. Grafana berechnet in Abhängigkeit von der Größe des Angezeigten Panels wie viele unterschiedliche Werte dargestellt werden können. Und dann wird daraus der group_by $_Interval gebildet.
Beispiel, Du wählst als Gesamtzeitraum 1 Jahr und Deine Anzeige sei jetzt mal so klein, dass Du nur 200 unterschiedliche Werte darstellen kannst (das sind meines Erachtens nicht gleich die horizontalen Pixel, dann dann wird es glaube ich sehr hässlich). Nun werden durch das Mean() und das GroupBy time($_Interval) der jeweilige Durchschnittswert von 1,825 TagesIntervallen (365/200 abgefragt.
Du könntest mit Last() oder First() arbeiten, aber auch das wird bei einem togglendem Bitwert wahrscheinlich nicht befriedigend sein. BIT-werte darstellen von einen langen Zeitraum macht dann irgendwann keinen Sinn mehr.
Zuletzt geändert von Robosoc am Do Apr 28, 2022 6:15 am, insgesamt 1-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK
Den rechten Kringel müsstest Du in Grafana beheben können, indem Du bei Fill = previous auswählen. Aber wenn Du dann mal (z.B. für Derailanalysen) einen zu kurzen Zeitraum auswählt, wird natürlich auch nichts angezeigt, weil dann vielleicht mal überhaupt kein Wert vorhanden ist.
Aber den linken bekommst Du nur weg, wenn der Wert öfter gesendet wird. Entweder durch eine Logik oder wenn der Autor bzw. Sensor zyklisches Statussenden anbietet.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK
Zur Darstellung von langen Zeitreihen von bit-Signalen, bei denen der Wert nicht so entscheidend ist als eher die Tatsache, daß überhaupt ein Wert vorhanden ist (Lebensbit), da wäre es z.B. sinnvoll fill(none) und nur die Punktdarstellung auszuwählen. Man könnte es auf die Spitze treiben und den Wert mittels math(*0) neutralisieren. Dann hat man nur eine gepunktet Linie und wenn keine Werte vorhanden sind, halt Lücken.
Wenn der Wert dabei dann doch auch interessiert (also kein togglendes Signal erwartet wird), könnte man dazu zwei Abfragen machen...1x auf min(), 1x auf max(), Beide mit Punktdarstellung und nicht mit Linienverbindung, Beide in der gleichen Farbe...und fill(none)
Zuletzt geändert von Robosoc am Do Apr 28, 2022 6:39 am, insgesamt 1-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK
Robosoc hat geschrieben: ↑Do Apr 28, 2022 6:14 am
Du könntest mit Last() oder First() arbeiten, aber auch das wird bei einem togglendem Bitwert wahrscheinlich nicht befriedigend sein. BIT-werte darstellen von einen langen Zeitraum macht dann irgendwann keinen Sinn mehr.
Das hat was gebracht mit last funktioniert auch noch bei 30d