【发布时间】:2017-01-23 18:16:26
【问题描述】:
我使用 Grafana (v2.1.3) 进行指标可视化。 Metrics 来自 collectd 收集的 Graphite。目标图是以 percents 显示 多个 节点的 可用 磁盘空间,例如假设文件夹是 /data,所以以字节为单位表示可用空间的指标是:
collectd.$node.df-data.df_complex-free
代表总空间的指标是:
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 是一个从下拉列表中选择的变量(All、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)
对于单节点还是可以的,但是一旦选择了“所有节点”选项,就会显示以下错误:
divideSeries 第二个参数必须准确引用 1 个系列
有什么想法吗?我相信应该有简单的解决方案。
【问题讨论】: