mirror of
https://github.com/monitoring-plugins/monitoring-plugins.git
synced 2026-04-22 14:46:57 -04:00
Nagiosplug bug # 1251096
check_ntp wasn't properly handing a bad exit status from the external programs it calls (ntpdate and ntpq), so jitter wasn't set. Added check of $? on close and proper error output if status from the sub program call completion is non-zero. This includes "host not found". git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1291 f882894a-f735-0410-b71e-b25c423dba1c
This commit is contained in:
parent
a079822858
commit
e5b45d0e14
1 changed files with 11 additions and 4 deletions
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/perl -w
|
||||
|
||||
#
|
||||
# (c)1999 Ian Cass, Knowledge Matters Ltd.
|
||||
# Read the GNU copyright stuff for all the legalese
|
||||
#
|
||||
|
|
@ -200,13 +200,15 @@ elsif ($ipv6) {
|
|||
###
|
||||
|
||||
if (!open (NTPDATE, $ntpdate . " -q $host 2>&1 |")) {
|
||||
print "Could not open ntpdate\n";
|
||||
print "Could not open $ntpdate: $!\n";
|
||||
exit $ERRORS{"UNKNOWN"};
|
||||
}
|
||||
|
||||
my $out;
|
||||
while (<NTPDATE>) {
|
||||
#print if ($verbose); # noop
|
||||
$msg = $_ unless ($msg);
|
||||
$out .= "$_ ";
|
||||
|
||||
if (/stratum\s(\d+)/) {
|
||||
$stratum = $1;
|
||||
|
|
@ -241,8 +243,11 @@ while (<NTPDATE>) {
|
|||
}
|
||||
|
||||
}
|
||||
$out =~ s/\n//g;
|
||||
close (NTPDATE) ||
|
||||
die $! ? "$out - Error closing $ntpdate pipe: $!"
|
||||
: "$out - Exit status: $? from $ntpdate\n";
|
||||
|
||||
close (NTPDATE);
|
||||
# declare an error if we also get a non-zero return code from ntpdate
|
||||
# unless already set to critical
|
||||
if ( $? && !$ignoreret ) {
|
||||
|
|
@ -313,7 +318,9 @@ if ($have_ntpq) {
|
|||
}
|
||||
|
||||
}
|
||||
close NTPQ;
|
||||
close NTPQ ||
|
||||
die $! ? "Error closing $ntpq pipe: $!"
|
||||
: "Exit status: $? from $ntpq\n";
|
||||
|
||||
# if we did not match sys.peer or pps.peer but matched # candidates only
|
||||
# generate a warning
|
||||
|
|
|
|||
Loading…
Reference in a new issue