如何将空的InfluxDB查询结果替换为单个统计可视化的单个值



我使用新的InfluxDB2和flux查询语言从桶中检索docker统计信息。我想在单个stat小部件中显示容器的正常运行时间。

我使用以下查询:

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()

不幸的是,容器在过去的时间范围内没有在线,因此我得到一个"没有结果"。显示出来。相反,我想显示一个0值或像&;Not online&;这样的文本。

我怎样才能做到这一点?

尝试这个查询,当没有数据时,应该使用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)

如果你使用的是Grafana,你可以使用"No value">

如果查询没有结果/没有数据,则选择要显示的内容。

最新更新