首页 文章

如何在Grafana表(或singlestat)中显示InfluxDB测量的最新时间戳?

提问于
浏览
4

我正在使用Telegraf / InfluxDB / Grafana来注册和查看我的服务器的指标 . 有时其中一个组件崩溃,指标停止流入InfluxDB .

为了能够注意到这种情况发生的时间(除了使用Monit重启服务之外)我想创建一个Grafana仪表板,其中每个主机都有一个singlestat面板,显示最新的时间戳(或更好,有多少时间有自收到最后一个指标以来已经过去了 . 我还想根据它的持续时间对singlestat的背景进行着色 . 我希望能够针对任何InfluxDB指标执行此操作,因为不同的指标可能有不同的原因滞后 .

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

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

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

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

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

1 回答

  • 0

    Influxdb query to get most recent timestamp

    ...查询语法取自issue中的某个地方 . 我没有't yet looked at the singlestat panel, but I suggest creating a ' scripted dashboard' .
    首先手动创建一个带有虚拟编号的单稳态短划线 . 然后export it看看json的样子 . 然后,使用脚本化仪表板,使用上述查询的实时结果重新创建相同的json .

    请查看grafana 's /public/dashboards for ' scripted.js ' or ' scripted_templated.js' . 复制其中一个在同一文件夹中,然后黑客生成你的json . Hereherehere是javascript魔术提交查询到Influxdb的一些很好的例子,并将结果解析为你的singlestat破折号的json . 祝好运 .

相关问题