5

我正在使用 Telegraf/InfluxDB/Grafana 注册和查看我的服务器的指标。有时,这些组件之一会崩溃,并且指标会停止流入 InfluxDB。

为了能够注意到这种情况何时发生(在使用 Monit 重新启动服务的基础上),我想创建一个 Grafana 仪表板,在该仪表板中,我为每个主机提供了一个单统计面板,显示最新的时间戳(或者更好的是,有多少时间已通过),因为收到最后一个指标。我还想根据它的存在时间为单态的背景着色。我希望能够对任何 InfluxDB 指标执行此操作,因为不同的指标可能有不同的滞后原因。

现在,我在 InfluxQL 中尝试过类似的操作,但我得到一个错误,即查询中必须存在至少一个非时间字段:

SELECT last(time) FROM "system" WHERE "load1" > -1 GROUP BY "host"

如果我尝试将其更改为此,我会收到“多系列错误”:

SELECT last(time), last("load1") FROM "system" GROUP BY "host"

我想要做的事情是不容易做到的,还是我错过了一些明显的东西?

4

1 回答 1

0

Influxdb 查询以获取最新的时间戳

...查询语法取自本期的某处。我还没有看过 singlestat 面板,但我建议创建一个“脚本仪表板”。
首先手动创建一个带有虚拟数字的单态破折号。然后将其导出以查看 json 的样子。然后,使用脚本仪表板重新创建相同的 json,并使用上述查询的实时结果。

在 grafana 的 /public/dashboards 中查找“scripted.js”或“scripted_templated.js”。在同一文件夹中复制其中一个,然后破解生成您的 json。 这里这里这里是 javascript 魔术的一些很好的示例,用于将查询提交到 influxdb 并将结果解析为 json 用于您的单态破折号。祝你好运。

于 2017-07-07T22:03:06.223 回答