Hello,
i have an InfluxDB 2.0 im getting the used Memory and used Swap in % and want to display them in a Graph.
memPro = from(bucket: v.defaultBucket)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "system")
|> filter(fn: (r) => r["nodename"] == "${Node}")
|> filter(fn: (r) => r["object"] == "lxc")
|> filter(fn: (r) => r["_field"] == "mem" or r["_field"] == "maxmem" or r["_field"] == "uptime")
|> group(columns: ["vmid", "host"])
|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
|> filter(fn: (r) => r["uptime"] > 0)
|> map(fn: (r) => ({ r with _value: r.mem / r.maxmem }))
|> keep(columns: ["_time", "host", "vmid", "_value"])
swapPro = from(bucket: v.defaultBucket)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "system")
|> filter(fn: (r) => r["nodename"] == "${Node}")
|> filter(fn: (r) => r["object"] == "lxc")
|> filter(fn: (r) => r["_field"] == "swap" or r["_field"] == "maxswap" or r["_field"] == "uptime")
|> group(columns: ["vmid", "host"])
|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
|> filter(fn: (r) => r["uptime"] > 0)
|> map(fn: (r) => ({ r with _value: r.swap / r.maxswap }))
|> keep(columns: ["_time", "host", "vmid", "_value"])
join(tables: {mem:memPro, swap:swapPro}, on: ["_time", "host", "vmid"])
The output in the legend looks like this:
How can i set it to use the name in the host field? so that the output would look like
${host}_mem
${host}_swap