2016-11-23 71 views
4

我正在使用Telegraf/InfluxDB/Grafana来为我的服务器注册和查看指标。偶尔,其中一个组件会崩溃,并且指标会停止流入InfluxDB。如何在Grafana表(或singlestat)中显示InfluxDB测量的最新时间戳?

为了能够注意到什么时候发生了这种情况(在使用Monit重新启动服务之前)我想创建一个Grafana仪表板,其中为每个主机显示最新时间戳(或更好,自从收到最后一个度量标准以来,已经过了多少时间)。我还想根据它已经存在多长时间着色singlestat的背景。我希望能够为任何InfluxDB指标做到这一点,因为不同的指标可能会有不同的落后原因。

现在,我已经试过在InfluxQL这样的事情,但我只是得到一个错误,至少有一个非时间字段必须出现在查询:

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

如果我尝试将其更改为这个,我得到一个“多系列错误”:

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

是什么,我试图做不容易可行的还是我失去了一些东西明显?

+0

在这里问几乎类似的问题:http://stackoverflow.com/questions/35640978/how-to-show-33-minutes-ago-on-grafana-dashboard-with-influxdb?rq=1 –

+0

This将是一个非常好的功能,但目前还不可能。 – IIIIIIIIIIIIIIIIIIIIII

+0

你的问题也是重复的:http://stackoverflow.com/q/39534892/5183341 – IIIIIIIIIIIIIIIIIIIIII

回答

0

Influxdb query to get most recent timestamp

...查询语法是从某处在这个issue拍摄。 我还没有看过单个面板,但我建议创建'scripted dashboard'。
首先手动创建一个虚拟号码的单点划线。然后export it查看json的样子。 然后,使用脚本仪表板重新创建相同的json,并使用上述查询的实时结果。

查看grafana的/ public/dashboards中的'scripted.js'或'scripted_templated.js'。在同一个文件夹中制作其中一个副本,然后通过破解来生成您的json。 Hereherehere是JavaScript魔法提交查询到influxdb和解析结果到您的singlestat短划线的json的一些很好的例子。祝你好运。