nagios 3 host checks logic problem on some kernels/distros
SCHAER Frederic
frederic.schaer at cea.fr
Mon Sep 10 18:17:30 CEST 2007
Hi,
I think I identified a problem (but not and the solution) on the nagios
3 source tree...
I tried with both the 3.0b3 and cvs HEAD source files and could not get
rid of the problem.
I'm running a 2.4.21 kernel on a RHEL3 box.
What happens is that as soon as I start nagios 3, it starts eating all
of the CPU.
Stracing the nagios process shows this (and almost only this):
gettimeofday({1189419621, 161574}, NULL) = 0
time([1189419621]) = 1189419621
time([1189419621]) = 1189419621
gettimeofday({1189419621, 183742}, NULL) = 0
gettimeofday({1189419621, 183780}, NULL) = 0
gettimeofday({1189419621, 183814}, NULL) = 0
time([1189419621]) = 1189419621
gettimeofday({1189419621, 184172}, NULL) = 0
gettimeofday({1189419621, 184326}, NULL) = 0
time([1189419621]) = 1189419621
time([1189419621]) = 1189419621
gettimeofday({1189419621, 184734}, NULL) = 0
gettimeofday({1189419621, 184861}, NULL) = 0
I tried stracing nagios on a Ubuntu feisty (7.04) box, and the output is
much different : there are nanosleep calls...
I tried activating and deactivating nanosleeps at nagios compile time,
but this did not solve my problem.
Having full debug, I have this kind of output at the nagios start :
[1189438977.881574] [016.0] [pid=18234] Attempting to run scheduled
check of host 'wn010': check options=0, latency=0.874000
[1189438977.881651] [001.0] [pid=18234] run_async_host_check_3x()
[1189438977.881665] [016.0] [pid=18234] ** Running async check of host
'wn010'...
[1189438977.881678] [001.0] [pid=18234] check_host_check_viability_3x()
[1189438977.881691] [001.0] [pid=18234] check_time_against_period()
[1189438977.881712] [001.0] [pid=18234] check_host_dependencies()
[1189438977.881726] [016.1] [pid=18234] A check of this host is already
being executed, so we'll pass for the moment...
[1189438977.881739] [016.1] [pid=18234] Unable to run scheduled host
check at this time
If I run nagios just for 2 seconds and then hit CTRL+C, I still see
this :
>grep "A check of this host is already being executed"
/var/log/nagios/nagios.debug | wc -l
971
>grep "Attempting to run scheduled check of host 'wn010'"
/var/log/nagios/nagios.debug | wc -l
971
>grep "Attempting to run scheduled check of host"
/var/log/nagios/nagios.debug | wc -l
971
I have 53 hosts defined, I don't understand why nagios is checking ever
and ever the same host... and why this is not happening on all systems.
De-activating host checks magically "solves" the problem.
I just found out that commenting hosts "check_command" caused this
behaviour (with host_checks_enabled=true), and that defining a correct
check_command prevented nagios from being so CPU hungry...
Hope I helped...
Cheers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.monitoring-lists.org/archive/developers/attachments/20070910/ad7aae60/attachment.html>
-------------- next part --------------
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
-------------- next part --------------
_______________________________________________
Nagios-devel mailing list
Nagios-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-devel
More information about the Developers
mailing list