packages: nagios-plugin-check_raid/check_raid - standardize formatting, sep...

glen glen at pld-linux.org
Mon Mar 12 20:35:29 CET 2012


Author: glen                         Date: Mon Mar 12 19:35:29 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- standardize formatting, separate messages from different raid units

---- Files affected:
packages/nagios-plugin-check_raid:
   check_raid (1.108 -> 1.109) 

---- Diffs:

================================================================
Index: packages/nagios-plugin-check_raid/check_raid
diff -u packages/nagios-plugin-check_raid/check_raid:1.108 packages/nagios-plugin-check_raid/check_raid:1.109
--- packages/nagios-plugin-check_raid/check_raid:1.108	Fri Mar  9 13:36:35 2012
+++ packages/nagios-plugin-check_raid/check_raid	Mon Mar 12 20:35:23 2012
@@ -121,6 +121,9 @@
 	my @CMD = $metastat;
 	unshift(@CMD, $sudo) if $> and $sudo;
 
+	# status messages pushed here
+	my @status;
+
 	open(my $fh , '-|', @CMD) or return;
 	while (<$fh>) {
 		if (/^(\S+):/) { $d = $1; $sd = ''; next; }
@@ -134,16 +137,25 @@
 				} else {
 					$status = $ERRORS{CRITICAL};
 				}
-				$message .= "$d:$sd:$s ";
+				push(@status, "$d:$sd:$s");
 			}
 		}
 	}
 	close $fh;
+
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "metastat:[".join(' ', @status)."]";
 }
 
 # MegaIDE RAID controller
 sub check_megaide {
 	my $fh;
+
+	# status messages pushed here
+	my @status;
+
 	foreach my $f (</proc/megaide/*/status>) {
 		if (-r $f) {
 			open $fh, '<', $f or next;
@@ -157,14 +169,19 @@
 			next unless valid($n);
 			if ($s ne 'ONLINE') {
 				$status = $ERRORS{CRITICAL};
-				$message .= "Megaide:$n:$s ";
+				push(@status, "$n:$s");
 			} else {
-				$message .= "Megaide:$n:$s ";
+				push(@status, "$n:$s");
 			}
 			last;
 		}
 		close $fh;
 	}
+
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "megaide:[".join(' ', @status)."]";
 }
 
 # Linux Multi-Device (md)
@@ -234,7 +251,10 @@
 	}
 	close $fh;
 
-	$message .= "md:[".join(', ', @status)."] " if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "md:[".join(', ', @status)."]";
 }
 
 
@@ -243,6 +263,9 @@
 	my @CMD = ($lsraid, '-A', '-p');
 	unshift(@CMD, $sudo) if $> and $sudo;
 
+	# status messages pushed here
+	my @status;
+
 	open(my $fh , '-|', @CMD) or return;
 	while (<$fh>) {
 		next unless (my($n, $s) = m{/dev/(\S+) \S+ (\S+)});
@@ -254,9 +277,14 @@
 		} else {
 			$status = $ERRORS{CRITICAL};
 		}
-		$message .= "md:$n:$s ";
+		push(@status, "$n:$s");
 	}
 	close $fh;
+
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "lsraid:[".join(', ', @status)."]";
 }
 
 # Linux, software RAID
@@ -315,7 +343,11 @@
 	}
 
 	push(@status, ($#vols + 1) . ' Vols: ' . join(',', @vstatus) . ', '. ($#devs + 1) . ' Devs: ' . join(',', @dstatus));
-	$message .= "MegaCli:[".join(' ', @status)."] " if @status;
+
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "MegaCli:[".join(' ', @status)."] ";
 }
 
 # AIX LVM
@@ -323,6 +355,9 @@
 	my @CMD = $lsvg;
 	unshift(@CMD, $sudo) if $> and $sudo;
 
+	# status messages pushed here
+	my @status;
+
 	my @vg;
 	open(my $fh , '-|', @CMD) or return;
 	while (<$fh>) {
@@ -347,11 +382,16 @@
 				if ($s ne 'syncd') {
 					$status = $ERRORS{CRITICAL};
 				}
-				$message .= "lvm:$n:$s ";
+				push(@status, "lvm:$n:$s");
 			}
 		}
 		close $fh;
 	}
+
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "lsvg:[".join(', ', @status)."]";
 }
 
 # Serveraid IPS
@@ -359,6 +399,9 @@
 	my @CMD = $ipssend;
 	unshift(@CMD, $sudo) if $> and $sudo;
 
+	# status messages pushed here
+	my @status;
+
 	my $n;
 	open(my $fh , '-|', @CMD, 'GETCONFIG', '1', 'LD') or return;
 	while (<$fh>) {
@@ -374,9 +417,14 @@
 		} elsif ($c !~ /OKY/i) { # not OK
 			$status = $ERRORS{CRITICAL};
 		}
-		$message .= "ips:$n:$s ";
+		push(@status, "$n:$s");
 	}
 	close $fh;
+
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "ips:[".join(', ', @status)."]";
 }
 
 # Adaptec ServeRAID
@@ -390,6 +438,9 @@
 	my @CMD = $aaccli;
 	unshift(@CMD, $sudo) if $> and $sudo;
 
+	# status messages pushed here
+	my @status;
+
 	use IPC::Open2;
 
 	my ($read, $write);
@@ -418,7 +469,7 @@
 			next unless valid($dsk);
 			$dsk =~ s/:/\//g;
 			next unless valid($dsk);
-			$message .= "aac:$dsk:$stat ";
+			push(@status, "$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");
@@ -428,6 +479,11 @@
 		}
 	}
 	close $read;
+
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "aac:[".join(', ', @status)."]";
 }
 
 # Adaptec AACRAID
@@ -435,6 +491,9 @@
 	my @CMD = $afacli;
 	unshift(@CMD, $sudo) if $> and $sudo;
 
+	# status messages pushed here
+	my @status;
+
 	use IPC::Open2;
 
 	my ($read, $write);
@@ -451,7 +510,7 @@
 			next unless valid($dsk);
 			$dsk =~ s/:/\//g;
 			next unless valid($dsk);
-			$message .= "aac:$dsk:$stat ";
+			push(@status, "$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");
@@ -461,6 +520,11 @@
 		}
 	}
 	close $read;
+
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "aac:[".join(', ', @status)."]";
 }
 
 # LSILogic MPT ServeRAID
@@ -504,12 +568,14 @@
 	}
 	close $fh;
 
-	$message .= "mpt:".join(', ', @status) if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "mpt:[".join(', ', @status)."]";
 }
 
 # MegaRAID
 sub check_megaraid {
-
 	# status messages pushed here
 	my @status;
 
@@ -535,7 +601,10 @@
 		close $fh;
 	}
 
-	$message .= "MegaRAID: ".join(', ', @status) if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "MegaRAID:[".join(', ', @status)."]";
 }
 
 # Linux Gdth RAID
@@ -570,12 +639,16 @@
 		close($fh);
 		push(@status, "Logical Drive ".join(', ', @ld)) if @ld;
 	}
+	return unless @status;
 
-	$message .= "gdth:".join(', ', @status) if @status;
+	$message .= '; ' if $message;
+	$message .= "gdth:[".join(', ', @status)."]";
 }
 
 sub check_dpt_i2o {
+	# status messages pushed here
 	my @status;
+
 	for my $file (</proc/scsi/dpt_i2o/*>) {
 		open my $fh, '<', $file or return;
 		my ($controller) = $file =~ m{([^/]+$)};
@@ -591,7 +664,10 @@
 		close($fh);
 	}
 
-	$message .= "dpt_i2o:[".join(', ', @status)."] " if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "dpt_i2o:[".join(', ', @status)."]";
 }
 
 # 3ware SATA RAID
@@ -663,7 +739,10 @@
 		close $fh;
 	}
 
-	$message .= "3ware: ".join(', ', @status) if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "3ware:[".join(', ', @status)."]";
 }
 
 # Adaptec AAC-RAID
@@ -765,7 +844,10 @@
 	# Physical Device information
 	close $fh;
 
-	$message .= "arcconf:".join(', ', @status) if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "arcconf:[".join(', ', @status)."]";
 }
 
 # LSI MegaRaid or Dell Perc arrays
@@ -846,7 +928,10 @@
 		}
 	}
 
-	$message .= "megarc: ".join(', ', @status) if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "megarc:[".join(', ', @status)."]";
 }
 
 sub check_cmdtool2 {
@@ -892,7 +977,10 @@
 		}
 	}
 
-	$message .= "CmdTool2: ".join(', ', @status) if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "CmdTool2:[".join(', ', @status)."]";
 }
 
 # detects if hpsa (formerly cciss) is present in system
@@ -953,7 +1041,7 @@
 	my @devs = @_;
 
 	unless ($cciss_vol_status) {
-		$message .= "cciss:cciss_vol_status program not found";
+		$message .= "cciss: cciss_vol_status program not found";
 		$status = $ERRORS{CRITICAL};
 		return;
 	}
@@ -990,7 +1078,10 @@
 	}
 	close($fh);
 
-	$message .= "cciss: ".join(', ', @status) if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "cciss: ".join(', ', @status);
 }
 
 sub check_hpacucli {
@@ -1088,7 +1179,10 @@
 		push(@status, "$model: ".join(', ', @cstatus));
 	}
 
-	$message .= "hpacucli: ".join(', ', @status) if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "hpacucli:[".join(', ', @status)."]";
 }
 
 # check from /sys if there are any MSA VOLUME's present.
@@ -1205,7 +1299,10 @@
 		}
 	}
 
-	$message .= "hp_msa: ".join(', ', @status) if @status;
+	return unless @status;
+
+	$message .= '; ' if $message;
+	$message .= "hp_msa:[".join(', ', @status)."]";
 }
 
 sub which {
================================================================

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



More information about the pld-cvs-commit mailing list