From 2a2a7d17b8fcd1e425ebe336f17302f8889eb4d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georg=20Sch=C3=B6nberger?= Date: Thu, 2 Oct 2014 12:42:31 +0200 Subject: [PATCH] Print status string --- check_lsi_raid | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/check_lsi_raid b/check_lsi_raid index 5b79078..c2d66a2 100755 --- a/check_lsi_raid +++ b/check_lsi_raid @@ -974,6 +974,34 @@ sub checkThreshs{ return 1; } +sub getStatusString{ + my $level = shift; + my @statusLevel_a = @{(shift)}; + my @sensors_a; + my $status_str = ""; + if($level eq "Warning"){ + @sensors_a = @{$statusLevel_a[1]}; + } + if($level eq "Critical"){ + @sensors_a = @{$statusLevel_a[2]}; + } + if($level eq "Warning" || $level eq "Critical"){ + if(@sensors_a){ + # Print which sensors are Warn or Crit + foreach my $sensor (@sensors_a){ + $status_str .= "[".$sensor." = ".$level; + if($VERBOSITY){ + if(exists($statusLevel_a[3]->{$sensor})){ + $status_str .= " (".$statusLevel_a[3]->{$sensor}.")"; + } + } + $status_str .= "]"; + } + } + } + return $status_str; +} + MAIN: { my ($storcli, $sudo, $noSudo, $version, $exitCode); # Create default sensor arrays and push them to status level @@ -1095,6 +1123,10 @@ MAIN: { getPDStatus(\@statusLevel_a, $PDInitToCheck); getPDStatus(\@statusLevel_a, $PDRebuildToCheck); + print ${$statusLevel_a[0]}; + print getStatusString("Critical",\@statusLevel_a); + print getStatusString("Warning",\@statusLevel_a); + $exitCode = STATE_OK; if(${$statusLevel_a[0]} eq "Critical"){ $exitCode = STATE_CRITICAL;