Grafana: Messdaten addieren oder subtrahieren

grafana

#1

gibt es die möglichkeit in einem extra fenster den unterschied zwischen temp soil und temp air anzuzeigen? https://swarm.hiveeyes.org/grafana/dashboard/db/beutenkarl

@staff


#2

Ja, das klappt folgendermaßen:

  1. Im Panel Editor auf dem Tab “Metrics” den Modus per “Toggle Edit Mode” umschalten, um die Datenbankabfrage manuell eingeben zu können:

  2. Innerhalb der Abfrage das gewünschte (hier: soil - air) entsprechend formulieren:

     SELECT mean("soiltemperature") - mean("airtemperature") 
     FROM "wormcompost_huzzah" 
     WHERE $timeFilter GROUP BY time($interval) fill(null)
    

  3. Voilà: https://swarm.hiveeyes.org/grafana/dashboard-solo/db/beutenkarl?panelId=8&from=20161103T123000&to=20161107T170000


Siehe auch: https://stackoverflow.com/questions/30010364/multi-timeseries-operations-in-grafana/36675854#36675854


#3

Man kann das auch noch weiter treiben:

Hier siehst man die Spanne von zwei Temperatur Sensoren zwischen jeweils zwischen min, max und dazwischen. Im Bienenkontext Flugloch vs. Schatten. Die Implementierung ist ein bisschen schwieriger:

Metrics

Zuerst müssen von jedem Sensor zwei Abfragen generiert werden, wobei in der Zeile Select durch + -> Selectors -> min bzw. + -> Selectors -> max
Im edit-mode:
SELECT max("temp3") FROM "zisk42_2" WHERE $timeFilter GROUP BY time($interval)
SELECT min("temp3") FROM "zisk42_2" WHERE $timeFilter GROUP BY time($interval)

Die Abfragen sollten dann auch eine entsprechende Benennung erhalten.

Display

Die Magic kommt dann durch die Einstellungen in dem Reiter Display:
Der Witz ist, den die Linien nicht anzeigen zu lassen, sondern nur die Felder dazwischen, was durch Fill below: <NAME> erreicht wird. Sprich, die Einstellungen für <MAX> werden mit Fill below: <MIN> belegt. Dazu kommen wird noch Line fill: 0 und Lines: false gesetzt