Nagios Core 3.4.0 - performance data issues if contain apostrophes

shells at shells at
Thu May 10 16:23:09 CEST 2012

Hi list,

i'm having an odd problem with the development machine I installed  
Nagios Core 3.4.0 to.

It took me some time to make sure what the problem acutally is, but  
there must have some change in the performance data handling.

For my setup:
It's two machines running CentOS 5.8 x64, the production-machine is  
Nagios Core 3.3.1 and the development machine is Nagios Core 3.4.0,  
both have the same versions of other packages both have PNP-0.6.17 and  
both have nagios-plugins-1.4.15 - and both have the exact same config  
(except the dev-machine doesn't send email to everyone).

So far about the basics.

I'm having the problem with the check_snmp and check_nt scripts, if  
there is a label (on check_snmp) or a counter (on check_nt) with  
blanks and it's therefor in apostrophes.

So that means, that Nagios is still checking the state of the checks,  
but there is no performance data handled by PNP, as the input is  

Let me explain that with an example:

This checks the environment temperature sensor of APC UPS.

command_line	$USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o  
. -w 29 -c 40 -l 'environment  
Temperature' -u °C
as you can see the label "-l 'environment Temperature'" is set in apostrophes.

If that check is run by Nagios 3.3.1 it looks like follows in Service  
State Information window:

Status Information:SNMP OK - environment Temperature 24 °C
Performance Data:environment Temperature=24

If that exact same check is run by Nagios 3.4.0 it looks like:

Status Information:SNMP OK - 24 °C
Performance Data:=24
So Nagios is still recognizing the value and handling the  
notifications and escalations as it should, but "=24" is sent to PNP  
as performance data, what clearly is invalid.

In production system (Nagios Core 3.3.1 - PNP-0.6.17) perfdata.log tells:

Found Performance Data for APC_5000XL / Environment-Temperature  
(environment Temperature=24)
and is put into the graph just fine.

In development system (Nagios Core 3.4.0 - same PNP-version!) it is:

Found Performance Data for APC_5000XL / Environment-Temperature (=24)
Invalid Perfdata detected

So Nagios 3.4.0 is doing something to the performance data.
The only possibility to change that behavior back to normal is to  
change the check-command to anything valid without apostrophes, like:

command_line	$USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o  
. -w 29 -c 40 -l Temperature -u °C
but that's not what I'd call "solution".

I downgraded the development system to 3.3.1 and instantly that checks  
were reported correctly and graphs are drawn.
Back to 3.4.0 that stops immediately.

Does anyone else have registered such behaviour or can this be  
confirmed as a bug?
Maybe I'm having blinders for changes that were clearly  
communicated... or am missing some major point, so please tell me.

I would appreciate any help or confirmation that this is a bug and  
will be fixed in further releases.

If you have any further queries, please do not hesitate to contact me.


Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 

More information about the Developers mailing list