Grafana: Alias by (Display name)
Aus Wiki-WebPerfect
Version vom 8. September 2021, 09:19 Uhr von Admin (Diskussion | Beiträge)
If you use a InfluxDB datasource with Query Language = InfluxQL, in a Grafana panel there was an option ALIAS BY.
This option is missing when you use a InfluxDB datasource with Query Language = Flux!
In this article I show you how you can change the naming like with ALIAS BY but with Flux.
Change naming like ALIAS BY with map() & group()
In this example we want following naming (like the image to the right): <Description> - <Hostname>: <VMName>
- Description = Hardcoded description of the measurement "CPU Load Total"
- Hostname = InfluxDB Tag "host"
- VMName = InfluxDB Tag "VMName"
..<YOUR_FLUX_QUERY>.. |> map(fn: (r) => ({ r with display_name: "CPU Load Total - " + r.host + ":" + r.VMName })) |> group(columns: ["display_name"]) |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
Similar Query from image but in Flux
from(bucket: "telegraf") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == "hyperv_virtual_processor" and r._field == "Percent_Total_Run_Time_mean" and r.VMName == "TestRHE01" ) |> map(fn: (r) => ({ r with display_name: "CPU Load Total - " + r.host + ":" + r.VMName })) |> group(columns: ["display_name"]) |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)