使用 Grafana 为多个节点获取可用磁盘百分比 space

Get free disk space in percentage for multiple nodes using Grafana

我使用 Grafana (v2.1.3) 进行指标可视化。 指标来自 collectd 收集的 Graphite。目标图是显示 free disk space in percents for multiple nodes,例如假设文件夹是 /data,那么以字节为单位表示空闲 space 的度量是:

collectd.$node.df-data.df_complex-free

代表总数的指标 space 是以下各项的总和:

collectd.$node.df-data.*

所以,我有以下配置:

Series A: collectd.$node.df-data.df_complex-free (Invisible)
Series B: collectd.$node.df-data.* (Invisible)
Series C: alias(asPercent(#A, sumSeries(#B)), 'Free space')

这里$node是一个从下拉列表中选择的变量(全部,node1,node2,node3等)。 It works as expected when one specific node is selected, but wrong one All option is selected, (e.g. if percentage per node is ~ 95%, then when All is selected 24% is displayed) .

另一种选择(可能更可取:

Series A: collectd.$node.df-data.df_complex-free
Series B: groupByNode(collectd.$node.df-data.*, 1, 'sum')
Series C: scale(divideSeries(#A, #B), 100)

同样对于单个节点没问题,但是一旦选择了 "All nodes" 选项,就会显示以下错误:

divideSeries 第二个参数必须准确引用 1 个系列

有什么想法吗?我相信应该有简单的解决方案。

由于您使用的是 collectd 和 df 插件,因此您只需在 /etc/collectd.conf.d/df.conf 中启用 ValuesPercentage 参数,然后您就可以查询 collectd.$node.df-data.percent_bytes-free

https://collectd.org/wiki/index.php/Plugin:DF