Quelques exemples de queries Flux utilisées dans mes dashboards grafana:
- Graphe simple
// Créer un graphe du champ Temp1 de la mesuer metrology
from(bucket: "home-metrics")
|> range(start: v.timeRangeStart, stop:v.timeRangeStop)
|> filter(fn: (r) =>
r._measurement == "metrology" and
r._field == "temp1"
)
|> aggregateWindow(every: v.windowPeriod, fn: mean)
- Somme de deux colones
// Query pour aggréger les valeurs des colonnes DP1 et DP2
// du measurement solarmanpv
from(bucket: "home-metrics")
|> range(start: v.timeRangeStart, stop:v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "solarmanpv")
|> filter(fn: (r) => r._field == "DP1" or r._field == "DP2")
|> group(columns: ["_time"], mode:"by")
|> sum(column: "_value")
|> group()
|> aggregateWindow(every: v.windowPeriod, fn: mean)
|> yield(name: "delivered")
- Multiplier par deux
// Query pour multiplier par deux la colonnes DP1
// du measurement solarmanpv
from(bucket: "home-metrics")
|> range(start: v.timeRangeStart, stop:v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "solarmanpv")
|> filter(fn: (r) => r._field == "DP1")
|> map(fn: (r) => ({r with _value: r._value * 2.0 }))
|> aggregateWindow(every: v.windowPeriod, fn: mean)