Sha256: d5aa7bfdefc08ab4013aa86d5bb127c3d1b39b2d0c33f643bf91826419e7e2b7

Contents?: true

Size: 740 Bytes

Versions: 1

Compression:

Stored size: 740 Bytes

Contents

class Riemann::Babbler::Memory < Riemann::Babbler

  def collect
    m = File.read('/proc/meminfo').split(/\n/).inject({}) { |info, line|
      x = line.split(/:?\s+/)
      info[x[0]] = x[1].to_i
      info
    }
    free = m['MemFree'].to_i + m['Buffers'].to_i + m['Cached'].to_i
    total = m['MemTotal'].to_i
    fraction = 1 - (free.to_f / total)

    desc = "usage\n\n#{shell('ps -eo pmem,pid,cmd | sort -nrb -k1 | head -10').chomp}"

    [
      { :service => plugin.service, :metric => fraction },
      { :service => plugin.service + " free", :metric => free.to_f, :state => 'ok', :description => desc },
      { :service => plugin.service + " total", :metric => total.to_f, :state => 'ok', :description => desc }
    ]
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
riemann-babbler-0.4.9 lib/riemann/babbler/plugins/memory.rb