Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

On windows server 2003 reading disk queue length from SNMP with MRTG was easy:

snmpwalk -v1 -cpublic

iso. = Gauge32: 26
iso. = Gauge32: 221
iso. = Gauge32: 0
iso. = Gauge32: 247

this MIB don't work for windows server 2008 & 2012

is there any other easy way to read disk queue?

Now I made service on my Windows server 2012 end I use IIS for my MRTG server to access the data which is too complicated.

share|improve this question
This isn't an answer, but I would plan on migrating away from using SNMP on Windows Server as it is being deprecated and will eventually be dropped from future versions of Windows. – Ryan Ries Dec 2 '13 at 14:13

You can read the disk queue on a Windows server by using the NC_Net or NSCLIent++ agents. These agents are intended for use with Nagios; however they can also be queried by MRTG. You can use the mrtg-pnsclient plugin for MRTG that is distributed with the Routers2 frontend. This queries using the NSClient protocol and can access any of the Windows PerfMon counters, which includes the value you require. The plugin has a compilable C version and a native Perl version; the C version is better if you can compile it.

To define a MRTG Target using this, have a definition of the form:

Target[disk-queue-total]: `mrtg-pnsclient -H hostname -v COUNTER -l "\\PhysicalDisk(_Total)\\Current Disk Queue Length" -v COUNTER -l "\\PhysicalDisk(_Total)\\Current Disk Queue Length"`

Replace _total with the apporpriate disk identifier if you want per-disk values.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.