我想将跨不同保留策略的相同度量查询到单个图表中。理想情况下,我想在查询本身中执行此操作,因为我正在使用 Grafana。
根据 Flux 文档,“Flux 在表格中构建所有数据。当数据从数据源流式传输时,Flux 将其格式化为带注释的逗号分隔值 (CSV),表示表格。然后函数操作或处理它们并输出新表格。”
在这种情况下,不同的保留策略会表现得像不同的表吗?我可以使用 union() 函数来获得我想要的吗?任何见解将不胜感激。
我想将跨不同保留策略的相同度量查询到单个图表中。理想情况下,我想在查询本身中执行此操作,因为我正在使用 Grafana。
根据 Flux 文档,“Flux 在表格中构建所有数据。当数据从数据源流式传输时,Flux 将其格式化为带注释的逗号分隔值 (CSV),表示表格。然后函数操作或处理它们并输出新表格。”
在这种情况下,不同的保留策略会表现得像不同的表吗?我可以使用 union() 函数来获得我想要的吗?任何见解将不胜感激。
因此,对于这样的事情,您只需使用两个不同的from
语句并使用union
或join
组合它们。查看有关union
查询示例的文档:https ://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/union/#examples
left = from(bucket: "database1/policy1")
|> range(start: 2018-05-22T19:53:00Z, stop: 2018-05-22T19:53:50Z)
|> filter(fn: (r) =>
r._field == "usage_guest" or
r._field == "usage_guest_nice"
)
|> drop(columns: ["_start", "_stop"])
right = from(bucket: "database1/policy2")
|> range(start: 2018-05-22T19:53:50Z, stop: 2018-05-22T19:54:20Z)
|> filter(fn: (r) =>
r._field == "usage_guest" or
r._field == "usage_idle"
)
|> drop(columns: ["_start", "_stop"])
union(tables: [left, right])
在这种情况下,函数中bucket
使用的from
将采用database_name/rp
. 请参阅 1.x 中有关存储桶命名约定的文档:https ://docs.influxdata.com/flux/v0.50/introduction/getting-started/#buckets