FYI, nagios command file pipe may cause passive service corruption

Jason Marshall jasonm at kelman.com
Mon Jun 16 16:57:44 CEST 2003


> You may be mistaken in the matter of interleaving with _high volumes_ of
> messages input to the Nagios command file.
> 
> Most of the texts (eg W R Stevens APUE p 446) state that provided each
> process writes no more than PIPE_BUF per write, there will be no
> interleaving, regardless of the input rate.

Yes, Stanley's right.  The term for this is 'atomic' writes, where the
write is guaranteed to not be interleaved as long as it's within a certain
size.  It's 512 bytes on Linux and apparently *BSD, and 5120 on Solaris...

This fact is supposed to _guarantee_ that no interleaving will occur on
small-enough writes to the pipe, and after some pretty thorough diagnosis
of another problem, I verified this to be quite true.

I even bumped up the NSCA buffer sizes to about 1500 bytes so that NSCA
can pass Nagios disk-status messages with filesystem mountpoints, megs
free, and HTML markup so that critically full filesystems are in red,
nearly-full ones are in yellow, etc.  With just 453 bytes or whatever the
default is, you can't mark up many filesystems before you overload that
array...

---
Jason Marshall, Unix Geek, Kelman Technologies, Inc., Calgary, AB, Canada.

  From a Sun Microsystems bug report (#4102680):
    "Workaround: don't pound on the mouse like a wild monkey."

  "I have great faith in fools: 
     Self confidence my friends call it."  -Edgar Allan Poe




-------------------------------------------------------
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
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