1

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

snmpwalk -v1 -cpublic 192.168.1.20 1.3.6.1.4.1.9600.1.1.1.1.7

iso.3.6.1.4.1.9600.1.1.1.1.7.2.67.58 = Gauge32: 26
iso.3.6.1.4.1.9600.1.1.1.1.7.2.69.58 = Gauge32: 221
iso.3.6.1.4.1.9600.1.1.1.1.7.2.71.58 = Gauge32: 0
iso.3.6.1.4.1.9600.1.1.1.1.7.6.95.84.111.116.97.108 = 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.

manuel
  • 111
  • 2
  • 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 02 '13 at 14:13

1 Answers1

0

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.

Steve Shipway
  • 742
  • 5
  • 17