veeam-enterprise_manager-grafana icon indicating copy to clipboard operation
veeam-enterprise_manager-grafana copied to clipboard

Graphs for veeam backup performance aren't using flux queries yet

Open trenta opened this issue 1 year ago • 1 comments

I've updated to using influxdb v2 which I know works with version 1 queries but you have to set grafana to use flux or not for a data source. So should the queries for the veeam backup performance section also be updated to use flux queries?

trenta avatar Aug 09 '22 03:08 trenta

Hello, I modified the graphs so that they work with the new version of influxdb, here is the code that I use for each one of them

CPU

from(bucket: "windows") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r._measurement == "cpu" and r.host == "${host}" and r._field == "usage_idle" and r.cpu == "cpu-total") |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false) |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value") |> map(fn: (r) => ({r: r.usage_idle * -1.0 + 100.0}))

Memory

from(bucket: "windows") |> range(start: v.timeRangeStart) |> filter(fn: (r) => r.host == "${host}") |> filter(fn: (r) => r._measurement == "mem") |> filter(fn: (r) => r._field == "used") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> yield(name: "mean")

Uptime

from(bucket: v.defaultBucket) |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r.host =~ /${host}/ and r._measurement == "system" and r._field == "uptime") |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false) |> yield(name: "last")

Network

QueryA from(bucket: "windows") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "net") |> filter(fn: (r) => r.host == "${host}" and r.interface =~ /.*$/) |> filter(fn: (r) => r["_field"] == "bytes_recv") |> derivative(unit: 1s, nonNegative: true) |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> yield(name: "mean")

QueryB from(bucket: "windows") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "net") |> filter(fn: (r) => r.host == "${host}" and r.interface =~ /.*$/) |> filter(fn: (r) => r["_field"] == "bytes_sent") |> derivative(unit: 1s, nonNegative: true) |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> yield(name: "mean")

Disk

from(bucket: "windows") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "disk") |> filter(fn: (r) => r.host == "${host}") |> filter(fn: (r) => r["_field"] == "used_percent") |> filter(fn: (r) => r["device"] == "C:") |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false) |> yield(name: "last")

U17205367 avatar Oct 11 '22 06:10 U17205367