7

我有石墨+收集的设置来收集系统相关的指标。这个问题与 collectd 的内存插件有关。

我的基础设施有这种格式,用于使用 collectd 收集内存使用数据:

<cluster>.<host>.memory.memory-{buffered,cached,free,used}

我想绘制每个主机使用的内存百分比。

所以基本上,我必须做这样的事情:

divideSeries(sumSeriesWithWildCards(*.*.memory.memory-{buffered,cached,free},1),sumSeriesWithWildCards(*.*.memory.memory-{buffered,cached,free,used}),1)

但我无法做到这一点,因为 divideSeries 希望除数指标只返回一个指标。

我基本上想要一个目标来监控集群中的所有主机。

我怎样才能做到这一点?

4

2 回答 2

5

试试这个:

asPercent(host.memory.memory-used, sumSeries(host.memory.memory-{used,free,cached,buffered}))

您将获得一个主机的内存使用百分比图。不幸的是,我无法使用通配符(多个主机)。

于 2014-07-18T17:42:26.393 回答
0

使用正则表达式对多个节点尝试此操作。

alias(asPercent(sumSeries(collectd.nodexx*_internal_cloudapp_net.memory.memory.used), sumSeries(collectd.nodexx*_internal_cloudapp_net.memory.memory.{used,free,cached,buffered})),"Memory Used")

alias(asPercent(sumSeries(collectd.nodexx*_internal_cloudapp_net.memory.memory.{cached,buffered}), sumSeries(collectd.nodexx*_internal_cloudapp_net.memory.memory.{used,free,cached,buffered})),"Memory Cached")

alias(asPercent(sumSeries(collectd.nodexx*_internal_cloudapp_net.memory.memory.free), sumSeries(collectd.nodexx*_internal_cloudapp_net.memory.memory.{used,free,cached,buffered})),"Memory Free")
于 2015-05-21T23:34:09.853 回答