使用多个查询创建图形面板

时间:2016-04-08 14:03:04

标签: influxdb grafana

我有以下监控堆栈:

  • 使用telegraf-0.12
  • 收集数据
  • 存储在Influxdb-0.12
  • grafana(3beta)中的可视化

我正在收集"系统"来自多个主机的数据,我想创建一个显示" system.load1"的图表。几个主机没有合并。我可以简单地向图表面板添加多个查询。

创建我的图形面板时,我会创建第一个系列并查看结果,但是当我添加第二个查询时,我收到了错误。

以下是panel creation with 2 queries

以下是小组生成的查询:

SELECT mean("load1") FROM "system" WHERE "host" = 'xxx' AND time > now() - 24h GROUP BY time(1m) fill(null) SELECT mean("load1") FROM "system" WHERE "host" = 'yyy' AND time > now() - 24h GROUP BY time(1m) fill(null)

错误:

{
  "error": "error parsing query: found SELECT, expected ; at line 2, char 1",
  "message": "error parsing query: found SELECT, expected ; at line 2, char 1"
}

所以我可以看到生成的查询格式不正确(2行选择一行甚至没有&#39 ;;')但我不知道如何使用Grafana来实现我想要的。 当我单独显示或隐藏每个查询时,我会看到相应的图形。 我用chronograf创建了一个类似的图形(有多个系列),但我宁愿使用grafana,因为我有更多的控件和插件......

我在这里做错了吗?

2 个答案:

答案 0 :(得分:3)

在github问题中阅读了几个线程后,这是一个快速修复。 正如@schup所提到的,这里描述了问题及其解决方案: https://github.com/grafana/grafana/issues/4533

二进制文件目前尚未在grafana-3beta中修复(如果可能在接下来的几周内)。因此,有两个选项:修复源代码并编译或修补现有安装。

我实际上必须修补我当前的安装:

/usr/share/grafana/public/app/app.<number_might_differ_here>.js

sed --in-place=backup 's/join("\\n");return k=k.replace/join(";\\n");return k=k.replace/;s/.replace(\/%3B\/gi,";").replace/.replace/' app.<number_might_differ_here>.js

希望这可能有所帮助(而且很快就会修复)

答案 1 :(得分:0)

似乎是Influxdb 0.11中的API更改 https://github.com/grafana/grafana/issues/4533