class Riemann::Babbler::Plugin::FindFiles

Public Instance Methods

collect() click to toggle source
# File lib/riemann/babbler/plugins/find_files.rb, line 14
def collect
  return [] unless File.directory?(plugin.dir)
  count_files = 0
  file_mask   = Regexp.new(plugin.file_mask)
  Find.find(plugin.dir).each do |file|
    next unless File.file? file
    next unless file_mask.match file
    next unless Time.now.to_i - (plugin.age * 60) > File.new(file).mtime.to_i
    count_files += 1
  end
  { :service => plugin.service, :metric => count_files, :description => "Count files in #{plugin.dir}" }
end
init() click to toggle source
# File lib/riemann/babbler/plugins/find_files.rb, line 5
def init
  plugin.set_default(:service, 'find files')
  plugin.set_default(:interval, 60)
  plugin.set_default(:file_mask, '.*')       # file search mask
  plugin.set_default(:dir, '/tmp/directory') # search in dir
  plugin.set_default(:age, 1440)             # in minute
  plugin.states.set_default(:warning, 5)
end