Used percentage of disk volume proxmox

I’m trying to use a code to see the use of disks in vm proxmox but it’s not working. can anyone find the error?

this is a coide:

disk = from(bucket: “${Bucket}”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “system”)
|> filter(fn: (r) => r[“_field”] == “disk”)
|> filter(fn: (r) => r[“nodename”] == “${server}”)
|> filter(fn: (r) => r[“_value”] > 0)
|> filter(fn: (r) => r[“object”] == “qemu”)
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)

maxdisk = from(bucket: “${Bucket}”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “system”)
|> filter(fn: (r) => r[“_field”] == “maxdisk”)
|> filter(fn: (r) => r[“nodename”] == “${server}”)
|> filter(fn: (r) => r[“object”] == “qemu”)
|> filter(fn: (r) => r[“_value”] > 0)
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)

join(
tables: {disk:disk, maxdisk:maxdisk},
on: [“_time”,“_stop”,“_start”,“host”]

)

|> map(fn: (r) => ({
_time: r._time,
_value: float(v:r._value_disk) * float(v:100) / float(v:r._value_maxdisk) ,
host: r.host
})
)

|> group(columns: [“host”])

///////////////////////////////

its works fine in container with this code :

disk = from(bucket: “${Bucket}”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “system”)
|> filter(fn: (r) => r[“_field”] == “disk”)
|> filter(fn: (r) => r[“nodename”] == “${server}”)
|> filter(fn: (r) => r[“_value”] > 0)
|> filter(fn: (r) => r[“object”] == “lxc”)
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)

maxdisk = from(bucket: “${Bucket}”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “system”)
|> filter(fn: (r) => r[“_field”] == “maxdisk”)
|> filter(fn: (r) => r[“nodename”] == “${server}”)
|> filter(fn: (r) => r[“_value”] > 0)
|> filter(fn: (r) => r[“object”] == “lxc”)
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)

join(
tables: {disk:disk, maxdisk:maxdisk},
on: [“_time”,“_stop”,“_start”,“host”]

)
|> map(fn: (r) => ({
_time: r._time,
_value: float(v:r._value_disk) * float(v:100) / float(v:r._value_maxdisk) ,
host: r.host
})
)

|> group(columns: [“host”])

////////// some1 can help me?

@lexusamn

The code for the two examples looks identical except for the objects referenced (qemu or lxc).

Does the qemu example give you any error message?

What happens when you run these queries in Influx Data Explorer (not Grafana)?

Just show me this

if i change value
|> filter(fn: (r) => r[“_value”] > 0) to |> filter(fn: (r) => r[“_value”] > -1)

show me this:

but dont show me any error at all

whem i put in influx i got this

In this part of your first query…

…what happens to your query when you re-order these lines to be like this? Since Flux uses the pipe-forward operator ( |> ) to chain operations together, this might make a difference.

|> filter(fn: (r) => r["object"] == "qemu")
|> filter(fn: (r) => r["_value"] > 0)

alred try this one, nothing happs