Grafana: Alias by (Display name): Unterschied zwischen den Versionen
Aus Wiki-WebPerfect
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 4: | Zeile 4: | ||
In this article I show you how you can change the naming like with ''ALIAS BY'' but with 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() == | + | == Change naming like ''ALIAS BY'' with map() & group() == |
In this example we want following naming (like the image to the right): '''<Description> - <Hostname>: <VMName>''' <br> | In this example we want following naming (like the image to the right): '''<Description> - <Hostname>: <VMName>''' <br> | ||
*'''Description''' = Hardcoded description of the measurement "CPU Load Total" | *'''Description''' = Hardcoded description of the measurement "CPU Load Total" | ||
*'''Hostname''' = InfluxDB Tag "host" | *'''Hostname''' = InfluxDB Tag "host" | ||
*'''VMName''' = InfluxDB Tag "VMName" | *'''VMName''' = InfluxDB Tag "VMName" | ||
− | |||
<pre> | <pre> | ||
Zeile 21: | Zeile 20: | ||
+ | |||
+ | === Similar Query from image but in Flux === | ||
+ | <pre> | ||
+ | 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) | ||
+ | </pre> | ||
Version vom 8. September 2021, 09:19 Uhr
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)