You are here

Disk Queue Error "Counter not found"

5 posts / 0 new
Last post
Techie_v2
Techie_v2's picture
Disk Queue Error "Counter not found"

Hi,

I have the error

CRIT: Counter not found: \PhysicalDisk(0 C:)\Avg. Disk Read Queue Length: The specified instance is not present. (800007D1)

coming up for some of my servers. The query is the default one in the Windows base checks - I have not changed it one bit

-H $HOSTADDRESS$ -c nsc_checkcounter -a 'MaxCrit=12 MaxWarn=6 "Counter=\PhysicalDisk(0 C:)\Avg. Disk Read Queue Length"'

The strange thisn is it work sform some servers and not for others, i cannot see a pattern as for why it works and why it doesnt. I have a mixture of 2003, 2008r2 and 2012 servers and its working on all different kinds, just not for some.

One server is also bringing up a slightly different error -

CRIT: Counter not found: \PhysicalDisk(0 C:)\Avg. Disk Read Queue Length: The specified object is not found on the system. (C0000BB8)

This server has exactly the same disk configuration as another one that works so I cant work out what is going on.

I have read other posts that suggest there maybe a syntax error in the query, suggesting to double up on backslashes but doing this just breaks everything and it quesry obviously works as some servers are display the correct output.

Can anyone shed any light on this?

Thanks

smarsh
smarsh's picture
If you do a 'TypePerf.exe -q'

If you do a 'TypePerf.exe -q' does the counter appear in that list? If not, then thats your problem :) Have a look at the guide here: http://www.everybodyhertz.co.uk/wmi-counters-with-nagios-opsview/

Techie_v2
Techie_v2's picture
Hi, Thanks for the reply,

Hi, Thanks for the reply,

I have done the command and found the line "\physicalDisk(*)\Current Disk Queue Length" on both one of the servers that works and one that doesnt.

Also on another one that doesnt, the command didnt return the list, just a a load of numbers eg. \2472(8)\2552

Im guessing that means the wmi is broken somehow and could do with rebuilding. But for the others, as far as I can work out the counters are there.

supe_86947
supe_86947's picture
The same here...

Hello!

I have 13 win2k8 server under opsview. Everything works fine, but one server...

I got this error message everytime:
CRIT: Counter not found: \PhysicalDisk(0 C:)\Avg. Disk Read Queue Length: The specified instance is not present. (800007D1)

I already try to use with double \ ((\\PhysicalDisk) coz I readed somewhere on forum), but didnt help.
I checked the typeperf -q, and the counter appears in my list.
C:\Windows\system32>typeperf -q | findstr "PhysicalDisk"
\PhysicalDisk(*)\Current Disk Queue Length
\PhysicalDisk(*)\% Disk Time
\PhysicalDisk(*)\Avg. Disk Queue Length
\PhysicalDisk(*)\% Disk Read Time
\PhysicalDisk(*)\Avg. Disk Read Queue Length
\PhysicalDisk(*)\% Disk Write Time
\PhysicalDisk(*)\Avg. Disk Write Queue Length
\PhysicalDisk(*)\Avg. Disk sec/Transfer
\PhysicalDisk(*)\Avg. Disk sec/Read
\PhysicalDisk(*)\Avg. Disk sec/Write
\PhysicalDisk(*)\Disk Transfers/sec
\PhysicalDisk(*)\Disk Reads/sec
\PhysicalDisk(*)\Disk Writes/sec
\PhysicalDisk(*)\Disk Bytes/sec
\PhysicalDisk(*)\Disk Read Bytes/sec
\PhysicalDisk(*)\Disk Write Bytes/sec
\PhysicalDisk(*)\Avg. Disk Bytes/Transfer
\PhysicalDisk(*)\Avg. Disk Bytes/Read
\PhysicalDisk(*)\Avg. Disk Bytes/Write
\PhysicalDisk(*)\% Idle Time
\PhysicalDisk(*)\Split IO/Sec

The other service checks works from group windows base and windows advanced groups.
Is there anyway to fix it?

Thanks

dmiller_2
dmiller_2's picture
Possible solution

I beat my head against this for a while.  It seems you may have to specify all the volumes on the physical disk when there are multiple volumes present.  Per the NSClient++ documentation for CheckCounter (http://www.nsclient.org/nscp/wiki/CheckSystem/checkCounter, as of this post, the site is deprecated and I can't find the content on their new site), you can get a list of the performance counters available with the wildcard (*) expanded to the permitted values with:

"NSClient++.exe" CheckSystem listpdh

The list is pretty lengthy, so dumping the output to a file is helpful.

On one particular system I am working with, the system volume (C:) and a data volume (D:) reside on the same physical disk (0).  I created a new check_nrpe service with the argument :

-H $HOSTADDRESS$ -c nsc_checkcounter -a 'MaxCrit=12 MaxWarn=6 "Counter=\PhysicalDisk(0 c: d:)\Avg. Disk Read Queue Length"'

Depending on how varied the environment is, putting the physical disk / volume information (ex "0 c: d:") in a host attribute may make sense.