Grafana动态显示由collectd

时间:2015-12-14 06:53:23

标签: influxdb grafana collectd

如何让grafana为新添加的主机动态添加图表?例如,我有grafana图表来显示现有主机的平均负载。当我添加新主机时,collectd会将新主机指标发送到Influxdb。但每次我必须在grafana中手动添加一个不需要的图形?有没有办法让grafana自动绘制新主机指标而不改变grafana?

3 个答案:

答案 0 :(得分:0)

您必须使用Grafana HTTP api并通过添加所需的新图表来更新信息中心。这实际上意味着您必须:

  • 使用api获取仪表板的json
  • 处理此数据并为要添加的新面板添加额外代码
  • 再次使用api更新信息中心

层次结构很简单:仪表板有行,行有面板。可能你必须在面板中添加一些json代码。去检查你的json文件,所有这些都对你有用......

答案 1 :(得分:0)

您可以使用regexp patterns in InfluxDB 0.8(另请参阅0.9 equivalent docs)来匹配所有新添加的主机。 InfluxDB正则表达式使用Golang syntax

例如,要匹配以stats.cpuNUMBER开头的所有系列:

series: /^stats\.cpu\d+/
select: avg(load)

然而,通过这种方式,您不会为每个新添加的主机获取一个新绘图,而是为同一绘图中的每个主机添加一行。

答案 2 :(得分:0)

您必须在select子句中添加正则表达式。

  

SELECT mean(value)FROM /logstash.*.requests.count/ WHERE $ timeFilter   GROUP BY时间($ interval)

上面的脚本将自动为所有主机绘制匹配上面正则表达式的每个系列,而不更改grafana。

logstash.ABC1.requests.count

logstash.ABC2.requests.count

logstash.ABC3.requests.count

当添加ABC4主机并且出货正确时,将自动绘制新图表。