(Enhanced Performance Counter Monitoring on Windows 2000)

Thank you for your attention:

March 10, 2004: I would like to let you know that SNMP4W2K-PLUS is nearing the end of its' life cycle.  Since its inception a little over 2 years ago, it has seen several upgrades and enhancements, and while it will function well on almost all performance counters (contained within the latest build) within a Windows 2000 environment and MANY counters in a Windows 2003 system, I would like to strongly recommend that if you are considering a purchase of SNMP4W2K-PLUS that you choose our new SNMP agent which is called SNMP Informant (!

There are strong reasons for this recommendation, the most compelling being that SNMP4W2K (both versions) are based on a Microsoft DLL (perfmib.dll) which is no longer released nor supported by them.  If a problem arises with SNMP4W2K, and the root cause is perfmib.dll, then all I can do is point at MS and say "sorry!".  With SNMP Informant, we have complete control over the functionality and support of the product.

In addition, WTCS controls the SNMP Private Enterprise (OID) numbers, not Microsoft, so you don't have to worry about OIDs changing on you, causing you to have to modify your collection programs.

SNMP Informant supports SNMPv2 as well (ships with SNMPv1 and SNMPv2 MIBS), whereas SNMP4W2K is only SNMPv1 compliant.  SNMP Informant is better, faster and truly is an enterprise-ready SNMP agent.

Once the ISA Application Plus Pack for SNMP Informant is available (approximately 2 weeks from now), SNMP4W2K-PLUS will no longer be available except by special request.  The free "Standard" version of SNMP4W2K will remain available for download by anyone.  Of course, there is a free "Standard" version of SNMP Informant as well!

Thank you for your understanding!  You can find out more about SNMP Informant at!


SNMP Informant - Introducing Microsoft to the standard world


Download (and use) SNMP4W2K-STD for free!    See what you an monitor with SNMP4W2K!

STD (free) version Information: PLUS version Information:
PERFMIB.MIB date: 06Aug2002
MIB.BIN date: 06Aug2002
PERFMIB.MIB date: 21Jan2003 
MIB.BIN date: 21Jan2003

What is SNMP4W2K? Which version do I need? 
How does SNMP4W2K work? What programs can use SNMP4W2K?
What are the requirements? What kind of support is provided?
How do I install SNMP4W2K? How much does SNMP4W2K cost?
What can I monitor with SNMP4W2K? Where can I get SNMP4W2K?
Other Frequently Asked Questions Where in the World IS SNMP4W2K?


SNMP4W2K Support Page (HTML Web Page) SNMP4W2K Support Forums (CGI-Based)
Installing SNMP on Windows 2000 Basic SNMP Monitoring

What is SNMP4W2K?

SNMP4W2K is an enhanced performance counter SNMP extension agent for Windows 2000.  It is a MIB/binary file/DLL file combination that will allow you to use a standard SNMPv1 compliant tool or application to remotely query a Windows 2000 system, and collect performance information.

SNMP4W2K is the next generation of SNMP4NT, which has proven to be quite popular with Windows NT 3.51/4.0 network administrators for over three years (over 40,000 downloads since 1999 don't lie!).

SNMP4W2K contains performance counter objects extracted from Windows 2000 Advanced Server, and can be used to monitor a wide variety of statistics from appropriately configured Windows 2000 systems.  An example of SNMP4W2K in action can be seen on the Net-Sonar demo web site (accessible from the redirection page here).

There are two versions of SNMP4W2K available, the standard (free) version and the PLUS version.

How does SNMP4W2K work?

SNMP4W2K is enabled by means of an SNMP service registry modification and the installation of an (unsupported on Windows 2000) MS SNMP extension agent called PERFMIB.DLL, and two other (proprietary) files, MIB.BIN and PERFMIB.MIB.

Here is a diagram I modified showing how SNMP4W2K fits into the Windows 2000 SNMP model.  The white boxes show some of the the components that make up SNMP4W2K.


What you don't see is PERFMIB.MIB, which is not required on the agent side, but is used by the manager application to objectively reference SNMP4W2K counter objects.  

If you know the OID you want, in many cases you can get by without using PERFMIB.MIB (this can be seen in MRTG where you specifically reference an OID, and do not load the PERFMIB.MIB).

SNMP4W2K is a considerably more robust implementation of the PERFMIB "hack" as described on the SNMPBOY web site, and can provide much more performance counter information than the SNMPBOY modification. SNMP4W2K also includes the custom MIBINST installer as well, which eliminates the need to manually modify the registry and allows roll-back if required.

What are the requirements?

SNMP4W2K simply requires an operational SNMP service in order to install and function correctly.  It is strongly recommended that the most recent service pack and rollup security hot-fixes are applied after the SNMP service is installed.

How do I install SNMP4W2K?

SNMP4W2K come as an executable program, which is a delivery mechanism that installs the software into the Program Files directory.  This software is to be installed on the system you want to monitor!  A screenshot of the (Plus version) delivery mechanism can be seen hereIt creates an entry in Control Panel/Add-Remove programs so you can remove it later.  It also creates an SNMP4W2K menu item, where you can select an OS prompt.  Once in the OS shell, you simply type MIBINST, and a batch file starts which installs the extension agent.  After that, you are ready to connect to that system with your favorite (SNMPv1 compliant) NMS, and collect the statistics that meet your criteria.  YOU MUST HAVE SNMP INSTALLED AND CURRENTLY PATCHED BEFORE YOU RUN MIBINST!

SNMP4W2K now includes the option to automatically run MIBINST.BAT after installation!  You have the option to decline and run it manually if you want!

What can I monitor with SNMP4W2K?

LOTS!!  Once you have installed the Microsoft SNMP service (don't forget the service packs!), and installed SNMP4W2K, you will have access to the statistics shown here.  Counter objects shown in yellow are available only in the PLUS version!

Which version do I need?

If you simply need to monitor core Windows 2000 OS metrics such as (Disk/CPU/Memory/Network/System), then SNMP4W2K-STD (free to download and to use) in conjunction with Windows 2000 native MIB-II and Hosts MIB support is probably right for you.

SNMP4W2K-STD has been available for download since mid October of 2001, and is downloaded approximately 36 times per day.  You too can download it (and USE it!) for free right here, right now!  You do not have to pay anything for this version!


However, if you are responsible for monitoring services and applications such as ...

Active Directory ISA Server 2000
Print Services Exchange Server 2000
Terminal Services SMTP Services
SQL Server 2000 NNTP Services
Windows Media Services   

... then you need SNMP4W2K-PLUS!

A list of the supported counters in each version is available here, but the basic difference is that the PLUS version includes all the counter support of standard version, and adds additional support for the products and services listed above.

Sample MIB Browse screen shots:

SQL Server 2000 here
Exchange Server 2000 here
ISA Server here
Media Services here
Active Directory  here
IIS Global Services  here


What are all those extra services anyway?

What programs can use SNMP4W2K?

SNMP4W2K can be used in most Network Management Systems (NMS) that can compile (or are compatible with) SNMPv1 compliant MIBS.  Several such popular commercial programs are Network Node Manager, What'sUp Gold, SNMPc, Lanware NMS, as well as Open Source packages such as MRTG, RRDTool, Big Brother and more. 

SNMP4W2K is recommended by IpSwitch as a tool to expose Windows 2000 performance counters to their excellent What'Up Gold product!  Check out their knowledge-base WG-20020522-DM01 for more information.

SNMP4W2K is also referenced in the HP IT Resource Centre as a tool to enable Network Node Manager to collect Windows 2000 performance statistics.  See this link for more information.  By the way, while the article mentions that a line needed to be removed from the SNMP4W2K MIB, this is no longer the case.  SNMP4W2K compiles natively into Network Node Manager (v6.20).  Here are some screen shots from an NNM 6.2 console:


MIB Browsing the SNMP4W2K-PLUS PERFMIB.MIB using NNMs' MIB browser

SNMP Applications (graphs) built using SNMP4W2K-PLUS

SNMP4W2K (and SNMP4NT) are the recommended MS SNMP agents for EControl Portal.  Check out their web site here.  They provide enterprise class service management, either locally or remote!

What kind of support is provided?

SNMP4W2K is supported by me on a best-effort basis.  Obviously, if you are an SNMP4W2K-PLUS customer, you'll get priority over people requesting help with using the free version!

"Best-effort" usually means that you will hear from me within a day or so (please remember, I have a full time job!).  Depending on where you live (i.e. Europe, Asia, South America, etc.), this might fluctuate a bit due to time zones!  I can be reached via email, and often on MSN messenger.  See my contact page for details. 

Microsoft does NOT support SNMP4W2K at all.  Please do not contact them for support! 

How much does SNMP4W2K cost?

SNMP4W2K-STD is available for free right here.  The PLUS version is available now for secure, online purchase at the prices shown below (in US Dollars):

Qty Price per copy
1-5 $50.00
6-10 $40.00
11-50 $30.00
51+ contact me for price

Where can I get SNMP4W2K-PLUS?

SNMP4W2K-PLUS can be purchased using these major credit cards via PayPal...

Credit Cards

Click here to purchase SNMP4W2K - Click this button to go to the purchase page.  It will tell you a bit more about how the purchase process works!

Other Frequently Asked Questions

I have received many questions about SNMP4W2K, and how it works.  Some of the more meaningful questions will be put here in the hopes that it will help you make an informed decision as to whether or not to try it!  Please do not be afraid to ask.  I will answer as best as I can, and as fast as I can too!

Q) With regards to PERFMIB.MIB and MIB.BIN for SMTP4W2K, what's their relationship?  What's the difference?  If PERFMIB.MIB displays the performance counters exposed to SNMP, and MIB.BIN displays the additional MIB's supported, is it safe to say that MIB.BIN is really a binary compilation of additional MIB's?  If so, how are these extracted?  How can I obtain a list of individual performance counters for each of these MIB's?

A) PERFMIB.MIB is simply a reference file used by the Network Management Station (NMS).  If your Network Management Station makes a GET request of an OID (ex., the SNMP service on the target must be able to map the OID to something that equates to a performance counter in some manner.  The MS SNMP service extension agent (in the case of performance counter) is called PERFMIB.DLL.  It is loaded by the SNMP service (through the SNMP service registry hive), and when it (the SNMP service) receives a GET request to an OID that it knows about (through its relationship with a file called MIB.BIN), it requests the information from the appropriate extension agent DLL, and returns the value.

Q) I'm confused to as where the agents reside on the monitored device.  Where are they installed?

A) In order to be monitored, each network device or OS needs to run an SNMP support service. These services (sometimes called daemons) are initiated on startup and execute in memory.

Q) Do I need to install SNMP4W2K on the system to be monitored, and the system doing the monitoring?

A) No.  SNMP4W2K only needs to be installed on the system you want to monitor, but the SNMP service needs to be installed on both systems!

Q) I am worried about taking a performance hit if I activate the disk performance counters (diskperf -y).  Can I use SNMP4W2K if I leave them off?

A) Yes.  However, you will not be able to get disk information without them.  Plus, the SNMP service may act up if you query the disk counters and they are not activated.

Q) Are there performance counters that do not work with SNMP4W2K?

A) Yes.  There are two (Physical Disk and Network Interface) whose operation seems to be somewhat system dependant (may or may not work, depending on your computer), so they have been left in.  In the case of the Network Interface counters, you can make up for them (if they do not work for you) by using the MIB-II/Interfaces objects.  If getting Physical Disk information is an absolute requirement, and you use MRTG, then I have an Active-X script I wrote which can access the information and pump it into MRTG.

Q) Does SNMP4W2K support collecting stats from multiple instances of SQL Server 2000?

A) Yes! There is now support for two instanced of SQL Server, BUT ... your second instance must be called A.  Sorry, but there is no way I can make a MIB that supports named instances that I can't control, so if you need two instances, and you would like to monitor them with SNMP4W2K-PLUS, then when you install SQL a second time, name the instance A.

SQL Server default install instance    SQL Server Instance named A

You will not be able to use SQL's (admittedly weak) native SNMP support on your second instance.

Are there any known problems with the Exchange Server 2000 or ISA Server 2000 monitoring capabilities of SNMP4W2K?

A) Not at this time.

Q) Can I monitor my Active Directory performance using SNMP4W2K?

A) Absolutely.  Please take a look at the Active Directory MIB browse to get a feel for the multitude of stats that will be made available once SNMP4W2K is loaded.

Where in the world is SNMP4W2K?

Since its release, SNMP4W2K has been downloaded countless times.  I truly have no idea where the free version has made its way, but this map displays the demographics of SNMP4W2K-PLUS.  Most of the purchases have come from Europe and the continental USA, although there have been a few from Asia and the Middle East as well.

I guess this is like traveling the world by proxy!

Author's Statement

I have worked extremely hard to compile a stable release, but as always (especially with "retro-fitted code") there is the possibility of problems cropping up.  You should be able to compile the SNMP4W2K PERFMIB.MIB in most NMS that accept SNMPv1 MIBs.  I have painstakingly (Oohh, my aching eyes!) edited the MIB (the PLUS version has over 13900 lines) and removed most all the syntax errors graciously added by mibcc.exe.  Then I test compile the MIB into at least 2 different MIB compilers.  Last but not least, I test it on my system (generic Athlon 1700), and an IBM Netfinty 4500R (dual P-4/850Mhz).

While there does appear to be some performance counters that simply will not extract properly into the PERFMIB.MIB, most GETs (including all ISA/Exchange/SMTP/NNTP/Media Services OIDS) work fine, and when used in conjunction with Windows 2000 SNMP support (using the MIBS included with SNMP4W2K), SNMP4W2K will prove itself an integral part of your Windows 2000 network monitoring strategy.

In keeping with best practices...

Always install and try SNMP4W2K in a test environment before moving it into production!

Always back up a system you can't afford to rebuild!

And finally ...

When compared to other SNMP agents that can cost many hundreds of dollars (HP OVO Win32 agents can cost as much as $1500.00 each!), SNMP4W2K-PLUS stacks up as a functional, lightweight SNMP agent that provides an excellent return on your investment!

"I truly believe that while SNMP4W2K-PLUS does not compete on the same level as some of the BIG players, you will find it provides tremendous value for the price you pay!"

Installing SNMP on Windows NT 2000

As always, I recommend installing the SNMP service immediately after or as part of the OS, but before any service packs or additional applications.  This ensures that applications that check for the presence of SNMP before installing SNMP support, do so.  There are some applications (i.e. IIS and SQL), that will not install SNMP support if the service is not installed (and in some cases, running)!

To install the SNMP on Windows 2000, perform the following;

  1. Click Start -> Settings -> Control Panels and double-click Add/Remove Programs.

  2. Click the Add/Remove Windows Components button.

  3. Click Management and Monitoring Tools and click the Details button.

  4. Press  the Simple Network Management Protocol check box and click Ok.

  5. Click Next, and after the wizard finishes installing click Finished.

Hint: A helpful MS support link on how to configure the SNMP agent for Windows 2000 can be found here.  You can also find an excellent MS article on Windows 2000 SNMP here.

The SNMP agent also allows for remote administration of Windows 2000 computers.  If you have installed DHCP, IIS, or WINS on your network (and the appropriate agents are installed and configure on those systems, SNMP will allow you to monitor those services through the management software (or even from an OS prompt using SNMPUTIL.EXE or the GUI SNMPUTILG.EXE. 

When you install the basic SNMP service, you add performance counters to TCP/IP and can view these performance counters in Performance Monitor.  Performance Monitor will then start counting;

Basic SNMP Monitoring with Windows 2000

Well, one of the nice things about Win2K is that straight out of the box (once you have installed SNMP) you get support for the MIB-2 Host MIB (.   Specifically, you can extract such information as System (uptime, etc), Memory (used and total), Disk (type (FAT/NTFS), used and total), Processor Utilization, Software running (i.e services), software installed (as in Control Panel/Add-Remove Software), Users Connected and more!  Sounds good huh?

So... how do you get access to these counters?   Well, you must either a) know the OID you want to query to get the information you want (FAT CHANCE!), or b) you download the appropriate MIBs so you can browse the tree using your favorite MIB browser.  I recommend option b.  See next paragraph!

Here's what I do.  I use Getif version 2.2 (you can also use version 2.3.1 if you want).  Then, I use the Getif MIBS file I assembled.  It contains (among others) the RFC MIBS that will allow you to browse the MIB-2 objects made available once SNMP is installed in Win2K.  Simply download and install GetIf, then unzip the files in into the getif/MIBS directory.  Making sure that GetIf is not running, delete the .index file and start getif again.  At this point you should be able to browse the MIB-2  tree like so:

mib-2-host.gif (20480 bytes)

Now, using the OIDs provided by GetIf, you should be able to create/modify a MRTG cfg file to collect information you want.  Simple huh?  Take note that some sub-trees of MIB-2-HOST may not be accessible to getif (because not all branches of the HOST tree are supported by Windows 2000).

For more information on GetIf, including links to download 2 different versions, see the Getif Page!

Click for page hit stats!     

To return the the main page, click the Go Home! logo!