alternative scheduler

Fredrik Thulin ft at it.su.se
Tue Nov 23 13:59:13 CET 2010


In case that was too long for y'all, the short story is that I got lousy
performance from the service check scheduler in Nagios (3.2.0, sorry -
forgot to mention that).

I was able to write a brand new scheduler that works MUCH better - 1160
checks per minute, compared to ~60. Any plans to do something drastic
about the Nagios service check scheduler?

/Fredrik

On Sat, 2010-11-20 at 14:22 +0100, Fredrik Thulin wrote:
> Hi
> 
> I've had problems with my distributed Nagios installation. The slave
> server just wouldn't start enough checks per time unit, and I think I
> spent two full days searching for answers and testing every
> configuration change others in the same situation had reported success
> with (the configuration I ended up with is at the bottom of this mail).
> 
> I set up MRTG monitoring, and saw something incredibly strange - Nagios
> would start out with quite a few services per minute, but then over time
> level out at something like 50 services per minute (!), until restarted
> again.
> 
> http://people.su.se/~ft/test/mrtg_nagios-dev-srv1_2010-11-19/nagios-f.html
> 
> Had I been a C programming wizard, I surely would have tried to find the
> problem in Nagios and fix it, but I'm not. However I DO know how to
> program massively concurrent things in Erlang, so I created a proof of
> concept Nagios scheduler in about 350 lines of Erlang code (not
> kidding).
> 
> Thanks to the excellent modular design in Nagios, this was very simple.
> My application just invokes another service checks every 50ms or so, and
> sends the result to the Nagios master using a classic send_result
> shell-script (NCSA).
> 
> Look at these new graphs
> 
>   http://people.su.se/~ft/test/mrtg_nagios-dev-srv1/nagios-f.html
> 
> Quite an improvement. Executing around 5800 service checks per five
> minutes, on a very low end server I'd say.
> 
> To be fair, at around 11:00 I shut down the virtual machine and gave it
> another CPU (now 2) and another 256 MB of RAM (total 512).
> 
> Anyone interested in further development of this? I've released it under
> a BSD license, and you can find the code at 
> 
>   https://github.com/fredrikt/nagios-pers
> 
> /Fredrik
> 
> PS. Main configuration on my distributed servers :
> 
> log_file=/local/nagios/local/nagios.log
...


------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev




More information about the Developers mailing list