Sha256: 6423b2823d215c42e64ce4474480d2cb915fc4ac636d63782f86e0871104aee9
Contents?: true
Size: 980 Bytes
Versions: 1
Compression:
Stored size: 980 Bytes
Contents
module Graphiterb module Monitors # A monitor for how much space is available on a node. class DiskSpace < Graphiterb::Monitors::PeriodicMonitor # Runs and parses `df'. # # disk_space.df # #=> [["/dev/sda", "39373712", "20488716", "16884908", "55%", "/"], ["/dev/sdb", "920090332", "397413344", "475939088", "46%", "/home"]] # # @return [Array<Array>] def df `/bin/df`.chomp.split("\n"). grep(%r{^/dev/}). map{|line| line.split(/\s+/) } rescue [] end # Calls +df+ and adds the space available metric. def get_metrics metrics, since # "/dev/sdb1", "39373712", "20488716", "16884908", "55%", "/" df.each do |handle, size, spaceused, spacefree, percentfree, location| disk_name = handle.gsub(/^\//, '').split('/') metrics << [scope(graphite_identifier, disk_name, 'available'), spacefree.to_i] end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
graphiterb-0.2.13 | lib/graphiterb/monitors/disk_space.rb |