lxlogger und grafana graph visualisierung

LxLogger und Grafana - Die Funktionen der Graph Visualisierung

Im dritten Teil unserer Serie zur Erklärung der Grafana Funktionen steht heute die Graph Visualisierung im Fokus. Du erfährst dabei wie du Panels vom Typ Graph optimal für die Anzeige deiner Loxone Statistiken verwenden kannst. Falls du noch mehr Informationen zur allgemeinen Konfiguration von Panels benötigst, möchten wir dich auf unseren letzten Beitrag in der Serie: LxLogger und Grafana – Panels im Fokus hinweisen.

Allgemein

Beim Graph Panel, handelt es sich wohl um die am meisten verwendete Visualisierung innerhalb von Grafana. Hierbei können mehrere Linien, Balken und Punkte zusammen in einer Visualisierung dargestellt werden. Ausserdem kann die Anzeige der Achsen und einer Legende eingestellt werden und diese weiter konfiguriert werden. Auch ist es möglich mittels der Definition von Grenzwerten visuell zu überwachen ob bestimmte Werte eingehalten werden oder eben nicht.

Panel Einstellungen

Hast du ein neues Panel erstellt, kannst du in der rechten Seitenleiste im Tab Panel, in der Visualisierung (Visualization) den Typ der Visualisierung festlegen. Wähle dazu den Eintrag Graph.

Im ersten Schritt sollte(n) nun die Datenabfrage(n) erstellt werden. Für jede Kurve im Diagramm muss dabei eine eigene Datenabfrage erstellt werden. Mehr dazu findest du in unserem zweiten Teil der Serie: LxLogger und Grafana – Panels im Fokus.

Anzeigeoptionen

Im folgenden Tab Display, kannst du dann mit den Einstellungen zur visuellen Darstellung fortfahren um so die Visualisierung weiter an deine Wünsche anzupassen. Dabei stehen dir die folgenden Optionen zur Verfügung:

  • Bars - Die Werte werden als Balkendiagramm dargestellt
  • Lines - Die Werte werden als Liniendiagramm dargestellt
  • Line width - Die Dicke der Linien der unterschiedlichen Kurven
  • Staircase - Benachbarte Datenpunkte werden als Treppendiagramm dargestellt
  • Area fill - Legt fest wie stark die Fläche der Kurven gefüllt sind (0- keine Füllung / 10- maximale Füllung)
  • Fill gradient - Legt die Stärke des Verlaufs für das Füllen der Fläche der Kurven fest (0- kein Verlauf / 10- extremer Verlauf)
  • Points - Anzeige von Punkten für die Datenpunkte
  • Point radius - Legt den Radius für die Punkte im Diagramm fest
  • Alert tresholds - Legt fest ob definierte Grenzwerte für Alarme im Diagramm angezeigt werden sollen oder nicht

Im nächsten Block Stacking and null value kann nun das Verhalten der Kurven zueinander, sowie der Umgang von Datenpunkten ohne Werte festgelegt werden:

  • Stack - Legt fest ob Kurven gestapelt angezeigt werden sollen
  • Percent - Auswählbar sobald `Stack` ausgewählt wurde. Dabei wir jede Kurve als Prozentwert aller Kurven in der Visualisierung dargestellt
  • Null value - Definiert den Umgang mit Datenpunkten ohne Wert, sogenannte NullWerte und ist eine wichtige Einstellung!
  • connected - Sind ein oder mehrere Datenpunkte ohne Wert vorhanden, wird/werden diese übersprungen und die Linie wird mit dem nächsten Datenpunkt bei dem ein Wert vorhanden ist verbunden
  • null - Sind Datenpunkte ohne Wert vorhanden, wird auch die Linie an dieser Stelle unterbrochen werden
  • null as zero - Bei Datenpunkten ohne Wert wird von einem Wert von 0 ausgegangen

Nun kann noch das Aussehen der Tooltips eingestellt werden. Die Einstellungen dazu finden sich im Block Hover tooltip:

  • Mode
    • All series - Der Tooltip innerhalb der Visualisierung enthält die Werte aller Kurven im Diagramm
    • Single - Der Tooltip innerhalb der Visualisierung enthält nur die Werte der Kurve die im Diagramm mit der Maus aktuell überfahren wird
  • Sort order - Legt die Sortierung der Kurven im Tooltip bei der Option All series fest
    • None - Die Sortierung der Kurven im Tooltip wird in der gleichen Reihenfolge wie die der Datenabfragen darstellt
    • Increasing - Die Kurve mit dem niedrigsten Wert wird im Tooltip an erster Stelle angezeigt
    • Descreasing - Die Kurve mit dem höchsten Wert wird im Tooltip an erster Stelle angezeigt

Überschreiben von Darstellungsoptionen für einzelne Kurven (Series overrides)

Um unterschiedliche Optionen für verschiedene Kurven innerhalb eine Visualisierung festlegen zu können, stehen innerhalb von Grafana, die sogenannten Series overrides (Kurven Überschreibungen) zur Verfügung. Hierbei können einzelne Optionen zur Darstellung und Verhalten einer Kurve individuell angepasst werden ohne das andere Kurven davon beeinflusst werden. Die Einstellungen werden dabei über einen Alias einer Kurve zugewiesen, welche im linken unteren Bereich der Datenabfragen für jede Kurve separat, im Feld Alias by festgelegt werden kann.

Um eine neue individuelle Einstellung zu erstellen, klicke auf den Button+ Add series override. Nun kann im Feld Alias or regex der Name der Kurve eingetragen werden. Alle nun vorgenommen Einstellungen beziehen sich dann auf eben diese Kurve. Nun können über den Plus- Button Einstellungen hinzugefügt werden:

  • Bars - Zeigt die Kurve als Balken an
  • Lines - Zeigt die Kurve als Linie an
  • Line fill - Legt fest ob die Fläche einer Kurve gefüllt werden soll
  • Fill gradient - Legt die Stärke des Verlaufs der Fläche einer Kurve fest
  • Line width - Bestimmt die Dicke der Linie einer Kurve
  • Null point mode - Legt fest ob Datenpunkte mit keinen Werten ignoriert oder mit 0 ersetzt werden sollen
  • Fill below to - Legt fest ob die Fläche zwischen zwei Kurven gefüllt werden soll
  • Staircase line - Legt fest ob die Kurve als Treppendiagramm angezeigt werden soll
  • Dashes - Legt fest ob die Kurve als Strichlinie angezeigt werden soll
  • Hidden Series - Ausblenden der Kurve
  • Dash Length - Definiert die Länge des Strichs bei einer Strichlinie
  • Dash Space - Definiert die Länge des Abstands unter den Strichen bei einer Strichlinie
  • Points - Legt fest ob Punkte für die Kurve angezeigt werden sollen
  • Point Radius - Definiert die Größe des Radius der Punkte
  • Stack - Legt fest ob die Kurve gestapelt angezeigt werden soll
  • Color - Definiert die Farbe der Kurve
  • Y-axis - Definiert die Y- Achse der Kurve
  • Zindex - Definiert die Tiefe der Kurve innerhalb der Visualisierung. Dies ist vor allem dann wichtig, wenn zum Beispiel im Hintergrund ein Balkendiagramm und davor eine Linie angezeigt werden soll
  • Transform - Legt fest ob die Werte ins negative transformiert werden sollen um die Kurve unter der Y-Achse anzuzeigen
  • Legend - Legt fest ob die Kurve innerhalb der Legende der Visualisierung zu sehen ist
  • Hide in tooltip - Definiert ob die Werte der Kurve im Tooltip angezeigt werden sollen

Achsen

Im Panel Axes finden sich die verfügbaren Optionen für die Einstellungen der Achsen deiner Visualisierung. Die folgenden Optionen verhalten sich Analog zur X- und Y- Achse:

  • Show - Ein-/Ausblenden von Achsen
  • Unit - Definiert die in der Achse anzuzeigende Einheit
  • Scale - Definiert die Skala der Achse
  • Y-Min - Der kleinste anzuzeigende Wert auf der Y- Achse
  • Y-Max - Der größte anzuzeigende Wert auf der Y- Achse
  • Decimals - Definiert wieviele Dezimalstellen die Werte auf der Y- Achse enthalten sollen
  • Label - Definiert den Namen der auf der Achse angezeigt wird

Spezifische Einstellungen für die Y- Achse

  • Align - Auswählen um die die linke und rechte Y- Achse auf Basis der Werte auszurichten
  • Level - Verfügbar wenn Align ausgewählt wurde. Dieser Wert definiert die Ausrichtung der linken und rechten Y- Achse, beginnend mit dem Wert 0

Spezifische Einstellungen für die X- Achse

  • Show - Legt fest ob die X- Achse in der Visualisierung angezeigt werden soll oder nicht
  • Mode - Legt den Anzeigemodus der Achse fest. Diese Einstellung verändert die Anzeige des Graphen grundlegend
    • Time - Definiert das die Datenpunkte nach Zeit gruppiert sind und X- Achse diese Zeiten darstellt
    • Series - Gibt an, dass die Datenpunkte nach Reihen gruppiert sind
      • Value - Definiert den Typ der Aggregation von den Werten
    • Histogramm - Konvertiert das Diagramm in ein Histogramm
      • Buckets - Definiert die Anzahl der Container nach denen die Werte gruppiert werden
      • X-Min - Definiert den Mindestwert für Werte und Grafana wird Werte unter diesem Wert nicht im Diagramm anzeigen
      • X-Max - Defniert den Maximalwert für Werte und Grafana wird Werte über diesem Wert nicht im Diagramm anzeigen

Legenden

Unter dem Tab Legend befinden sich die Einstellungen für die Legende der Visualisierung:

Optionen (Options)

  • Show - Definiert ob die Legende in der Visualisierung angezeigt werden soll oder nicht
  • As Table - Legt fest ob die Legende als Tabelle angezeigt werden soll
  • To the right - Definiert ob die Legende unter oder rechts neben dem Diagramm angezeigt werden soll

Werte (Values)

Es können weitere Werte zu den einzelnen Kurven in der Legende angezeigt werden:

  • Min - Der kleinste Wert aller Werte aus der Datenabfrage
  • Max - Der größte Wert aller Werte aus der Datenabfrage
  • Avg - Der Durchschnittswert aller Werte aus der Datenabfrage
  • Current - Der letzte Wert aller Werte aus der Datenabfrage
  • Total - Die Summe aller Werte aus der Datenabfrage
  • Decimals - Legt die Anzahl der Dezimalstellen für die Werte in der Legende fest

Zeitbereiche (Time regions)

In der Visualisierung können ausserdem bestimmte Zeitpunkte (Wochenende, Geschäftszeiten) im Diagramm vorgegeben werden. Diese können einfach über den Button + Add time region hinzugefügt werden und basieren auf der Zeitzone UTC. Die folgenden Optionen stehen dabei zur Verfügung:

  • From - Definiert den Start der Markierung. Wähle hier einen konkreten Tag oder Any für jeden Tag. Im Feld rechts kann außerdem auch eine Uhrzeit angegeben werden
  • To - Definiert das Ende der Markierung. Wähle hier einen konkreten Tag oder Any für jeden Tag
  • Color - Legt die Farbe für die Markierung fest
  • Fill - Legt fest ob die Markierung gefüllt werden soll
  • Line - Legt fest ob am Startpunkt der Markierung eine Linie angezeigt werden soll

Beispiel - Anlegen eines Panels vom Typ Graph

Im Beispiel wollen wir ein Diagramm erstellen, in dem zum einen die Temperatur und die Luftfeuchtigkeit in einem Raum eines Loxone Smarthomes angezeigt werden soll. Außerdem möchten wir einen Grenzwert für die Luftfeuchtigkeit definieren, sodass schnell erkannt werden kann, ob die Luftfeuchtigkeit im Raum zu hoch war bzw. ist. Zudem wollen wir sehen, wie sich die Mindestwerte (beim Lüften) und die Maximalwerte (beim Heizen) der Temperatur verhalten. Dazu konfigurieren die Legende und lassen uns diese Werte dort anzeigen. Das Diagramm sieht am Ende wie folgt aus:

Anlegen des Panels

Im ersten Schritt muss dazu das Panel in unserem Dashboard erstellt werden. Wie du das Panel erstellst erfährst du in unserem Beitrag LxLogger und Grafana – Panels im Fokus.

Definieren der Datenabfragen

Nun solltest du dich im Editor deines neuen Panels befinden. Nun gehen wir im unteren linken Bereich in den Tab Query in die Datenabfrage A. Hier wählen wir zunächst unser Measurement aus. In unserem Fall währe dies Temperatur. Alle restlichen Felder, außer dem Feld ALIAS BY der Datenabfrage, können für den Moment ignoriert werden. Hier geben wir für eine bessere Identifikation den Wert Temperatur in das Feld ein. Nun sollte bereits die erste Kurve im Diagramm sichtbar sein. Für die zweite Kurve, der Luftfeuchtigkeit gehen wir gleich vor. Als Name verwenden wir dazu allerdings Luftfeuchtigkeit.

Visuelle Einstellungen für das Panel

Nun, da die Datenabfragen erstellt wurden, können wir mit dem verändern der Visuellen Eigenschaften unseres Diagramms fortfahren. Dazu vergeben wir zuerst den Titel und wenn gewünscht zusätzlich eine Beschreibung für das Panel.

Wie du bereits sehen kannst sind aktuell lediglich Punkte anstatt Linien im Diagramm sichtbar, obwohl in den Anzeigeeinstellungen die Option Lines aktiviert ist. Dies hängt mit der Option fill(null) in der Datenabfrage zusammen und besagt, dass fehlende Werte nicht automatisch durch Grafana ersetzt werden sollen - im Grunde kann also Grafana einfach keine Linien zeichnen, da Werte fehlen. Um dies zu Umgehen ändern wir in den Anzeigeoptionen bei Stacking and null value die Option Null value auf connected. Nun sollten für beide Kurven Linien im Diagramm zu sehen sein.

Da wir Werte mit unterschiedlichen Einheiten im Diagramm anzeigen, müssen diese Separat definiert bzw. mit den Kurven verknüpft werden. Dazu wechseln wir rechts oben in den Tab Overrides und klicken auf den Button + Add an override for. Nun öffnet sich ein DropDown in dem wir den Eintrag Fields with name auswählen. Im Feld Choose wählen wir dann die Kurve aus, für die die Anpassung gelten soll. In unserem ersten Fall Temperatur. Über den Button + Add override property kann jetzt ausgewählt werden, was für diese einzelne Kurve angepasst werden soll. Hier wählen wir den Punkt Unit aus und können dann im nächsten Feld über die Eingabe von Temperature den Eintrag Temperature / Celsius (°C) wählen. Für die Kurve der Luftfeuchtigkeit erstellen wir auch einen neuen Override (wieder über den Button + Add an override for). Dann gehen wir analog zum letzten Schritt vor und wählen das Feld Luftfeuchtigkeit aus. Als Eintrag für die Einheit unserer Werte wählen wir Misc / Humidity (%H).

Konfiguration der Achsen

Im nächsten Schritt möchten wir uns unterschiedliche Achsen für die beiden Werte im Diagramm anzeigen lassen. Hierzu muss Grafana mitgeteilt werden welche Kurve zu welcher Achse gehört. Wir wechseln dazu wieder zurück zum Haupttab Panel und scrollen bis zum Punkt Series Overrides herunter. Um nun die Zuweisung vorzunehmen, klicke auf den Button + Add series override. Hier wirst du aufgefordert den Alias der Kurve, für die die Anpassungen gelten sollen, einzutragen. In unserem Fall, wählen wir zunächst die Temperatur und fügen einen neuen Eintrag über den Button + hinzu. Die für diesen Fall benötigte Einstellung befindet sich unter dem Eintrag Y- Achse. Wir wählen dabei die Option 1, welche die linke Y- Achse repräsentiert. Für die Definition der Y- Achse für die Luftfeuchtigkeit gehen wir gleich vor, wählen aber den Wert 2 - für die rechte Y- Achse aus.

Nun sollten zwei verschiedene Y- Achsen mit den Einheiten °C und %H im Diagramm zu sehen sein. Außerdem sollten nun auch die Werte inklusive Einheiten im Tooltip beim Überfahren des Diagramms angezeigt werden.

Im letzten Schritt wollen wir nun noch die mindest- und maximal- Werte die in den Achsen dargestellt werden anpassen. Werden hier keine Anpassungen vorgenommen, werden die Werte automatisch von Grafana anhand von denen im Graphen enthaltenen Werten bestimmt. Für die Temperatur gehen wir von einer Spanne von 0-45°C, bei der Luftfeuchtigkeit von 0-100% aus. Dazu wechseln wir wieder in das Panel Axes und beginnen mit den Einstellungen zur linken Y- Achse, also der Temperatur. Dazu tragen wir für den Y-Min Wert, 0 und für den Y-Max Wert 45 ein. Für die rechte Y- Achse (Right Y) gehen wir analog vor, tragen aber 0 bzw. 100 ein. Zu guter letzt vergeben wir nun noch die jeweiligen Titel für die Achsen im Feld Label.

Definition der Grenzwerte

Um wie oben erwähnt eine visuelle Bestätigung über die Einhaltung der Werte zu bekommen, fügen wir nun noch einen Grenzwert für die Luftfeuchtigkeit hinzu. Dazu wechseln wir zum Panel Thresholds und erstellen einen neuen Grenzwert über den Button + Add threshold. Als Angaben für die Werte verwenden wir folgende Einstellungen:

Nun sind wie gewünscht die Grenzwerte für die Luftfeuchtigkeit hinterlegt. Somit kann mit einem Blick bestimmt werden ob und wann diese entweder eingehalten oder unter bzw. überschritten wurden.

Einstellungen zur Legende

Um das Diagramm für die Überwachung des Raumklimas abzuschließen, fehlen nur noch die Einstellungen zur Legende. Wir wechseln dazu in den Tab Legend und schalten die Anzeige als Tabelle mit der Option As Table ein. Ausserdem aktivieren wir die Optionen Min, Max und Current, um schnell einen Überblick über die kleinsten, größten und die aktuellen Werte zu erhalten.

Fertig! Nun haben wir unser Diagramm abgeschlossen und es kann mit einem Klick auf den Save Button gespeichert werden. Mit einem Klick auf den Apply Button im rechten oberen Eck kann außerdem zum Dashboard zurückgekehrt werden. Hier kann dann noch die Größe des Panels auf dem Dashboard angepasst werden. Auch die Zeit für die Anzeige der Daten kann hier verändert werden. Sind alle Einstellungen vorgenommen, muss nur noch das Dashboard im mittleren oberen Bereich mit einem Klick auf den Speichern Button gesichert werden. Schon können die Werte fortan geprüft und überwacht werden.

Jetzt hoffen wir, dich mit unserem dritten Beitrag weitergebracht zu haben oder dir wertvolle Tipps für die Verwendung von Grafana geben konnten. Im nächsten Teil der Serie steht für uns der Einsatz der Visualisierungsart „Stat“ im Mittelpunkt. Schau also mal wieder vorbei oder folge uns auf FacebookTwitter und/oder Instagram um keinen Beitrag zu verpassen.