Sha256: 7a13d4e6b4e3a34fcb3732c6307c14383bd287fc81ce62db34aa63d45c8d21ac

Contents?: true

Size: 600 Bytes

Versions: 4

Compression:

Stored size: 600 Bytes

Contents

class Riemann::Babbler::Disk
  include Riemann::Babbler

  def plugin
    options.plugins.disk
  end

  def disk
    disk = {}
    `df -P`.split(/\n/).each do |r|
      f = r.split(/\s+/)
      next unless f[0] =~ /^\//
      next if f[0] == 'Filesystem'
      x = f[4].to_f/100
      point = (f[5] == '/' ?  "/root" : f[5] )
      disk.merge!({point => x})
    end
    disk
  end

  def tick
    disk.each do |point, free|
      report({
        :service => plugin.service + " #{point}",
        :state => state(free),
        :metric => free
      })
    end
  end

end

Riemann::Babbler::Disk.run

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
riemann-babbler-0.1.2 lib/riemann/babbler/plugins/disk.rb
riemann-babbler-0.1.1 lib/riemann/babbler/plugins/disk.rb
riemann-babbler-0.1.0 lib/riemann/babbler/plugins/disk.rb
riemann-babbler-0.0.9 lib/riemann/babbler/plugins/disk.rb