How to control disk utilization
This How To
explains how to monitor the disk utilization of a Window Server
or workstation. The SNMP service should be activated on the Windows
system and support the Host Resource MIB.
Warning: The SNMP objects used in this how to
come from our Windows perfmib.mib file. Our examples will not work
with any other mib available on the Internet. The configuration
and installation of this MIB is explained in the How
to add SNMP performance monitoring to WIndows 2000 / XP
You should download
the set of file including the perfmib.mib file from this page. We
do have a working perfmib.mib before continuing.
following table comes from Microsoft recommendation. You could use
it a reference for setting your thresholds.
|| Suggested threshold
|| Physical Disk\% Free Space
|| Physical Disk\\% Disk Time
|| Physical Disk\Disk Reads/sec, Physical
|| Depends on manufacturer's specifications
|| Check the specified transfer rate for
your disks to verify that this rate does not exceed the specifications.
In general, Ultra Wide SCSI disks can handle 50 to 70 I/O operations
|| Physical Disk\Current Disk Queue Length
|| Number of spindles plus 2
|| This is an instantaneous counter; observe
its value over several intervals. For an average over time,
use Physical Disk\Avg. Disk Queue Length.
space utilization is store in the Host Resource MIB define in the rfc2790.mib
The table that
store the disk utilization is :
: [ hrstorageentry ]
Children of Object : [
OID LEN (10) :
table below is obtained form the LoriotPro MIB tree by clicking
on the hrstorageentry object:
For each Storage
unit an index exist in this table.
In our example
the Window XP server contains a C drive with the index (hrstorageindex)
number 2. It has a cluster size of 4096 Bytes and a total capacity
of 10034592 clusters. The total amount of disk space is (10034592
x 4096) 41 101 688 832 bytes or 38,2 Gb.
The current disk
space utilization is given by the hrStorageUsed oid.
To control the
utilization of disk space a threshold could be set on this value. To calculate
the threshold the hrStorageSize has to be used.
In our example if we want to receive an event when 80 % of the disk
space is used, we calculate the value from hrStorageSize.
(10 034 592 x 80
) / 100 = 8 027 673.
Now we set the
configuration of the threshold within LoriotPro. We use the LoriotPro
Sample Plugin Loriot Graph Gauge3 V2.2. Follow the documentation
for attaching the plug-in to the host you want to control.
of the Plug-in is done below:
First we should
specify the OID to collect and the instance of the interface, here
instance 2 that correspond to our disk C.
Next we define
the maximum value (Max Value) that our OID can reach (10034592
in our example).
We choose the “No
Differential” mode because the value is not a counter value
but a gauge (remember, a counter could not decrease !).
Finally we set
an event number and a level (the color seen in the LoriotPro Event
Manager) and the threshold (here, 80 % of the maximum value).
We do have a graphical
view and events should appear in the event manager if the threshold
Example of view
The value could
also be display in a Line Graph. Use our LoriotPro Sample Plugin
LoriotGraphCounter2 V2.2 to perform this graph.
is quite similar. This Plug-in is not able to send Event.
The graph shows
two lines, the red line is the Maximum disk space and the blue one
is the current disk space used.
The event in the
Event Manager (the threshold has bee raised to 2027673)
This event could
be used to send E-mail to the administrator. Refer to Event filtering
and SMTP Event scheduler Plug-in for doing such forwarding.
The same control
could be set in the Bulk Threshold Plug-in. The Bulk Threshold Plug-in
allows you to define threshold for multiple Hosts and Multiple OID
in the same screen.
Here our example
with the same settin use previously
Refer to our documentation
available on our web site for configuring this Plug-in.
Control Disk performance
The disk performance
could be check with the following counters:
The %disk time
is the percentage of elapsed time that the selected disk drive
is busy servicing read or write requests, including time waiting
in the disk driver queue.
The Avg. Disk
Queue Length is the average number of both read and write requests
that were queued for the selected disk during the sample interval.
Requests are queued when the disk is busy to serve too much requests.
Both counters could
be collected in our perfmib.mib file. We provide the MIB tree detail
for finding these objects. There are located in the private branch
of the MIB under the Microsoft branch.
Before using it,
it is necessary to find the disk instance that you want to control.
If you have multiple disks on your system you have multiple instances
(index). The following screen shows you how to find a particular
instance of a disk. In our example below the index of the only installed
disk in the system is 4. We should use it in our performance SNMP
One of the ways for finding
instances is opening the Mib table. The first object of the table
is the index object. In LoriotPro if you click on the ms-pdisk-physicaldiskindexyou
get the following table.
We have everything
for setting up threshold and graph.
We define 2 thresholds,
one on the ms-pdisk-avgdiskqueuelength at 10 and one
on ms-pdisk-percentdisktime at 60 %.
Warning: These counters are sometimes not responding
to requests. The support of these counters within your system is
not guarantee. If you have trouble verify your SNMP service agent
A graph on the
Disk queue length
End of document