[Nagiosplug-devel] RFC: Plugin API Changes

Subhendu Ghosh sghosh at sghosh.org
Tue Feb 28 21:08:01 CET 2006

On Tue, 28 Feb 2006, Andreas Ericsson wrote:

> Ethan Galstad wrote:
>> On 28 Feb 2006 at 10:52, Jason Martin wrote:
>>> On Tue, Feb 28, 2006 at 12:10:02PM -0600, Ethan Galstad wrote:
>>>> Line1: "Short output | Perf1"
>>>> Line2: "Long output 1"
>>>> Line3: "Long output 2"
>>>> Line4: "Long output3 | Perf2"
>>>> Line5: "Perf3"
>>>> Line6: "Perf4"
>>>> $SERVICEOUTPUT$="Short output"
>>>> $PERFDATA$="Perf1 Perf2 Perf3 Perf4"
>>>> $LONGSERVICEOUTPUT$="Long output 1\nLong output2\nLong output3\n"
>>> How does Nagios differentiate between Line2 being 'long output'
>>> and line5 being perfdata? Both follow a line with a | character
>>> in it.
>> Any additional lines (beyond the first one) are considered standard text 
>> output and made a part of the $LONGSERVICEOUTPUT$ macro.  Once a pipe 
>> symbol is found in those additional lines, anything after that symbol 
>> (including additional full lines of text) are considered to be performance 
>> data.
> Seems like a tricky rule. Why not just stick with current behaviour (that is, 
> first pipe-char splits output and perf-data)? One can already do multiple 
> perf-data entries with that, using the current parsers.

Either that - or each new line is either output or perfdata with 
separators allowing multiple parts but the line will be prefixed to 
distinguish betwwen the two.

current parsers will have to be modified to handle multiline, so adding 
line prefix detection in the loop should be trivial.


More information about the Devel mailing list