lxlogger und grafana panels

LxLogger und Grafana - Panels im Fokus

Im zweiten Teil unserer Serie zur Erläuterung von Grafana, möchten wir mit den Panels fortfahren. Im Beitrag erfährst du dazu wie du Panels erstellst, deren Eigenschaften bearbeitest um Grafana so optimal für deine Zwecke zu verwenden.

Allgemein

Panels innerhalb von Grafana stellen die Elternelemente, quasi die Container, für alle Diagramme dar. Willst du also ein Diagramm einem Dashboard hinzufügen, musst du zuerst ein Panel erstellen und kannst dann den jeweiligen Typ der Visualisierung bestimmen. Ausserdem beinhaltet jedes Panel einen Abfrage Editor, mit dem du die Daten für die Darstellung beeinflussen kannst.

Zudem können Panels auf den Dashboards verschoben und in der Größe verändert werden. Für das verschieben bewege einfach deine Maus auf den Titel eines Panels, drücke die linke Maustaste und beginne die Maus zu bewegen. Für das Ändern der Größe fährst du mit der Maus in das rechte untere Eck des jeweiligen Panels. Nun sollte sich der Mauszeiger in einen diagonalen Pfeil verändern. Auch hier kannst du nun durch drücken und bewegen der Maus die Größe beeinflussen.

Hast du ein Panel erstellt, kannst du die Optionen für das Panel über ein Dropdown Menü erreichen. Bewege dazu die Maus über den Titel des Panels und drücke die linke Maustaste. Nun öffnen sich die verschiedensten Optionen für die Bearbeitung, das Teilen und Duplizieren von Panels. So kannst du zum Beispiel ein komplettes Panel von einem Dashboard zum anderen kopieren ohne die Einstellungen ändern zu müssen. Öffne dazu einfach das Panel Menü, bewege die Maus auf den Eintrag More... und wähle den Punkt copy. Auf dem zweiten Dashboard kannst du nun beim Erstellen eines neuen Panels das bereits kopierte über den Eintrag "Paste copied panel" erstellen.

Panels hinzufügen

Um ein Panel einem Dashboard hinzuzufügen, wechsle innerhalb von Grafana auf ein Dashboard zu dem die Visualisierung hinzugefügt werden soll. Im oberen rechten Bereich, findest du dazu den Button: .

Nun wurde ein leeres Graph Panel dem Dashboard hinzugefügt und du kannst mit einem Klick auf den Button + Add new panel mit der Bearbeitung der Einstellungen im Panel- Editor beginnen.

Panel Editor

Hast du den Panel- Editor geöffnet, stellt sich dieser wie folgt dar:

Der Bildschirm teilt sich nun in 3 wesentliche Bereiche auf:

1. Vorschau der Visualisierung

Im linken oberen Bereich kann die Vorschau der Visualisierung betrachtet werden. Diese wird mit dem Ändern der Einstellungen automatisch aktualisiert. Hier kann auch, wie bereits vom Dashboard bekannt, der Zeitraum für die Ansicht verändert werden. Ausserdem kann hierüber die Positionierung der Visualisierung innerhalb des Panels mit den Buttons "Fill", "Fit" und "Exact" bestimmt werden.

2. Einstellungen zur Datenabfrage

Im unteren linken Bereich befinden sich die Einstellungen für die Definition der Datenabfrage. Hier können die wesentlichen Einstellungen für die der Visualisierung zu Grunde liegenden Daten vorgenommen werden. Näheres dazu findest du auf dieser Seite unter dem Punkt Datenabfragen.

3. Seitenleiste

In der Seitenleiste, können sowohl Allgemeine Einstellungen zum Panel (Titel und Beschreibung), Anzeige- Einstellungen oder auch Spezifische Einstellungen zur gewählten Visualisierung, wie zum Beispiel Legenden und Achsen vorgenommen werden.

Datenabfragen

Ein wesentlicher Teil der Visualisierung ist der Bereich Query (Datenabfrage). Hier werden die in der Visualisierung zu zeigenden Daten definiert. Je nach Art der Visualisierung (Graph, Stat, usw.) wird dabei, zum Beispiel bei einer Graph Visualisierung, für jede Kurve die dargestellt werden soll, ein eigener Query erstellt. Im Prinzip kann die Abfrage als Frage verstanden werden: "Hey, Datenquelle, würdest du mir die Daten wie beschrieben bereitstellen?". Wie oft die Abfrage ausgeführt und wieviele Datenpunkte gesammelt werden, kann im Bereich "Query options" eingestellt werden. Innerhalb von Grafana werden bis zu 26 Abfragen pro Panel unterstützt.

Um nun eine einfache Kurve im Panel anzuzeigen, muss zuerst die Datenquelle ausgewählt werden. Standardmäßig ist hier "default" ausgewählt, welches die Datenbank des LxLogger sein sollte. Wie du eine Datenquelle definierst bzw. einrichtest, erfährst du hier. Im Anschluß können dann die Felder für die Abfrage bestimmt werden.

Im nächsten Schritt muss der Datenquelle über die Abfrage also gesagt werden, an welchen Werten wir in dem jeweiligen Panel interessiert sind. Um das ganze besser zu Veranschaulichen, gehen wir von den folgenden Beispieldaten aus, welche in dieser Form vom LxLogger in der Datenbank gespeichert werden:

Temperatur Bad
time month uuid value year
---- ----- ---- ----- ----
2020-10-13T09:01:27Z 10 0f605e3e-0386-1c7f-ffffefc088fafadd 33 2020
2020-10-13T09:02:40Z 10 0f605e3e-0386-1c7f-ffffefc088fafadd 37 2020
2020-10-13T09:03:39Z 10 0f605e3e-0386-1c7f-ffffefc088fafadd 40 2020

Hier sehen wir 3 Einträge mit einem Abstand von ca. einer Minute. In der Datenbank werden die Felder Zeit, UUID, Monat und Jahr gespeichert. Nun möchten wir diese Werte in einer Kurve im Panel anzeigen und müssen dafür die Datenabfrage erstellen. Hier die einzelnen Bereiche der Abfrage erklärt:

From

In der From- Zeile wird definiert welche Art von Werten wir generell im Panel anzeigen möchten. An unserem Beispiel klicken wir also auf select measurement und Scrollen durch die Liste der Einträge und wählen dann "Temperatur Bad" aus. Alternativ kannst du auch über das Suchfeld den Namen des Messwerts eingeben.

Select

Im zweiten Schritt bestimmen wir nun, welche Felder im Panel angezeigt werden und wie die Daten Aggregiert werden sollen. Da unser Loxone Datenlogger die Statistikwerte im Feld value speichert, kann die Angabe unter field(value) so belassen werden. Dies bedeutet einfach, dass die Werte des der Spalte value für die einzelnen Datenpunkte benutzt werden soll. In der zweiten Angabe kann die Art der Aggregation der einzelnen Daten verändert werden. Die Aggregation beschreibt im Prinzip das verändern der Daten in Bezug auf den gewählten Zeitintervall. Wenn wir uns zum Beispiel die Daten der letzten 90 Tage visualisieren würden, würde von Grafana nicht jeder Datenpunkt im Graphen dargestellt werden. Grob gesagt kann dies also als eine Zusammenfassung von Datenpunkten angesehen werden. Hier eine kurze Erklärung für die gängigsten Aggregats- Funktionen:

mean - Berechnen des Durchschnittswertes für das Feld value.
max - Maximaler Wert in der Zeitspanne.
min - Minimaler Wert in der Zeitspanne.
count - Addition aller Werte aus dem Feld value in der Zeitspanne.
first - Der Wert des ersten Aufkommens für mehrere Werte in der Zeitspanne.
last - Der Wert des letzten Aufkommens für mehrere Werte in der Zeitspanne.

Möchten wir uns also die Durchschnittstemperatur im Raum Bad für den aktuellen Tag betrachten, würden wir mean wählen, wohingegen für die Anzeige der Maximalen Temperatur im Bad für den aktuellen Tag die Funktion max benutzt werden müsste. Möchten wir jedoch den aktuellen Wert betrachten, müsste die Funktion last verwendet werden.

Group By

Dieser Abschnitt beschreibt das Zusammenfassen von Datenpunkten. Konkret bedeutet dies also, dass Datenpunkte mit dem gleichen Zeitstempel in Bezug auf den Intervall, zusammen dargestellt werden. Über die Angabe fill kann bestimmt werden wie mit Daten verfahren wird, für die keine Werte an einem bestimmten Zeitpunkt zur Verfügung stehen. Im Normalfall verhält sich Grafana so, dass wenn keine Werte vorhanden sind, NULL verwendet wird, also nichts im Graphen dargestellt wird. Hier die verschiedenen Optionen erklärt:

null: Standardwert.
none: Für fehlende Werte werden keine Datenpunkte angezeigt.
0: Für fehlende Werte wird der Wert 0 benutzt.
previous: Für fehlende Werte wird der letzte bekannte Wert verwendet.
linear: Für fehlende Werte wird eine lineare Funktion benutzt um den Wert des Datenpunkt's zu bestimmen.

Alias By

Im Feld "Alias By" kann ein Wert für die bessere Identifikation von einzelnen Kurven/Werten verwendet werden. Dies kommt vor allem beim Überschreiben der Einstellungen einzelner Datenabfragen zur Verwendung. Dazu aber später mehr.

Teilen der Ergebnisse von Datenabfragen

Um die Ladezeit von Grafana Dashboards mit Panels mit den gleichen Datenabfragen zu verbessern, können Datenabfragen von einem Panel, mit anderen Panels geteilt werden. Hierzu wird ein erstes Panel mit Datenabfragen erstellt und gespeichert. In einem zweiten Panel können dann die Abfragen referenziert werden:

  1. Panel erstellen und zum Tab Queries wechseln.
  2. Nun kann als Quelle Dashboard gewählt werden.
  3. Im letzten Schritt muss nun das Panel mit den gewünschten Datenabfragen ausgewählt werden.

Nun stehen alle im Quell- Panel erstellten Datenabfragen auch im neuen Panel zur Verfügung.

Seitenleiste

Im rechten Bereich des Panel-Editors, befinden sich die Einstellungen zum Panel. Hier kann vor allem das visuelle Erscheinungsbild definiert und beeinflusst werden. Beachte das je nach gewählter Visualisierungsart nur bestimmte Bereiche zur Verfügung stehen bzw. diese spezifisch sind. In den folgenden Beiträgen dieser Serie erfährst du mehr über die spezifischen Einstellungsmöglichkeiten für die jeweilige Visualisierungsart.

Panel

Einstellungen (Settings)

Unter dem Punkt Einstellungen, kann ein Titel und eine Beschreibung für das Panel definiert werden. Der Titel des Panels wird dann oben, über der Visualisierung dargestellt. Mit der Option Transparent kann zudem festgelegt werden, ob das Panel mit einem Hintergrund dargestellt werden soll oder nicht.

Visualisierungsart (Visualization)

Hier wird die Art der Visualisierung definiert und es stehen eine Reihe von Optionen zur Verfügung. Im wesentlichen sind dies:

Graph - Darstellung von einzelnen oder mehreren Linien-, Balken- oder Punktdiagrammen.
Stat - Anzeige eines Wertes in Textform, mit der Option ein Flächendiagramm anzuzeigen.
Gauge - Darstellung einer Art Kreisdiagramm für jede definiert Datenabfrage.
Bar gauge - Darstellung von einzelnen Balken für jede definierte Datenabfrage.
Table - Darstellung der Werte in einer Tabelle.
Text - Darstellung von Markdown- bzw. HTML basierendem Text.
Heatmap - Anzeige eines Histogramms.
Alert list - Anzeige der Alarme eines Dashboards.
Dashboard list - Anzeige von Links zu anderen Dashboards.
News - Erlaubt das einbinden eines RSS Feeds.
Logs - Stellt den Inhalt von Log-Dateien Zeile für Zeile dar.

Anzeige (Display)

Je nach Ausgewählter Visualisierungsart stehen dabei verschiedene Optionen zur Verfügung. Bei der Visualisierung mittels Graph, kann hier zum Beispiel die Darstellung von Punkten und Linien beeinflusst bzw. ein- und ausgeschalten werden.

Links

Hier können Weblinks einem Panel hinzugefügt werden. Die Links werden dann im oberen linken eck des Panels auf dem Dashboard angezeigt und können leicht im Dashboard aufgerufen werden.

Field

Auch hier stehen dir je nach ausgewählter Visualisierungsart, verschiedene spezifische Optionen zur Verfügung. Zum Beispiel kann hier eine globale Einheit für die in der Visualisierung verwendeten Werte hinterlegt werden.

Overrides

Im Bereich Overrides können zuvor global definierte Einstellungen für das Panel für bestimmte Kurven oder Werte überschrieben bzw. angepasst werden.

Wir hoffen, dir mit unserem Beitrag zu den Panels weitergeholfen zu haben und dir so die Verwendung von Grafana in Verbindung mit den Daten aus deinem Loxone Smarthome etwas näher gebracht zu haben. Im nächsten Teil der Serie möchten wir weiter auf die Visualisierung von Loxone Statistiken mit dem Typ "Graph" eingehen. Schau also wieder vorbei oder folge uns auf FacebookTwitter und/oder Instagram um keinen Beitrag zu verpassen.