0

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

4

3 回答 3

0

您可以在 InfluxDB 0.8 中使用正则表达式模式(另请参阅0.9 等效文档)来匹配所有新添加的主机。InfluxDB 正则表达式使用Golang 语法

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

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

但是,这样一来,您不会为每个新添加的主机获得一个新地块,而是为同一地块中的每个主机获得一条线。

于 2015-12-16T13:59:52.403 回答
0

您必须在您的选择子句中添加正则表达式。

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

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

logstash.ABC1.requests.count

logstash.ABC2.requests.count

logstash.ABC3.requests.count

添加 ABC4 主机并正确发货后,将自动绘制新图表。

于 2016-02-09T01:06:44.340 回答
0

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

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

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

于 2015-12-14T15:49:54.677 回答