[Nagiosplug-devel] [ nagiosplug-Bugs-1267741 ] 1.4.1: check_ntp logic incorrect with >1 peers
SourceForge.net
noreply at sourceforge.net
Tue Jun 6 18:53:16 CEST 2006
Bugs item #1267741, was opened at 2005-08-24 02:42
Message generated for change (Comment added) made by seanius
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=397597&aid=1267741&group_id=29880
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Parsing problem
Group: Release (specify)
>Status: Closed
Resolution: None
Priority: 5
Submitted By: ozburgess (ozburgess)
>Assigned to: M. Sean Finney (seanius)
Summary: 1.4.1: check_ntp logic incorrect with >1 peers
Initial Comment:
After finding a matching entry and recording the
jitter, the loop parsing the ntpq output (below) should
exit. Otherwise, it will read the next line, that line
will not match the regex (since it is not the sys.peer
or pps.peer), and $jitter will always be set to '(not
parsed)' (which is what we see with every test).
# match sys.peer or pps.peer
if
(/^(\*|o)([-0-9.\s]+)\s+([-0-9A-Za-z_().]+)\s+([-0-9.]+)\s+([lumb-]+)\s+([-0-9hm.]+)\s+([-0-9
.mh]+)\s+([-0-9.]+)\s+([-0-9.]+)\s+([-0-9.]+)\s+([-0-9.]+)/)
{
$syspeer = $2;
$stratum = $4;
$jitter = $11;
print "match $_ \n" if
$verbose;
if ($jitter > $jcrit) {
print
"Jitter_crit = $11 :$jcrit\n" if ($verbose);
$jitter_error =
$ERRORS{'CRITICAL'};
} elsif ($jitter >
$jwarn ) {
print
"Jitter_warn = $11 :$jwarn\n" if ($verbose);
$jitter_error =
$ERRORS{'WARNING'};
} else {
$jitter_error =
$ERRORS{'OK'};
}
########################
# I think we need a loop break here.
########################
} else {
print "No match!\n" if
$verbose;
$jitter = '(not parsed)';
}
----------------------------------------------------------------------
Comment By: M. Sean Finney (seanius)
Date: 2006-06-06 12:53
Message:
Logged In: YES
user_id=226838
this problem is now fixed in cvs. thank you for your report.
----------------------------------------------------------------------
Comment By: Joachim Schrod (jschrod)
Date: 2006-01-16 14:01
Message:
Logged In: YES
user_id=70318
Patch #1407587 fixes these problems. It works in multi-peer
situations, and outputs no warnings any more.
Btw, bug ticket #1381801 is against a very old version of
check_ntp and does probably not work.
----------------------------------------------------------------------
Comment By: gerhard lausser (lausser)
Date: 2005-12-20 18:30
Message:
Logged In: YES
user_id=613416
You're right. I should have beer reading more carefully.
Then what ozburgess proposed will be the way to go?
----------------------------------------------------------------------
Comment By: Bufalooo (zjuran)
Date: 2005-12-20 12:49
Message:
Logged In: YES
user_id=1405801
sorry pehaps I'm wrong but the goal is to select just one
row with selected synchronization peer. That means row
beginning with * or o only.
There is required to run ntpq with two "like" hosts to
obtain peer adress on the row first (you get Invalid
argument warning). ie:
ss2:~ # ntpq -p 10.10.0.11
remote refid st t when poll reach
delay offset jitter
============================================================
==================
*stratum.eunet.c .PPS. 1 - 178 1024 377
3.217 3.290 1.025
+nic.eunet.cz clock.tl.fukuok 2 - 220 1024 377
1.531 4.093 0.341
+217.169.176.254 217.169.176.253 3 - 234 1024 377
1.046 2.195 0.493
ss2:~ # ntpq -p 10.10.0.11 1
host remote refid st t when poll
reach delay offset jitter
============================================================
=============================
10.10.0.11 *stratum.eunet.c .PPS. 1 - 394 1024
377 3.217 3.290 1.025
10.10.0.11 +nic.eunet.cz clock.tl.fukuok 2 - 436 1024
377 1.531 4.093 0.341
10.10.0.11 +217.169.176.254 217.169.176.253 3 - 450 1024
377 1.046 2.195 0.493
ntpq: connect: Invalid argument
----------------------------------------------------------------------
Comment By: gerhard lausser (lausser)
Date: 2005-12-20 12:19
Message:
Logged In: YES
user_id=613416
1381801 does not solve the problem.
The expression
(/^(\*|o)([-0-9.\s]+)\s+([-0-9A-Za-z_().]+)........
needs to be extended to
(/^(\+|\*|o)([-0-9.\s]+)\s+([-0-9A-Za-z_().]+)........
so that output like
remote refid st t when poll reach
delay offset jitter
===========================================================
===================
*160.50.94.70 .PPS. 1 u 250 1024 377
0.958 -0.360 0.013
+160.50.7.12 160.50.94.70 2 u 303 1024 373
0.334 -0.129 0.111
+160.50.7.203 160.50.94.70 2 u 362 1024 376
0.137 -0.237 0.134
will be parsed correctly.
----------------------------------------------------------------------
Comment By: Bufalooo (zjuran)
Date: 2005-12-20 05:23
Message:
Logged In: YES
user_id=1405801
see reqid 1381801 perhaps it helps
----------------------------------------------------------------------
Comment By: Bufalooo (zjuran)
Date: 2005-12-20 05:20
Message:
Logged In: YES
user_id=1405801
see reqid 1381801 perhaps it helps
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=397597&aid=1267741&group_id=29880
More information about the Devel
mailing list