Grafana: Alias by (Display name): Unterschied zwischen den Versionen

Aus Wiki-WebPerfect
Wechseln zu: Navigation, Suche
Zeile 13: Zeile 13:
 
<pre>
 
<pre>
 
..<YOUR_FLUX_QUERY>..
 
..<YOUR_FLUX_QUERY>..
|> map(fn: (r) => ({ r with  
+
  |> map(fn: (r) => ({ r with  
  display_name: "CPU Load Total - " + r.host + ":" + r.VMName})
+
    display_name: "CPU Load Total - " + r.host + ":" + r.VMName
   )
+
   }))
|> group(columns: ["display_name"])
+
  |> group(columns: ["display_name"])
 
+
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
 
+
 
+
 
+
 
+
 
</pre>
 
</pre>
  

Version vom 8. September 2021, 10:15 Uhr

01-grafana alias-by.png

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()

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)