5 ms·
> Maybe rephrased some people have to ping 10K boxes per minute and other people have to check 1000 services or files or aspects on 10 boxes and its not REALLY
by scottlamb 12y ago
> Maybe rephrased some people have to ping 10K boxes per minute and other people have to check 1000 services or files or aspects on 10 boxes and its not REALLY possible for the same codebase to serve both groups equally well in actual real world practice.
Really? Why? The first thing seems quite easy all around. Configuration-wise one would expect it to be simple. Computation-wise, pinging 10K boxes per minute means sending <200 packets per second (and receiving at most the same number). Maybe 3X that or so to get multiple samples. That's nothing for a modern machine.
The second one obviously requires some more complexity but I don't know why the extensible configuration and plugin system it'd require would have to interfere with simply pinging a bunch of machines. Computation-wise, again sending <200 requests per second should be trivial unless they're spectacularly heavy-weight.
The Nagios plugin protocol does seem to be somewhat heavy-weight, though. Looks like it still fork()+exec()s on every probe? https://nagios-plugins.org/doc/guidelines.html https://nagios-plugins.org/doc/guidelines.html That seems like a much greater problem in terms of computation than the actual probes themselves, particularly if probes are written in a scripting language with non-trivial startup overhead. Doesn't look like Icinga is any different? What significant architectural differences exist between the two?
- teh_klev 12y agoNagios has an embedded Perl interpreter[0] so it's possible to avoid fork()/exec() if performance is critical. There are some caveats about how to use and code for it though [1]. [0]: http://nagios.sourceforge.net/docs/nagioscore/3/en/embeddedperl.html http://nagios.sourceforge.net/docs/nagioscore/3/en/embeddedp... [1]: http://nagios.sourceforge.net/docs/nagioscore/3/en/epnplugins.html http://nagios.sourceforge.net/docs/nagioscore/3/en/epnplugin...
- devonkim 12y agoThe downsides and caveats are very similar to writing mod_perl based web apps last I saw those docs. The downsides shouldn't be a problem for most Nagios plugins though since they shouldn't require state hopefully.
- xorcist 12y agoCheck out the passive check protocol. Nagios has tons of features like that which you need to understand in order to get it to scale. The default out of the box config is something you monitor a handful of machines with, but Nagios is regularly run with 100k+ active checks. That requries some careful architecting.