diff options
| author | Subhendu Ghosh <sghosh@users.sourceforge.net> | 2005-05-25 14:05:41 +0000 | 
|---|---|---|
| committer | Subhendu Ghosh <sghosh@users.sourceforge.net> | 2005-05-25 14:05:41 +0000 | 
| commit | 703a4bf74de4786b352b8582eb6c018cff353164 (patch) | |
| tree | 86bfe8417a7b4ffd97cd602652e2c0c91743d20d | |
| parent | 4aa2652a5451bca4d19a2e4b7fcb5141c24c3d65 (diff) | |
| download | monitoring-plugins-703a4bf74de4786b352b8582eb6c018cff353164.tar.gz | |
perfdata patch - 1172539
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1180 f882894a-f735-0410-b71e-b25c423dba1c
| -rwxr-xr-x | plugins-scripts/check_ntp.pl | 52 | 
1 files changed, 28 insertions, 24 deletions
| diff --git a/plugins-scripts/check_ntp.pl b/plugins-scripts/check_ntp.pl index d0167cde..d6584aea 100755 --- a/plugins-scripts/check_ntp.pl +++ b/plugins-scripts/check_ntp.pl | |||
| @@ -289,7 +289,7 @@ if ($have_ntpq) { | |||
| 289 | if (/^(\*|\+|\#|o])/) { | 289 | if (/^(\*|\+|\#|o])/) { | 
| 290 | ++$candidate; | 290 | ++$candidate; | 
| 291 | push (@candidates, $_); | 291 | push (@candidates, $_); | 
| 292 | print "Candiate count= $candidate\n" if ($verbose); | 292 | print "Candidate count= $candidate\n" if ($verbose); | 
| 293 | } | 293 | } | 
| 294 | 294 | ||
| 295 | # match sys.peer or pps.peer | 295 | # match sys.peer or pps.peer | 
| @@ -302,11 +302,14 @@ if ($have_ntpq) { | |||
| 302 | print "Jitter_crit = $11 :$jcrit\n" if ($verbose); | 302 | print "Jitter_crit = $11 :$jcrit\n" if ($verbose); | 
| 303 | $jitter_error = $ERRORS{'CRITICAL'}; | 303 | $jitter_error = $ERRORS{'CRITICAL'}; | 
| 304 | } elsif ($jitter > $jwarn ) { | 304 | } elsif ($jitter > $jwarn ) { | 
| 305 | print "Jitter_warn = $11 :$jwarn \n" if ($verbose); | 305 | print "Jitter_warn = $11 :$jwarn\n" if ($verbose); | 
| 306 | $jitter_error = $ERRORS{'WARNING'}; | 306 | $jitter_error = $ERRORS{'WARNING'}; | 
| 307 | } else { | 307 | } else { | 
| 308 | $jitter_error = $ERRORS{'OK'}; | 308 | $jitter_error = $ERRORS{'OK'}; | 
| 309 | } | 309 | } | 
| 310 | } else { | ||
| 311 | print "No match!\n" if $verbose; | ||
| 312 | $jitter = '(not parsed)'; | ||
| 310 | } | 313 | } | 
| 311 | 314 | ||
| 312 | } | 315 | } | 
| @@ -343,53 +346,53 @@ if ($have_ntpq) { | |||
| 343 | if ($ntpdate_error != $ERRORS{'OK'}) { | 346 | if ($ntpdate_error != $ERRORS{'OK'}) { | 
| 344 | $state = $ntpdate_error; | 347 | $state = $ntpdate_error; | 
| 345 | if ($ntpdate_error == $ERRORS{'WARNING'} ) { | 348 | if ($ntpdate_error == $ERRORS{'WARNING'} ) { | 
| 346 | $answer = $msg . "\n"; | 349 | $answer = $msg; | 
| 347 | } | 350 | } | 
| 348 | else { | 351 | else { | 
| 349 | $answer = $msg . "Server for ntp probably down\n"; | 352 | $answer = $msg . "Server for ntp probably down"; | 
| 350 | } | 353 | } | 
| 351 | 354 | ||
| 352 | if (defined($offset) && abs($offset) > $ocrit) { | 355 | if (defined($offset) && abs($offset) > $ocrit) { | 
| 353 | $state = $ERRORS{'CRITICAL'}; | 356 | $state = $ERRORS{'CRITICAL'}; | 
| 354 | $answer = "Server Error and offset $offset sec > +/- $ocrit sec\n"; | 357 | $answer = "Server Error and offset $offset sec > +/- $ocrit sec"; | 
| 355 | } elsif (defined($offset) && abs($offset) > $owarn) { | 358 | } elsif (defined($offset) && abs($offset) > $owarn) { | 
| 356 | $answer = "Server error and offset $offset sec > +/- $owarn sec\n"; | 359 | $answer = "Server error and offset $offset sec > +/- $owarn sec"; | 
| 357 | } elsif (defined($jitter) && abs($jitter) > $jcrit) { | 360 | } elsif (defined($jitter) && abs($jitter) > $jcrit) { | 
| 358 | $answer = "Server error and jitter $jitter msec > +/- $jcrit msec\n"; | 361 | $answer = "Server error and jitter $jitter msec > +/- $jcrit msec"; | 
| 359 | } elsif (defined($jitter) && abs($jitter) > $jwarn) { | 362 | } elsif (defined($jitter) && abs($jitter) > $jwarn) { | 
| 360 | $answer = "Server error and jitter $jitter msec > +/- $jwarn msec\n"; | 363 | $answer = "Server error and jitter $jitter msec > +/- $jwarn msec"; | 
| 361 | } | 364 | } | 
| 362 | 365 | ||
| 363 | } elsif ($have_ntpq && $jitter_error != $ERRORS{'OK'}) { | 366 | } elsif ($have_ntpq && $jitter_error != $ERRORS{'OK'}) { | 
| 364 | $state = $jitter_error; | 367 | $state = $jitter_error; | 
| 365 | $answer = "Jitter $jitter too high\n"; | 368 | $answer = "Jitter $jitter too high"; | 
| 366 | if (defined($offset) && abs($offset) > $ocrit) { | 369 | if (defined($offset) && abs($offset) > $ocrit) { | 
| 367 | $state = $ERRORS{'CRITICAL'}; | 370 | $state = $ERRORS{'CRITICAL'}; | 
| 368 | $answer = "Jitter error and offset $offset sec > +/- $ocrit sec\n"; | 371 | $answer = "Jitter error and offset $offset sec > +/- $ocrit sec"; | 
| 369 | } elsif (defined($offset) && abs($offset) > $owarn) { | 372 | } elsif (defined($offset) && abs($offset) > $owarn) { | 
| 370 | $answer = "Jitter error and offset $offset sec > +/- $owarn sec\n"; | 373 | $answer = "Jitter error and offset $offset sec > +/- $owarn sec"; | 
| 371 | } elsif (defined($jitter) && abs($jitter) > $jcrit) { | 374 | } elsif (defined($jitter) && abs($jitter) > $jcrit) { | 
| 372 | $answer = "Jitter error and jitter $jitter msec > +/- $jcrit msec\n"; | 375 | $answer = "Jitter error and jitter $jitter msec > +/- $jcrit msec"; | 
| 373 | } elsif (defined($jitter) && abs($jitter) > $jwarn) { | 376 | } elsif (defined($jitter) && abs($jitter) > $jwarn) { | 
| 374 | $answer = "Jitter error and jitter $jitter msec > +/- $jwarn msec\n"; | 377 | $answer = "Jitter error and jitter $jitter msec > +/- $jwarn msec"; | 
| 375 | } | 378 | } | 
| 376 | 379 | ||
| 377 | } elsif( !$have_ntpq ) { # no errors from ntpdate and no ntpq or ntpq timed out | 380 | } elsif( !$have_ntpq ) { # no errors from ntpdate and no ntpq or ntpq timed out | 
| 378 | if (abs($offset) > $ocrit) { | 381 | if (abs($offset) > $ocrit) { | 
| 379 | $state = $ERRORS{'CRITICAL'}; | 382 | $state = $ERRORS{'CRITICAL'}; | 
| 380 | $answer = "Offset $offset sec > +/- $ocrit sec\n"; | 383 | $answer = "Offset $offset sec > +/- $ocrit sec"; | 
| 381 | } elsif (abs($offset) > $owarn) { | 384 | } elsif (abs($offset) > $owarn) { | 
| 382 | $state = $ERRORS{'WARNING'}; | 385 | $state = $ERRORS{'WARNING'}; | 
| 383 | $answer = "Offset $offset sec > +/- $owarn sec\n"; | 386 | $answer = "Offset $offset sec > +/- $owarn sec"; | 
| 384 | } elsif (( abs($offset) > $owarn) && $def_jitter ) { | 387 | } elsif (( abs($offset) > $owarn) && $def_jitter ) { | 
| 385 | $state = $ERRORS{'WARNING'}; | 388 | $state = $ERRORS{'WARNING'}; | 
| 386 | $answer = "Offset $offset sec > +/- $owarn sec, ntpq timed out\n"; | 389 | $answer = "Offset $offset sec > +/- $owarn sec, ntpq timed out"; | 
| 387 | } elsif ( $def_jitter ) { | 390 | } elsif ( $def_jitter ) { | 
| 388 | $state = $ERRORS{'WARNING'}; | 391 | $state = $ERRORS{'WARNING'}; | 
| 389 | $answer = "Offset $offset secs, ntpq timed out\n"; | 392 | $answer = "Offset $offset secs, ntpq timed out"; | 
| 390 | } else{ | 393 | } else{ | 
| 391 | $state = $ERRORS{'OK'}; | 394 | $state = $ERRORS{'OK'}; | 
| 392 | $answer = "Offset $offset secs \n"; | 395 | $answer = "Offset $offset secs"; | 
| 393 | } | 396 | } | 
| 394 | 397 | ||
| 395 | 398 | ||
| @@ -397,27 +400,28 @@ if ($ntpdate_error != $ERRORS{'OK'}) { | |||
| 397 | } else { # no errors from ntpdate or ntpq | 400 | } else { # no errors from ntpdate or ntpq | 
| 398 | if (abs($offset) > $ocrit) { | 401 | if (abs($offset) > $ocrit) { | 
| 399 | $state = $ERRORS{'CRITICAL'}; | 402 | $state = $ERRORS{'CRITICAL'}; | 
| 400 | $answer = "Offset $offset sec > +/- $ocrit sec, jitter $jitter msec\n"; | 403 | $answer = "Offset $offset sec > +/- $ocrit sec, jitter $jitter msec"; | 
| 401 | } elsif (abs($jitter) > $jcrit ) { | 404 | } elsif (abs($jitter) > $jcrit ) { | 
| 402 | $state = $ERRORS{'CRITICAL'}; | 405 | $state = $ERRORS{'CRITICAL'}; | 
| 403 | $answer = "Jitter $jitter msec> +/- $jcrit msec, offset $offset sec \n"; | 406 | $answer = "Jitter $jitter msec> +/- $jcrit msec, offset $offset sec"; | 
| 404 | } elsif (abs($offset) > $owarn) { | 407 | } elsif (abs($offset) > $owarn) { | 
| 405 | $state = $ERRORS{'WARNING'}; | 408 | $state = $ERRORS{'WARNING'}; | 
| 406 | $answer = "Offset $offset sec > +/- $owarn sec, jitter $jitter msec\n"; | 409 | $answer = "Offset $offset sec > +/- $owarn sec, jitter $jitter msec"; | 
| 407 | } elsif (abs($jitter) > $jwarn ) { | 410 | } elsif (abs($jitter) > $jwarn ) { | 
| 408 | $state = $ERRORS{'WARNING'}; | 411 | $state = $ERRORS{'WARNING'}; | 
| 409 | $answer = "Jitter $jitter msec> +/- $jwarn msec, offset $offset sec \n"; | 412 | $answer = "Jitter $jitter msec> +/- $jwarn msec, offset $offset sec"; | 
| 410 | 413 | ||
| 411 | } else { | 414 | } else { | 
| 412 | $state = $ERRORS{'OK'}; | 415 | $state = $ERRORS{'OK'}; | 
| 413 | $answer = "Offset $offset secs, jitter $jitter msec, peer is stratum $stratum\n"; | 416 | $answer = "Offset $offset secs, jitter $jitter msec, peer is stratum $stratum"; | 
| 414 | } | 417 | } | 
| 415 | 418 | ||
| 416 | } | 419 | } | 
| 417 | 420 | ||
| 418 | foreach my $key (keys %ERRORS) { | 421 | foreach my $key (keys %ERRORS) { | 
| 419 | if ($state==$ERRORS{$key}) { | 422 | if ($state==$ERRORS{$key}) { | 
| 420 | print ("NTP $key: $answer"); | 423 | # print ("NTP $key: $answer"); | 
| 424 | print ("NTP $key: $answer|offset=$offset, jitter=" . $jitter/1000 . ",peer_stratum=$stratum\n"); | ||
| 421 | last; | 425 | last; | 
| 422 | } | 426 | } | 
| 423 | } | 427 | } | 
