我正在使用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"
我试图做的不容易做到,还是我错过了一些明显的东西?
答案 0 :(得分:0)
...查询语法取自此issue中的某个位置。
我还没有查看过singlestat面板,但我建议创建一个' scripted dashboard'。
首先手动创建一个带有虚拟编号的单稳态短划线。然后export it看看json的样子。
然后,使用脚本化仪表板,使用上述查询中的实时结果重新创建相同的json。
在grafana的/ public / dashboards中查看&scripted.js'或者' scripted_templated.js'。复制其中一个在同一文件夹中,然后黑客生成你的json。 Here和here以及here是javascript魔术将一些查询提交到Influxdb并将结果解析为monstat破折号的json的一些不错的示例。祝你好运。