[Nagiosplug-devel] RFC: Plugin API Changes
Ethan Galstad
nagios at nagios.org
Tue Feb 28 10:11:04 CET 2006
Hi all -
I'm looking for some comments on proposed extensions to the current
plugin API for Nagios 3.x. For a long time, people have been
requesting multiline output for host and service checks. I currently
have this feature working in the Nagios CVS HEAD (3.x) code and would
like some feedback as to how this should work.
The multiline output changes that I am proposing would remain
compatible with the existing (single line) plugin output. Take this
sample plugin output as an example:
Line1: "Short output | Perf1"
Line2: "Long output 1"
Line3: "Long output 2"
Line4: "Long output3 | Perf2"
Line5: "Perf3"
Line6: "Perf4"
Nagios would interpret the six lines out of above plugin output and
make it avaiable in macros it like this:
$SERVICEOUTPUT$="Short output"
$PERFDATA$="Perf1 Perf2 Perf3 Perf4"
$LONGSERVICEOUTPUT$="Long output 1\nLong output2\nLong output3\n"
The proposed format would allow for: 1. Multiple lines of output to
be optional, rather than required 2. Multiple lines of perfdata can
follow the long output if seperated by a pipe (|) symbol, as can be
done of the first line 3. Multiple lines of perfdata are
concatenated together, seperated by a space (newlines are not
included) 4. Long output would have newlines escaped as shown above
The proposed changes are nice in that they allow for multiline (and
longer) output and perf data, while remaining compatible with the
current plugin API. What are people's thoughts on this?
FYI, there will be no inherent limitations on the length of plugin
output in Nagios 3.x. IPC is handled slightly differently in the CVS
code, which allows us to have longer output without bumping into the
512-byte PIPE_BUF Posix limitation for pipes. I'll probably cap the
output at 2K or so to prevent runaway plugins from spewing megs of
data back to Nagios. You wouldn't want that much data sent to your
pager or cellphone. :-)
Ethan Galstad,
Nagios Developer
---
Email: nagios at nagios.org
Website: http://www.nagios.org
More information about the Devel
mailing list