NRPE vs NCSA

Thomas Sluyter nagios at kilala.nl
Wed Sep 13 14:10:13 CEST 2006


On 13 Sep, 2006, at 13:14, Hari Sekhon wrote:

> While NCSA would reduce load slightly (probably not noticeably  
> though I
> expect), NRPE would allow for a more centralised way of doing things,
> especially since I keep my entire nagios config under svn and like  
> to be
> able to redeploy it centrally.
>
> Does anybody have any advice as to which I should go with? What  
> have you
> used and what are your experiences of this?

A few weeks ago I was stuck with the same question. Back then a  
fellow by the pseudonym "Jakked Up" (he frequents many Nagios fora)  
helped my out by discussing the matter over e-mail.

One of the most important things to keep in mind is the amount of  
checks you'll be performing and how things will be scheduled by Nagios.

Say that you're running 1000 service checks through NRPE and that you  
want them all run within 5 minutes. Let's assume that each service  
check averages at 3 seconds before the results are in (best case  
scenario). This would mean that Nagios would have a thousand three- 
second connections open every five minutes. Parallelizing things  
using the Nagios scheduler will help naturally...

But now start thinking big... Around 7000 service checks? Would mean  
21.000 seconds worth of network connections crammed into five  
minutes. That's not going to work nicely.

And all of this is still excluding things like retries in the case of  
a failure. Or assloads of retries in the case of massive failure.

Now, if you take NSCA, the server will still be getting 7000 incoming  
connections every five minutes, but:
1) All incoming data will be dumped in the NSCA queue
2) Nagios will "leisurely" pick through the NSCA queue to grab all  
the status updates

Or, as he originally put it:

=====

To make a check on a remote system, via nrpe for example, nagios has  
to schedule the check every 5 minutes, or whatever.
The check is made, which means a plugin runs a script that connects  
to a daemon running remotely.  The script then tells the daemon what  
check to make.  The check is made, the data passed on to the client  
connection, and now nagios has the data for the check and processes  
it.  All of that is a lifetime, compared to:

Periodically nagios reads it's external command file, whenever it has  
time to do so, depending on your settings.  At times, it finds  
completed results of a service check.  All nagios has to do is  
process that result.  So, the check is NOT even really made by the  
central server.  It's already sitting there for it.  Of course, that  
is only achieved via something like a passive check via nsca.

=====

Me, I'll be making our new Nagios environment as passive as possible.  
Most checks will be performed locally (scheduled through a small  
wrapper script I wrote, run from cron), after which the results are  
submitted through NSCA. For the remaining active checks I'll be using  
net-SNMP.

Cheers!



Thomas

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
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