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@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