我有石墨+收集设置来收集与系统相关的指标。这个问题与collectd的内存插件有关。
我的infra使用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希望除数指标只返回一个指标。
我基本上想要一个目标来监控集群中的所有主机。
我该怎么做?
答案 0 :(得分:5)
试试这个:
asPercent(host.memory.memory-used, sumSeries(host.memory.memory-{used,free,cached,buffered}))
您将获得一个主机的百分比内存使用情况图表。不幸的是,我无法使用通配符(多个主机)。
答案 1 :(得分:0)
尝试使用regex的多个节点。
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")