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

Create graph panel with multiple query

我有以下监控堆栈:

我正在从多台主机收集 "system" 数据,我想创建一个图表来显示未合并的多台主机的 "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 select,甚至没有 ';')但我不知道如何使用 Grafana 来实现我想要的。 当我单独显示或隐藏每个查询时,我会看到相应的图表。 我已经使用 chronograf 创建了一个类似的图表(具有多个系列),但我宁愿使用 grafana,因为我有更多的控件和插件...

我这里有什么地方做错了吗?

似乎是 API influxdb 0.11 的变化 https://github.com/grafana/grafana/issues/4533

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

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

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

/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

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