[Nagiosplug-devel] Got a direction for me ?
Thomas Guyot-Sionnest
dermoth at aei.ca
Fri Aug 29 04:04:29 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 28/08/08 08:29 PM, Marcel wrote:
> The basics of the plugin engine is that it should run and complete
> probing as fast as it could. So the better the code, the better would be
> for nagios. So i think my answer is: You can do with whatever language
> you can. I only use perl, since it's development cycle is very short and
> because I have no low end hardware concerning performance issues. Even
> have bash scripts that act as plugins. Have some perl plugins, and all I
> have of C plugins are from the standard distribution. Again, if you will
> be monitoring tens of thousands of objects and have little budget for
> high-end servers, consider writing plugins that does not have overheads
> like interpreting the script, generating bytecode, executing and
> finishing, the fast it ends, the better it'll be to nagios.
I will add that regarding Perl, you can get enormous performance boost
by using ePN (embedded Perl interpreter) and perlcache, but your plugins
will need very strict programming style to work well (In an extreme case
I had to comment out "use strict and "use warnings", although it did not
complain with them on the command line).
It should also be noted that some people have uncontrollable memory
leaks with ePN. It is not known whenever these leaks are caused by the
system/perl/library versions of by poor plugin code, but on my system
although by looking closely I did notice small leaks (most notably on
HUPs, but you can kill and restart instead). They are not significant
enough to even worry about them (Nagios can run for months with >250
Perl checks per minute without loosing much memory, i did not even
notice before looking really closely).
I'm not a Python coder (just started reading some manuals two weeks ago)
but I'm wondering how pre-compiled Python bytecode would compare to Perl
ePN. If you ever have the opportunity to swap a highly used Perl plugin
(with ePN and perlcache) with a Python plugin doing the same job (and of
comparable quality) and compare the load, I would be glad to see the
difference.
If you're interested, see this post (by me) about difference in cpu time
between ePN and non-ePN plugins:
http://mersenne.org/gimps/mprime256-linux64.tar.gz
- --
Thomas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFIt1kt6dZ+Kt5BchYRApavAKCMGu9TtMUFnQTGuytk343eBHJ+iACgwRmO
Smgm0suB3cv19S+3sqiViOA=
=MyVn
-----END PGP SIGNATURE-----
More information about the Devel
mailing list