首页 > 解决方案 > Grafana Boom Table + Flux 查询不产生数据

问题描述

我正在尝试将基于通量的查询添加到 Boom Table Grafana 插件。当我使用此查询时,它可以工作 - 我在第一行得到一个 Host 值的表,而 Value 是我期望的正确值:

from(bucket: "telegraf/autogen")
  |> range(start: -14d)
  |> filter(fn: (r) => r._measurement == "system" and r._field=="n_cpus" and r.host=="HOST1")
  |> last()
  |> group(columns: ["_host"])
  |> keep(columns: ["_time", "_value", "host", "_field"])
  |> map(fn:(r) => ({"AgeOfLastMeasurement" :(uint(v: now()) - uint(v: r._time))/uint(v:"1000000000"), Time:r._time, "_field":"AgeOfLastMeasurement", host: r.host, host_agg:r.host+" | AgeOfLastMeasurement"}))
  |> pivot(rowKey: ["Time"], columnKey: ["host_agg"], valueColumn: "AgeOfLastMeasurement")
  |> fill(column: "HOST1 | AgeOfLastMeasurement", usePrevious: true)
  |> last(column: "Time")

我得到这张表:

Host        AgeOfLastMeasurement
HOST1       20

但是,当我尝试将其扩展到多个主机时,如下所示:

from(bucket: "telegraf/autogen")
  |> range(start: -14d)
  |> filter(fn: (r) => r._measurement == "system" and r._field=="n_cpus" and (r.host=="HOST1" or r.host=="HOST2"))
  |> last()
  |> group(columns: ["_host"])
  |> keep(columns: ["_time", "_value", "host", "_field"])
  |> map(fn:(r) => ({"AgeOfLastMeasurement" :(uint(v: now()) - uint(v: r._time))/uint(v:"1000000000"), Time:r._time, "_field":"AgeOfLastMeasurement", host: r.host, host_agg:r.host+" | AgeOfLastMeasurement"}))
  |> pivot(rowKey: ["Time"], columnKey: ["host_agg"], valueColumn: "AgeOfLastMeasurement")
  |> fill(column: "HOST1 | AgeOfLastMeasurement", usePrevious: true)
  |> fill(column: "HOST2 | AgeOfLastMeasurement", usePrevious: true)
  |> last(column: "Time")

我明白了:

Host        Value
            No data

在资源管理器中运行查询,查询之间的区别是:

查询一:

Time                  HOST1 | AgeOfLastMeasurement
2021-06-28 12:50:00                             20

查询 2:

Time                  HOST1 | AgeOfLastMeasurement    HOST2 | AgeOfLastMeasurement
2021-06-28 12:50:00                             20                              18

我究竟做错了什么?顺便提一句。复杂的填充查询是为了确保没有行有空值——我只关心每个主机的最后一个值。关键是使其成为 Boom Table 所期望的时间序列。

标签: grafanainfluxdb

解决方案


推荐阅读