Files
nginx_prod/influxdb/by_nginx_request.flux
2023-09-28 21:44:03 +01:00

31 lines
912 B
Plaintext

////////////////////////////////////////////////////////////////////
v = {
"timeRangeStart": 2023-06-16T14:44:00Z,
"timeRangeStop": 2023-06-18T14:44:00Z
}
bucket = "telegraf"
////////////////////////////////////////////////////////////////////
hosts = ${httpHost:json}
hostsLength = hosts |> length()
measurement = "nginx_access-logv3"
from(bucket: "${bucket}")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == measurement and (r["_field"] == "request" or r["_field"] == "nginx_host"))
|> pivot(rowKey:["_time"],
columnKey: ["_field"],
valueColumn: "_value")
|> filter(fn: (r) => if hostsLength>0 then contains(value: r["nginx_host"], set: hosts) else true)
|> group()
|> duplicate(column: "request", as: "_value")
|> group(columns: ["request"])
|>count()
|> group()
|> sort(columns: ["_value"], desc: true)