bin/check-raid.rb in sensu-plugins-raid-checks-0.0.4 vs bin/check-raid.rb in sensu-plugins-raid-checks-0.1.0

- old
+ new

@@ -31,17 +31,15 @@ # class CheckRaid < Sensu::Plugin::Check::CLI # Check software raid # def check_software - # #YELLOW - if File.exist?('/proc/mdstat') # rubocop:disable GuardClause + if File.exist?('/proc/mdstat') contents = File.read('/proc/mdstat') mg = contents.lines.grep(/active/) unless mg.empty? sg = mg.to_s.lines.grep(/\]\(F\)/) - # #YELLOW unless sg.empty? # rubocop:disable UnlessElse warning 'Software RAID warning' else ok 'Software RAID OK' end @@ -50,51 +48,49 @@ end # Check HP raid # def check_hp - # #YELLOW - if File.exist?('/usr/bin/cciss_vol_status') # rubocop:disable GuardClause + if File.exist?('/usr/bin/cciss_vol_status') contents = `/usr/bin/cciss_vol_status /dev/sg0` c = contents.lines.grep(/status\: OK\./) # #YELLOW - unless c.empty? # rubocop:disable UnlessElse + unless c.empty? # rubocop:disable UnlessElse ok 'HP RAID OK' else warning 'HP RAID warning' end end end # Check Adaptec raid controllers # - def check_adaptec # rubocop:disable all - # #YELLOW - if File.exist?('/usr/StorMan/arcconf') # rubocop:disable GuardClause + def check_adaptec + if File.exist?('/usr/StorMan/arcconf') contents = `/usr/StorMan/arcconf GETCONFIG 1 AL` mg = contents.lines.grep(/Controller Status/) # #YELLOW - unless mg.empty? # rubocop:disable UnlessElse + unless mg.empty? # rubocop:disable UnlessElse sg = mg.to_s.lines.grep(/Optimal/) warning 'Adaptec Physical RAID Controller Failure' if sg.empty? else warning 'Adaptec Physical RAID Controller Status Read Failure' end mg = contents.lines.grep(/Status of logical device/) # #YELLOW - unless mg.empty? # rubocop:disable UnlessElse + unless mg.empty? # rubocop:disable UnlessElse sg = mg.to_s.lines.grep(/Optimal/) warning 'Adaptec Logical RAID Controller Failure' if sg.empty? else warning 'Adaptec Logical RAID Controller Status Read Failure' end mg = contents.lines.grep(/S\.M\.A\.R\.T\. /) # #YELLOW - unless mg.empty? # rubocop:disable UnlessElse + unless mg.empty? # rubocop:disable UnlessElse sg = mg.to_s.lines.grep(/No/) warning 'Adaptec S.M.A.R.T. Disk Failed' if sg.empty? else warning 'Adaptec S.M.A.R.T. Status Read Failure' end @@ -104,15 +100,15 @@ end # Check Megaraid # def check_mega_raid - # #YELLOW - if File.exist?('/usr/sbin/megacli') # rubocop:disable GuardClause + if File.exist?('/usr/sbin/megacli') contents = `/usr/sbin/megacli -AdpAllInfo -aALL` - c = contents.lines.grep(/(Critical|Failed) Disks\s+\: 0/) + failed = contents.lines.grep(/(Critical|Failed) Disks\s+\: 0/) + degraded = contents.lines.grep(/Degraded\s+\: 0/) # #YELLOW - unless c.empty? # rubocop:disable UnlessElse + unless failed.empty? || degraded.empty? # rubocop:disable UnlessElse ok 'MegaRaid RAID OK' else warning 'MegaRaid RAID warning' end end