packages: nagios-plugin-check_raid/check_raid - perlish check_lsraid, check...
glen
glen at pld-linux.org
Wed Sep 9 18:35:23 CEST 2009
Author: glen Date: Wed Sep 9 16:35:23 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- perlish check_lsraid, check_metastat (unchecked)
---- Files affected:
packages/nagios-plugin-check_raid:
check_raid (1.17 -> 1.18)
---- Diffs:
================================================================
Index: packages/nagios-plugin-check_raid/check_raid
diff -u packages/nagios-plugin-check_raid/check_raid:1.17 packages/nagios-plugin-check_raid/check_raid:1.18
--- packages/nagios-plugin-check_raid/check_raid:1.17 Wed Sep 9 18:31:24 2009
+++ packages/nagios-plugin-check_raid/check_raid Wed Sep 9 18:35:18 2009
@@ -61,24 +61,25 @@
foreach ( @ignore ) { return 0 if((lc $_) eq $v); }
return 1;
}
+
#####################################################################
sub check_metastat {
my($l,$s,$d,$sd);
- my $CMD = $metastat;
- $CMD = "$sudo $CMD" if $> and $sudo;
+ my @CMD = $metastat;
+ unshift(@CMD, $sudo) if $> and $sudo;
- open METASTAT,"$CMD |" or return;
- while( $l = <METASTAT> ) {
- chomp $l;
- if($l =~ /^(\S+):/) { $d = $1; $sd = ''; next; }
- if($l =~ /Submirror \d+:\s+(\S+)/) { $sd = $1; next; }
- if($l =~ /State: (\S.+)/) { $s = $1;
- if($sd and valid($sd) and valid($d)) {
- if($s =~ /Okay/i) {
+ 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.+)/) {
+ if ($sd and valid($sd) and valid($d)) {
+ if ($s =~ /Okay/i) {
# no worries...
- } elsif($s =~ /Resync/i) {
- $status = $ERRORS{WARNING} if(!$status);
+ } elsif ($s =~ /Resync/i) {
+ $status = $ERRORS{WARNING} unless $status;
} else {
$status = $ERRORS{ERROR};
}
@@ -86,8 +87,9 @@
}
}
}
- close METASTAT;
+ close $fh;
}
+
sub check_megaide {
my $fh;
foreach my $f (glob('/proc/megaide/*/status')) {
@@ -132,10 +134,8 @@
}
close $fh;
}
-sub check_lsraid {
- my($l);
- my($s,$n,$f);
+sub check_lsraid {
my @CMD = ($lsraid, '-A', '-p');
unshift(@CMD, $sudo) if $> and $sudo;
@@ -271,16 +271,15 @@
open(my $fh , '-|', @CMD) or return;
while (<$fh>) {
- next if(! /vol_id\s*(\d+).*state\s+(\S+),/ );
- ($dsk,$stat) = ($1,$2);
- next if(!valid($dsk));
+ next unless (my($dsk, $stat) = /vol_id\s*(\d+).*state\s+(\S+),/);
+ next unless valid($dsk);
$message .= "mpt:$dsk:$stat ";
- if(!$status and $stat =~ /INITIAL|INACTIVE|RESYNC/) {
- $status = $ERRORS{WARNING} ;
- } elsif($stat =~ /DEGRADED/) {
- $status = $ERRORS{CRITICAL} ;
- } elsif(!$status and $stat !~ /ONLINE/) {
- $status = $ERRORS{UNKNOWN} ;
+ if (!$status and $stat =~ /INITIAL|INACTIVE|RESYNC/) {
+ $status = $ERRORS{WARNING};
+ } elsif ($stat =~ /DEGRADED/) {
+ $status = $ERRORS{CRITICAL};
+ } elsif (!$status and $stat !~ /ONLINE/) {
+ $status = $ERRORS{UNKNOWN};
}
}
close $fh;
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/nagios-plugin-check_raid/check_raid?r1=1.17&r2=1.18&f=u
More information about the pld-cvs-commit
mailing list