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