class Riemann::Tools::Md
Public Instance Methods
mdstat_parser()
click to toggle source
# File lib/riemann/tools/md.rb, line 14 def mdstat_parser @mdstat_parser ||= MdstatParser.new end
report_device?(device)
click to toggle source
# File lib/riemann/tools/md.rb, line 45 def report_device?(device) if !opts[:devices].empty? opts[:devices].include?(device) else !opts[:ignore_devices].include?(device) end end
tick()
click to toggle source
# File lib/riemann/tools/md.rb, line 18 def tick status = File.read('/proc/mdstat') res = mdstat_parser.parse(status) res.each do |device, member_status| next unless report_device?(device) report( service: "mdstat #{device}", description: member_status, state: member_status =~ /\AU+\z/ ? 'ok' : 'critical', ) end rescue Racc::ParseError => e report( service: 'mdstat', description: "Error parsing mdstat: #{e.message}", state: 'critical', ) rescue Errno::ENOENT => e report( service: 'mdstat', description: e.message, state: 'critical', ) end