Problems with FreeBSD and Nagios

Michael W. Lucas mwlucas at blackhelicopters.org
Tue Jun 19 13:16:21 CEST 2007


On Mon, Jun 18, 2007 at 06:42:18PM -0500, Kyle Sexton wrote:
> On 12/14/06, Andreas Ericsson <ae at op5.se> wrote:
> > Jonathan Call wrote:
> > >
> > > Given your ideas and some google work I seem to have found my problem:
> > >
> > > http://lists.freebsd.org/pipermail/freebsd-hackers/2005-August/013247.ht
> > > ml
> > >
> > > Not a pretty discussion. :(
> > >
> >
> > Nope. Definitely not.
> >
> > The problem for Nagios is that threading was added after the fact so
> > nagios actually breaks some of the *strong* recommendations on what to
> > do and what not to do in a threaded application after a fork().
> >
> > The problem for *BSD and their thread implementation of the thread
> > library is that Nagios actually works everywhere but on *BSD, and it
> > *often* works there too, but not always. This "often-but-not-always" is
> > usually a sign of a broken implementation, although exactly
> > "often-but-not-always" is a sign of the errors you'll run into when you
> > do what Nagios does post-fork().
> >
> > I don't know of any other program that has the same problem on *BSD, but
> > it would be interesting to see if there's a common pattern so one can
> > pinpoint the exact pattern that causes the lock contention and races. It
> > would, from a practical point of view, be best to patch it in the
> > library, as that is a fix that would work for all possible future
> > problems as well, although it's technically more correct to fix it in
> > Nagios.
> >
> > Ugly discussion indeed.
> >
> >
> > > I'll try using a non SMP kernel to see it might help. If it doesn't this
> > > pretty much renders Nagios useless on FreeBSD. (Which makes me wonder
> > > why they even bother maintaining it in ports?)
> > >
> >
> > Out of curiousity, do you use passive checks, active checks or a mix of
> > both in your setup?
> Was there ever a solution found to this problem?

Skimming the (long) discussion thread, my first thought is to try
libthr instead of libkse.  The discussion seems to be on 5.x, I'd
definitely try libthr on 6.x.  Check libmap.conf for details.

==ml

-- 
Michael W. Lucas 	mwlucas at BlackHelicopters.org, mwlucas at FreeBSD.org
		http://www.BlackHelicopters.org/~mwlucas/
      Coming Soon: "Absolute FreeBSD" -- http://www.AbsoluteFreeBSD.com
On 5/4/2007, the TSA kept 3 pairs of my soiled undies "for security reasons."

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
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