【问题标题】:Create graph panel with multiple query创建具有多个查询的图形面板
【发布时间】:2016-04-08 14:03:04
【问题描述】:

我有以下监控堆栈:

  • 使用 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 在一行中选择,甚至没有';')但我不知道如何使用 Grafana 来实现我想要的。 当我单独显示或隐藏每个查询时,我会看到相应的图表。 我用 chronograf 创建了一个类似的图表(有多个系列),但我宁愿使用 grafana,因为我有更多的控制和插件......

我在这里做错了吗?

【问题讨论】:

    标签: influxdb grafana


    【解决方案1】:

    在阅读了 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
    

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

    【讨论】:

    • 干得好杰罗姆,你拯救了我的一天!仍在使用 v2.6,您的回答解决了问题。现在我也可以使用 DERIVATIVE 了! SELECT DERIVATIVE(mean("bytes_recv"),1s) AS Rcvd FROM "net" WHERE "interface" = 'eth0' AND $timeFilter GROUP BY time($interval) fill(null);bytes_sent 进行第二次查询。做得好。谢谢。
    【解决方案2】:

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

    【讨论】:

    • 你说得对,我在搜索这个问题的答案时应该更加小心...... thx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多