UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[Gelöst] Grafana Ladezeiten Timeseries

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

Ersteller
Matthias
Reactions:
Beiträge: 77
Registriert: Mi Aug 29, 2018 7:44 pm
Hat sich bedankt: 2 Mal
Danksagung erhalten: 37 Mal

Grafana Ladezeiten Timeseries

#1

Beitrag von Matthias »

Hallo zusammen,

ich mache gerade meine ersten Versuche in Grafana. Nun habe ich ein Diagramm mit 3 Graphen erstellt und spiele damit etwas rum. Was mich wundert, ist das das Laden der Daten sehr lange dauert. Für Daten von 2 Tagen ca. 20s+

Das scheint mir nicht normal....

Ideen?

Gruß

Matthias

PS: Wo kann man den Server eigentlich rebooten ?
Zuletzt geändert von StefanW am So Sep 09, 2018 11:28 am, insgesamt 1-mal geändert.
----------------------------------------------------------------------------------------------
Wiregate Fan / Timberwolf Server 2500 + PBM / reboot erlaubt / VPN offen
Timberwolf Server 153 © 2021 – 3.0 Insider Preview 2
Benutzeravatar

Judas_z
Elaborated Networks
Reactions:
Beiträge: 179
Registriert: Mo Aug 13, 2018 11:31 am
Hat sich bedankt: 392 Mal
Danksagung erhalten: 333 Mal

#2

Beitrag von Judas_z »

Wieviele Datenpunkte hast du denn?

Bei mir Läuft Grafana ziemlich responsiv.

Einzig bei der Stromüberwachung mit dem Enertex Smartmeter über viele Tage (90) (ist ziemlich scharf eingestellt und müllt deshalb den Bus zu), schaffe ich es 2-3 Sekunden Verzögerung zu provozieren.

Info Reboot geht oben rechts auf Administrator siehe Bild.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Judas_z am Do Sep 06, 2018 10:59 pm, insgesamt 1-mal geändert.
Liebe Grüße,

Julian


Elaborated Networks GmbH
Hardware Entwicklung

timberwolf90, VPN offen, Reboot jederzeit

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#3

Beitrag von S. Kolbinger »

Hallo Matthias,

ich hatte am Anfang auch meine Schwierigkeiten und mich nicht selten gefragt, warum entweder gar nichts angezeigt wird, oder es ewig dauert.

Im Prinzip fragt Grafana immer eine Datenbank ab, um sich die Werte zu holen, die angezeigt werden sollen.
Je nach Menge der Daten, kann das schon mal einige Zeit dauern, z.B. wenn man einen sekündlich aufgezeichneten Wert über den Zeitraum einer Woche anschauen möchte.
Ein guter Check, wie viele Datensätze angefordert wurden, ist mit dem eingebauten "Query Inspector" möglich.
Dabei bitte folgende Struktur aufklappen: "response" -> "result" -> .... -> "values" (siehe Anhang).
Hier sieht man schnell wie groß das Array ist, das zurück geschickt wurde.

Um diese Datenmenge zu reduzieren, gibt es die Möglichkeit, die Daten vor dem Senden zu "aggregieren", d.h. zusammenzufassen.
Die meist gebrauchte Aggregation ist wohl der Durchschnitt (mean) über einen Zeitabschnitt (time($__interval)) (siehe Anhang).
Worauf man hier achten muss, ist die Fülloption, mit der man einstellt, was geschickt wird, wenn es in einem Zeitintervall keine Daten gibt.
Ich verwende hier meist "none". (Bei "null" verschwinden schon mal die Linien im Grafen).

In Grafana gibt es eine Unmenge von Einstellungen und auch ich habe bisher nur einen Bruchteil davon verwendet.
Der Query Inspector als Debug-Tool hat mir in den meisten Fällen weiter geholfen.

Stimmt, die ersten Schritte mit Grafana sind nicht ganz einfach, aber wenn man die mal hinter sich hat, ist es ein echt scharfes Tool.

Viel Spaß beim Ausprobieren.
Gruß,
S. Kolbinger
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruß,
Stefan K.

Dante
Reactions:
Beiträge: 157
Registriert: So Aug 12, 2018 10:42 am
Hat sich bedankt: 8 Mal
Danksagung erhalten: 78 Mal

#4

Beitrag von Dante »

[mention]Matthias[/mention]:
Solche Ladezeiten hab ich nicht, hab z.B. einen Graph mit 6 Linien / abgefragten Werten (gemischt 1Wire/KNX), in dem auch die RRD-Daten von > 1 Jahr drin sind und der brauchte bei der Ansicht "Last 1 year" erstmal bis zu 3.5 Sekunden. Nach Anwendung von mean() und time() wie vorgeschlagen sind es jetzt nur noch 350ms. (Werte jeweils aus Browser-DevTools / Netzwerk)

[mention]S. Kolbinger[/mention]:
Wieso empfehlt ihr eigentlich beim Info-Button unter Timeseries dann, dass man mean und time löschen soll? Ich hatte das bei allen durchgeführt und füg sie nun wieder ein, da die Graphen damit auch wesentlich schöner werden v.a. bei langen Zeiträumen.
grafana_1.PNG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Dante am Fr Sep 07, 2018 1:32 pm, insgesamt 1-mal geändert.
Viele Grüße,
Thomas

timberwolf146 / Timberwolf Server 2500 Indian Gold + PBM / Version 1.6.0 IP3 (Wartungs-VPN offen / Reboot jederzeit möglich)

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#5

Beitrag von S. Kolbinger »

Hallo Dante,

beide Varianten --- mit und ohne mean() + time(interval) --- haben ihre Vor- und Nachteile.

Mit [mean() + time($__interval)]:
Hier teilt Grafana den Gesamtabfragezeitraum in Intervalle auf (bei einem Jahr ist das Intervall 6h, glaube ich).
Alle Werte in einem Intervall werden gemittelt und dieser Mittelwert bekommt den Zeitstempel des Intervallanfangs.
Als Ergebnis bekommt man dann alle Mittelwerte mt ihren Zeitstempeln zurück geliefert.

Ohne [nur "field(Val)"] :
Bei der Variante ohne alles werden sämtliche Werte mit ihrem jeweiligen Zeitstempel im entsprechenden Zeitraum zurückgeliefert.
Dabei entspricht sowohl der Wert, als auch der Zeitstempel (auf die Millisekunde genau) eine einzelne Messung, bzw. einem einzelnen Telegramm.

Damit erahnt man auch schon wo die Vor- und Nachteile der jeweiligen Variante liegen:
- Bei "Ohne" bekommt man die "echten" Werte (eventuell sehr viele davon) bei "Mit" sind die Werte bearbeitet.
- Bei "Mit" kann es durch weitere Einstellungen, z.B. fill(null), dazu kommen, dass man im Grafen keine Linie sieht, obwohl auch keine Meldung "No data points" erscheint. Das hat mich viel Kopfzerbrechen gekostet, um herauszufinden, dass keine Linien zwischen den "null"-Werten gezogen werden. Bei der "Ohne" Variante passiert das nicht (ausser ich habe wirklich nur einen Wert im gesamten Zeitraum).

Je nachdem, wie die Daten zeitlich liegen und wie groß das Betrachtungsfenster liegt, ist mal die eine oder andere Variante besser.

Wir haben uns für die Variante "Ohne" beim Info-Button entschieden, da hier die Gefahr, gar nichts zu sehen, deutlich geringer ist.
Ich werde deine Anregung weitergeben, um die Beschreibung unter Info zu erweitern.

Sorry, falls du dir hier zusätzlich Arbeit gemacht hast, aber ich hoffe, dass ich hier wenigstens zu einem besseren Verständnis beitragen konnte.

Gruß,
S. Kolbinger
Gruß,
Stefan K.

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#6

Beitrag von Robert_Mini »

Ich werde die Diskussion auch in die KB einarbeiten.

Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Matthias
Reactions:
Beiträge: 77
Registriert: Mi Aug 29, 2018 7:44 pm
Hat sich bedankt: 2 Mal
Danksagung erhalten: 37 Mal

#7

Beitrag von Matthias »

Hallo S. Kolbinger,

danke für die Tips
Hier sieht man schnell wie groß das Array ist, das zurück geschickt wurde.
Ich hatte mean verwendet und einen Intervall von 1s hinterlegt :lol: da kam ich dann bei 90 Tagen auf 4x 190000 Datenpunkte! Grafana belegte dann mit 2 solchen Diagrammen auch 2,4GB im Arbeitsspeicher des TW.

Mit der Einstellung "Intervall" funktioniert es.

Noch eine Weitere Frage:

Was muss ich denn auswählen wenn ich switch signale DPT 1.001 mir anzeigen lassen möchte? Ich schaffe es nur die Temperaturwerte vom KNX in Diagrammen darzustellen.

Gruß

Matthias
----------------------------------------------------------------------------------------------
Wiregate Fan / Timberwolf Server 2500 + PBM / reboot erlaubt / VPN offen
Timberwolf Server 153 © 2021 – 3.0 Insider Preview 2

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#8

Beitrag von gbglace »

Bei mir ist das generierte SQL:
SELECT "Val" FROM "KNX_LINE1" WHERE ("GA" = '1/1/46') AND $timeFilter

Und unter dem Reiter "Display" Lines und Staircase aktivieren.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Dante
Reactions:
Beiträge: 157
Registriert: So Aug 12, 2018 10:42 am
Hat sich bedankt: 8 Mal
Danksagung erhalten: 78 Mal

#9

Beitrag von Dante »

Hier mal meine Umsetzung von 0/1-Werten als Beispiel.
Um die Werte nicht oben und unten kleben zu lassen, hab ich unter Axes als Y-Min -0.5 und Y-Max 1.5 angegeben und die Decimals auf 0 gestellt. Und dann ist Staircase unter Display wichtig, damit die harten Stufen entstehen.
grafana_binaer_1.PNG
grafana_binaer_2.PNG
grafana_binaer_3.PNG
Hinzugefügt nach 7 Minuten 56 Sekunden:
Hier noch als Variante mit mehreren 0/1-Werten, die ohne Modifikation keine Informationen transportieren würden. Mittels math() wird der Wert einfach Multipliziert und Y-Max ist auf 3.5 hochgesetzt. Damit hat der Graph wieder Aussagekraft.
grafana_binaer_4.PNG
grafana_binaer_5.PNG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Viele Grüße,
Thomas

timberwolf146 / Timberwolf Server 2500 Indian Gold + PBM / Version 1.6.0 IP3 (Wartungs-VPN offen / Reboot jederzeit möglich)

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#10

Beitrag von gbglace »

Das mit der Multiplikation der 0/1 ist sehr clever um mehrere davon anzuzeigen.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension
Antworten

Zurück zu „Zeitserien, Logging & Grafana“