Check_pdh not creating perfdata


#1

When I run the following perf counter I do not get any perfdata-

`/usr/local/nagios/libexec/check_nrpe -H ###### -t 60 -c check_pdh -a "counter=\\PhysicalDisk(*)\Avg. Disk Queue Length" "counter=\\PhysicalDisk(*)\Avg. Disk Read Queue Length" "counter=\\PhysicalDisk(*)\Avg. Disk Read Queue Length" instances`

OK: \PhysicalDisk(*)\Avg. Disk Queue Length_0 C: = 0, \PhysicalDisk(*)\Avg. Disk Queue Length_1 D: = 0, \PhysicalDisk(*)\Avg. Disk Queue Length__Total = 0, \PhysicalDisk(*)\Avg. Disk Read Queue Length_0 C: = 0, \PhysicalDisk(*)\Avg. Disk Read Queue Length_1 D: = 0, \PhysicalDisk(*)\Avg. Disk Read Queue Length__Total = 0, \PhysicalDisk(*)\Avg. Disk Read Queue Length_0 C: = 0, \PhysicalDisk(*)\Avg. Disk Read Queue Length_1 D: = 0, \PhysicalDisk(*)\Avg. Disk Read Queue Length__Total = 0

If I run it with only two counters it works fine-

/usr/local/nagios/libexec/check_nrpe -H ###### -t 60 -c check_pdh -a "counter=\\PhysicalDisk(*)\Avg. Disk Queue Length" "counter=\\PhysicalDisk(*)\Avg. Disk Read Queue Length" instances

OK: \PhysicalDisk(*)\Avg. Disk Queue Length_0 C: = 0, \PhysicalDisk(*)\Avg. Disk Queue Length_1 D: = 0, \PhysicalDisk(*)\Avg. Disk Queue Length__Total = 0, \PhysicalDisk(*)\Avg. Disk Read Queue Length_0 C: = 0, \PhysicalDisk(*)\Avg. Disk Read Queue Length_1 D: = 0, \PhysicalDisk(*)\Avg. Disk Read Queue Length__Total = 0|'\PhysicalDisk(*)\Avg. Disk Queue Length_0 C:_value'=0;0;0 '\PhysicalDisk(*)\Avg. Disk Queue Length_1 D:_value'=0;0;0 '\PhysicalDisk(*)\Avg. Disk Queue Length__Total_value'=0;0;0 '\PhysicalDisk(*)\Avg. Disk Read Queue Length_0 C:_value'=0;0;0 '\PhysicalDisk(*)\Avg. Disk Read Queue Length_1 D:_value'=0;0;0 '\PhysicalDisk(*)\Avg. Disk Read Queue Length__Total_value'=0;0;0

I have other checks that check three different counters and provide the perfdata properly-

/usr/local/nagios/libexec/check_nrpe -H ###### -t 60 -c check_pdh -a "counter=\\PhysicalDisk(*)\Disk Bytes/sec" "counter=\\PhysicalDisk(*)\Disk Read Bytes/sec" "counter=\\PhysicalDisk(*)\Disk Write Bytes/sec" instances

OK: \PhysicalDisk(*)\Disk Bytes/sec_0 C: = 0, \PhysicalDisk(*)\Disk Bytes/sec_1 D: = 0, \PhysicalDisk(*)\Disk Bytes/sec__Total = 0, \PhysicalDisk(*)\Disk Read Bytes/sec_0 C: = 0, \PhysicalDisk(*)\Disk Read Bytes/sec_1 D: = 0, \PhysicalDisk(*)\Disk Read Bytes/sec__Total = 0, \PhysicalDisk(*)\Disk Write Bytes/sec_0 C: = 0, \PhysicalDisk(*)\Disk Write Bytes/sec_1 D: = 0, \PhysicalDisk(*)\Disk Write Bytes/sec__Total = 0|'\PhysicalDisk(*)\Disk Bytes/sec_0 C:_value'=0;0;0 '\PhysicalDisk(*)\Disk Bytes/sec_1 D:_value'=0;0;0 '\PhysicalDisk(*)\Disk Bytes/sec__Total_value'=0;0;0 '\PhysicalDisk(*)\Disk Read Bytes/sec_0 C:_value'=0;0;0 '\PhysicalDisk(*)\Disk Read Bytes/sec_1 D:_value'=0;0;0 '\PhysicalDisk(*)\Disk Read Bytes/sec__Total_value'=0;0;0 '\PhysicalDisk(*)\Disk Write Bytes/sec_0 C:_value'=0;0;0 '\PhysicalDisk(*)\Disk Write Bytes/sec_1 D:_value'=0;0;0 '\PhysicalDisk(*)\Disk Write Bytes/sec__Total_value'=0;0;0

Any idea why its failing for this specific combination of counters?


#2

My guess would be length, NRPE has a limit on 1024 characters.

This is much improved in 0.5.1 which truncates the perfdata instead of removing it.