[Nagiosplug-devel] Please can I have GIT access
Holger Weiß
holger at CIS.FU-Berlin.DE
Fri Sep 4 13:38:12 CEST 2009
* Thomas Guyot-Sionnest <dermoth at aei.ca> [2009-09-01 15:15]:
> Alain Williams wrote:
> > On Tue, Sep 01, 2009 at 12:21:28PM -0400, Max wrote:
> >> Files in RAM or memcache is a lot easier to manage than shared memory.
> >
> > Files:
> >
> > * easy to set up, flexible
> > * don't use up RAM - some sites RAM is precious
> > * those who do want the speed of RAM, simply create a RAM disk or tmpfs and put the
> > files there
> > * if it is a 'disk' directory and the system is not hard pressed on RAM, the files
> > end up in RAM anyway (buffer cache)
Agreed.
> Just for completeness the FD method uses files primarily, but it
> actually gives that control to the caller. This means:
>
> * Plugin only cares about FD numbers to use, caller decides where data
> will go. No extra work, library or complex code required in the plugins.
> * If desired, caller can send FDs pointing to mmaped memory, and then
> decide where to store it afterward (private RAM, SHM, memcached, SQL...)
> * Any custom wrapper can be used, for any desired retention method.
> * Nagios and NRPE could provide basic methods for simple setups and to
> avoid an extra fork. Furthermore Nagios modules could be used to extend
> Nagios functionality in an efficient manner on large sites.
>
> I believe this method is much closer to the Unix philosophy of having
> multiple components doing simple tasks.
I'd associate passing file descriptors around between every process and
his dog with DJB's philosophy rather than with the Unix philosophy :-P
Personally, I'd prefer not to bother the caller with this stuff. Of
course, I'm fine with providing options, but I'd rather not _force_ the
caller to setup storage for state retention and to play file descriptor
games just to get this functionality. It's simply not his job to hold
state information for the executed plugin, and I guess it would cause
quite a bit of confusion (e.g., when users test plugins they use in
Nagios on the command line). In general, I'd like to keep the plugin
interface as simple possible.
Holger
More information about the Devel
mailing list