external_command_buffer_slots??
Marc Powell
marc at ena.com
Thu Aug 20 14:35:17 CEST 2009
On Aug 19, 2009, at 6:57 PM, Ryan Bowlby wrote:
> Hello everyone,
>
> I joined the list just for this!
>
> A google search of "external_command_buffer_slots" doesn't provide
> much beyond the official documentation. Can someone please clarify
> for me what this directive is actually doing.
It's pretty clear here --
http://nagios.sourceforge.net/docs/3_0/tuning.html
• External command optimizations. If you're processing a lot of
external commands (i.e. passive checks in a distributed setup, you'll
probably want to set the command_check_interval variable to -1. This
will cause Nagios to check for external commands as often as possible.
You should also consider increasing the number of available external
command buffer slots. Buffers slots are used to hold external commands
that have been read from the external command file (by a separate
thread) before they are processed by the Nagios daemon. If your Nagios
daemon is receiving a lot of passive checks or external commands, you
could end up in a situation where the buffers are always full. This
results in child processes (external scripts, NSCA daemon, etc.)
blocking when they attempt to write to the external command file. I
would highly recommend that you graph external command buffer slot
usage using MRTG and the nagiostats utility as described here, so you
understand the typical external command buffer usage of your Nagios
installation.
> Is this buffer internal to Nagios?
Yes
> The name seems unfortunate because it reminds me of the external
> command file which obviously can't be increased beyond 4096 without
> hacking fifo sizes in kernel source.
It's related to the external command file but doesn't increase the
size of the pipe, as you indicate.
> What downside is there to setting this buffer to say.. 8192 or <?
You may end up with the pipe being full and external commands being
blocked until it's emptied. In busy installations this could mean a
lot of additional processes hanging around taking up memory.
> Can someone describe where in the chain of events check results
> reside in this buffer?
A nagios thread reads the external command pipe and stores any
commands found in a temporary buffer. The buffer can hold
external_command_buffer_slots entries. This buffer is then polled by
the main nagios thread periodically to process any pending requests.
--
Marc
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue.
::: Messages without supporting info will risk being sent to /dev/null
More information about the Users
mailing list