grafana - 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 所期望的时间序列。
解决方案
推荐阅读
- autosar - Flexray 通信故障
- python - 如何使用 pygsheets 旋转 Google 表格中的文本?
- html - 无法使我的网页适合屏幕(流畅),而是太大而无法水平滚动
- c - 我们如何打印一个部分填充的整数数组?如果是整数,我们不能使用 '\0'
- bixby - 如何访问从 API 返回的哈希/对象?
- c# - Azure DevOps 如何在另一个解决方案中使用对另一个项目的引用来构建项目
- excel - 如何保存手动编辑的 msg 文件?
- php - 在 PHP 中使用 IP 和时间捕获用户名
- java - 无法停止在java中读取输入
- ios - 按照 Apple 文档实施运动障碍 API 时发生错误