我正在使用新的InfluxDB2和通量查询语言从我的存储桶中检索码头统计数据。我想在单个统计小部件中显示容器的正常运行时间。
为此,我使用以下查询:
from(bucket: "docker")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "docker_container_status")
|> filter(fn: (r) => r._field == "uptime_ns")
|> filter(fn: (r) => r.container_name == "some_container")
|> window(period: v.windowPeriod)
|> last()不幸的是,容器在过去的时间范围内没有在线,因此我得到一个"No results“显示。相反,我想显示一个0值或一个类似“不在线”的文本。
我如何才能做到这一点?
发布于 2021-03-07 16:18:35
尝试此查询,当没有数据时,应使用0.0填充
from(bucket: "docker")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "docker_container_status")
|> filter(fn: (r) => r._field == "uptime_ns")
|> filter(fn: (r) => r.container_name == "some_container")
|> aggregateWindow(every: v.windowPeriod, fn: (tables=<-, column="_value") =>
tables |> last(column) |> sum(column))
|> fill(value: 0.0)发布于 2021-08-18 12:16:52
如果你正在使用Grafana,你可以使用"No value“选项来选择在你的查询没有结果/没有数据的情况下你想要显示的内容。
https://stackoverflow.com/questions/66510024
复制相似问题