我正在使用Influxdb grafana和collectd,我想显示内存使用情况图 .
collectd为我提供了内存的度量值,并将其保存在Influxdb中
influxdb/memory/memory-buffered
influxdb/memory/memory-cached
influxdb/memory/memory-free
influxdb/memory/memory-used
我想在grafana图中显示总内存,所以我需要总结以下指标:
memory_buffered + memory_cached + memory_free + memory_used
如何在Influxdb或grafana中查询?
2 回答
我认为目前这是不可能的(使用InfluxDB 0.9) . 为了计算ratios between timeseries (fields),您必须能够执行在InfluxDB 0.9中弃用的nested queries或joins:
但是,如果从collectd报告已经作为百分比的值,则可以避免此类查询(从版本5.5开始,它支持以百分比形式报告CPU) .
这是一个简单的bash
exec
脚本,用于计算cpu,内存和磁盘使用的百分比:将它编写为Python插件可能更有效 . 无论如何,那么你可以查询内存使用情况:
我目前在版本
1.5.1
上使用此功能:要获取所有值,我在查询中使用此正则表达式:
我需要将
time(1m)
设置为我在收集的60
中使用的匹配间隔,在我的情况下,在grafana中,这看起来像这样: