Author: glen                         Date: Thu Sep 10 19:40:31 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- less if branches

---- Files affected:
packages/nagios-plugin-check_raid:
   check_raid (1.33 -> 1.34) 

---- Diffs:

================================================================
Index: packages/nagios-plugin-check_raid/check_raid
diff -u packages/nagios-plugin-check_raid/check_raid:1.33 
packages/nagios-plugin-check_raid/check_raid:1.34
--- packages/nagios-plugin-check_raid/check_raid:1.33   Thu Sep 10 21:30:01 2009
+++ packages/nagios-plugin-check_raid/check_raid        Thu Sep 10 21:40:26 2009
@@ -74,7 +74,6 @@
 
        open(my $fh , '-|', @CMD) or return;
        while (<$fh>) {
-               chomp;
                if (/^(\S+):/) { $d = $1; $sd = ''; next; }
                if (/Submirror \d+:\s+(\S+)/) { $sd = $1; next; }
                if (my($s) = /State: (\S.+)/) {
@@ -104,16 +103,15 @@
                        open($fh , '-|', @CMD) or next;
                }
                while (<$fh>) {
-                       if (my($s, $n) = /Status\s*:\s*(\S+).*Logical 
Drive.*:\s*(\d+)/i) {
-                               next unless valid($n);
-                               if ($s ne 'ONLINE') {
-                                       $status = $ERRORS{CRITICAL};
-                                       $message .= "Megaide:$n:$s ";
-                               } else {
-                                       $message .= "Megaide:$n:$s ";
-                               }
-                               last;
+                       next unless (my($s, $n) = /Status\s*:\s*(\S+).*Logical 
Drive.*:\s*(\d+)/i);
+                       next unless valid($n);
+                       if ($s ne 'ONLINE') {
+                               $status = $ERRORS{CRITICAL};
+                               $message .= "Megaide:$n:$s ";
+                       } else {
+                               $message .= "Megaide:$n:$s ";
                        }
+                       last;
                }
                close $fh;
        }
@@ -125,15 +123,15 @@
        open my $fh, '<', '/proc/mdstat' or return;
        while (<$fh>) {
                if (/^(\S+)\s+:/ ) { $n = $1; $f = ''; next; }
-               if (/(\S+)\[\d+\]\(F\)/ ) { $f = $1; next; }
-               if (my($s) = /\s*.*\[([U_]+)\]/ ) {
-                       next unless valid($n);
-                       if ($s =~ /_/) {
-                               $status = $ERRORS{CRITICAL};
-                               $message .= "md:$n:$f:$s ";
-                       } else {
-                               $message .= "md:$n:$s ";
-                       }
+               next if (($f) = /(\S+)\[\d+\]\(F\)/);
+               next unless (my($s) = /\s*.*\[([U_]+)\]/);
+               next unless valid($n);
+
+               if ($s =~ /_/) {
+                       $status = $ERRORS{CRITICAL};
+                       $message .= "md:$n:$f:$s ";
+               } else {
+                       $message .= "md:$n:$s ";
                }
        }
        close $fh;
@@ -145,18 +143,16 @@
 
        open(my $fh , '-|', @CMD) or return;
        while (<$fh>) {
-               chomp;
-               if (my($n, $s) = m{/dev/(\S+) \S+ (\S+)}) {
-                       next unless valid($n);
-                       if ($s =~ /good|online/) {
-                               # no worries
-                       } elsif ($s =~ /sync/) {
-                               $status = $ERRORS{WARNING} unless $status;
-                       } else {
-                               $status = $ERRORS{CRITICAL};
-                       }
-                       $message .= "md:$n:$s ";
+               next unless (my($n, $s) = m{/dev/(\S+) \S+ (\S+)});
+               next unless valid($n);
+               if ($s =~ /good|online/) {
+                       # no worries
+               } elsif ($s =~ /sync/) {
+                       $status = $ERRORS{WARNING} unless $status;
+               } else {
+                       $status = $ERRORS{CRITICAL};
                }
+               $message .= "md:$n:$s ";
        }
        close $fh;
 }
@@ -200,21 +196,18 @@
        my @CMD = $ipssend;
        unshift(@CMD, $sudo) if $> and $sudo;
 
-       my $n;
        open(my $fh , '-|', @CMD) or return;
        while (<$fh>) {
-               chomp;
-               if (/drive number (\d+)/i ) { $n = $1; next; }
+               next if (my($n) = /drive number (\d+)/i);
                next unless valid($n);
+               next unless (my($s, $c) = /Status .*: (\S+)\s+(\S+)/);
 
-               if (my($s, $c) = /Status .*: (\S+)\s+(\S+)/ ) {
-                       if ($c =~ /SYN|RBL/i ) { # resynching
-                               $status = $ERRORS{WARNING} unless $status;
-                       } elsif ($c !~ /OKY/i) { # not OK
-                               $status = $ERRORS{CRITICAL};
-                       }
-                       $message .= "ips:$n:$s ";
+               if ($c =~ /SYN|RBL/i ) { # resynching
+                       $status = $ERRORS{WARNING} unless $status;
+               } elsif ($c !~ /OKY/i) { # not OK
+                       $status = $ERRORS{CRITICAL};
                }
+               $message .= "ips:$n:$s ";
        }
        close $fh;
 }
@@ -247,18 +240,17 @@
 #COMMAND: logfile end
 #Executing: logfile end
        while (<$read>) {
-               if (my ($dsk, $stat) = /(\d:\d\d?:\d+)\s+\S+:\S+\s+(\S+)/) {
-                       next unless valid($dsk);
-                       $dsk =~ s/:/\//g;
-                       next unless valid($dsk);
-                       $message .= "aac:$dsk:$stat ";
-                       $status = $ERRORS{CRITICAL} if ($stat eq "Broken");
-                       $status = $ERRORS{WARNING} if (!$status and $stat eq 
"Rebuild");
-                       $status = $ERRORS{WARNING} if (!$status and $stat eq 
"Bld/Vfy");
-                       $status = $ERRORS{CRITICAL} if ($stat eq "Missing");
-                       $status = $ERRORS{WARNING} if (!$status and $stat eq 
"Verify");
-                       $status = $ERRORS{WARNING} if (!$status and $stat eq 
"VfyRepl");
-               }
+               next unless (my ($dsk, $stat) = 
/(\d:\d\d?:\d+)\s+\S+:\S+\s+(\S+)/);
+               next unless valid($dsk);
+               $dsk =~ s/:/\//g;
+               next unless valid($dsk);
+               $message .= "aac:$dsk:$stat ";
+               $status = $ERRORS{CRITICAL} if ($stat eq "Broken");
+               $status = $ERRORS{WARNING} if (!$status and $stat eq "Rebuild");
+               $status = $ERRORS{WARNING} if (!$status and $stat eq "Bld/Vfy");
+               $status = $ERRORS{CRITICAL} if ($stat eq "Missing");
+               $status = $ERRORS{WARNING} if (!$status and $stat eq "Verify");
+               $status = $ERRORS{WARNING} if (!$status and $stat eq "VfyRepl");
        }
        close $read;
 }
@@ -277,18 +269,17 @@
        close $write;
 
        while (<$read>) {
-               if (my ($dsk, $stat) = /(\d:\d\d?:\d+)\s+\S+:\S+\s+(\S+)/) {
-                       next unless valid($dsk);
-                       $dsk =~ s/:/\//g;
-                       next unless valid($dsk);
-                       $message .= "aac:$dsk:$stat ";
-                       $status = $ERRORS{CRITICAL} if ($stat eq "Broken");
-                       $status = $ERRORS{WARNING} if (!$status and $stat eq 
"Rebuild");
-                       $status = $ERRORS{WARNING} if (!$status and $stat eq 
"Bld/Vfy");
-                       $status = $ERRORS{CRITICAL} if ($stat eq "Missing");
-                       $status = $ERRORS{WARNING} if (!$status and $stat eq 
"Verify");
-                       $status = $ERRORS{WARNING} if (!$status and $stat eq 
"VfyRepl");
-               }
+               next if (my ($dsk, $stat) = /(\d:\d\d?:\d+)\s+\S+:\S+\s+(\S+)/);
+               next unless valid($dsk);
+               $dsk =~ s/:/\//g;
+               next unless valid($dsk);
+               $message .= "aac:$dsk:$stat ";
+               $status = $ERRORS{CRITICAL} if ($stat eq "Broken");
+               $status = $ERRORS{WARNING} if (!$status and $stat eq "Rebuild");
+               $status = $ERRORS{WARNING} if (!$status and $stat eq "Bld/Vfy");
+               $status = $ERRORS{CRITICAL} if ($stat eq "Missing");
+               $status = $ERRORS{WARNING} if (!$status and $stat eq "Verify");
+               $status = $ERRORS{WARNING} if (!$status and $stat eq "VfyRepl");
        }
        close $read;
 }
@@ -324,16 +315,15 @@
                        open($fh , '-|', @CMD) or next;
                }
                while (<$fh>) {
-                       if (my($n, $s) = /logical drive\s*:\s*(\d+).*, 
state\s*:\s*(\S+)/i) {
-                               next unless valid($n);
-                               if ($s ne 'optimal') {
-                                       $status = $ERRORS{CRITICAL};
-                                       $message .= "Megaraid:$n:$s ";
-                               } else {
-                                       $message .= "Megaraid:$n:$s ";
-                               }
-                               last;
+                       next if (my($n, $s) = /logical drive\s*:\s*(\d+).*, 
state\s*:\s*(\S+)/i);
+                       next unless valid($n);
+                       if ($s ne 'optimal') {
+                               $status = $ERRORS{CRITICAL};
+                               $message .= "Megaraid:$n:$s ";
+                       } else {
+                               $message .= "Megaraid:$n:$s ";
                        }
+                       last;
                }
                close $fh;
        }
@@ -355,12 +345,11 @@
                while (<$fh>) {
                        chomp;
                        last if (/Array Drives:/); # Stop after the Logical 
Drive block
-                       if (my ($num, $s) = 
m/^\s+Number:\s+(\d+)\s+Status:\s+(\S+)$/) {
-                               if ($s ne "ok") {
-                                       $status = $ERRORS{CRITICAL} unless 
$status;
-                               }
-                               $message .= "gdth:$controller,$num:$s ";
+                       next if (my ($num, $s) = 
m/^\s+Number:\s+(\d+)\s+Status:\s+(\S+)$/);
+                       if ($s ne "ok") {
+                               $status = $ERRORS{CRITICAL} unless $status;
                        }
+                       $message .= "gdth:$controller,$num:$s ";
                }
                close($fh);
        }
@@ -371,13 +360,11 @@
                open my $fh, '<', $file or return;
                my ($controller) = $file =~ m{([^/]+$)};
                while (<$fh>) {
-                       chomp;
-                       if (my ($c, $t, $l, $s) = 
m/TID=\d+,\s+\(Channel=(\d+),\s+Target=(\d+),\s+Lun=(\d+)\)\s+\((\S+)\)/) {
-                               if ($s ne "online") {
-                                       $status = $ERRORS{CRITICAL} unless 
$status;
-                               }
-                               $message .= "dpt_i2o:$c,$t,$l:$s ";
+                       next if (my ($c, $t, $l, $s) = 
m/TID=\d+,\s+\(Channel=(\d+),\s+Target=(\d+),\s+Lun=(\d+)\)\s+\((\S+)\)/);
+                       if ($s ne "online") {
+                               $status = $ERRORS{CRITICAL} unless $status;
                        }
+                       $message .= "dpt_i2o:$c,$t,$l:$s ";
                }
                close($fh);
        }
@@ -401,7 +388,7 @@
 
        for my $c (@c) {
                # check each unit on controllers
-               open($fh , '-|', @CMD, 'info', $c, 'unitstatus') or return;
+               open($fh , '-|', @CMD, 'info', $c, 'unitstatus') or next;
                while (<$fh>) {
                        next unless (my($u, $s, $p) = 
/^(u\d+)\s+\S+\s+(\S+)\s+(\S+)/);
 
@@ -413,13 +400,15 @@
                                $message .= "3ware:/$c/$u $s $p% ";
 
                        } elsif ($s eq 'DEGRADED') {
-                               open(my $fh , '-|', @CMD, 'info', $c, 
'drivestatus') or return;
+                               open(my $fh , '-|', @CMD, 'info', $c, 
'drivestatus');
                                my $ds = '';
-                               while (<$fh>) {
-                                       next unless (my($p, $s) = 
/^(p\d+)\s+(\S+)\s+\Q$u\E/);
-                                       $ds .= "$p:$s ";
+                               if ($fh) {
+                                       while (<$fh>) {
+                                               next unless (my($p, $s) = 
/^(p\d+)\s+(\S+)\s+\Q$u\E/);
+                                               $ds .= "$p:$s ";
+                                       }
+                                       close $fh;
                                }
-                               close $fh;
                                $message .= "3ware:/$c/$u $s $ds ";
                                $status = $ERRORS{CRITICAL};
                        } else {
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/nagios-plugin-check_raid/check_raid?r1=1.33&r2=1.34&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to