我想将不同的保留政策中的同一指标查询到一张图中。理想情况下,由于要使用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