"This document is intended for developers of SNMAgent and the brave few who want to run it in production. Others may find the information useful."
Written using Delphi2006, built on top of the (no longer supported?) NSClient codebase.
It has a couple built-in monitors; the rest are all based on perfmon. You can define your own plugins by defining the config in SNMAgent\etc\pluginname.cfg, and the data to acquire from perfmon in SNMAgent\plugins\pluginname.ini. To make your own plugins, first read SNMAgent\plugins\cpunew.ini, then run 'permon.msc' and hit 'tab' then 'ctrl+i' to bring up the add counters dialog box. Here you'll find a list of all the possible perfmon requests you can make in your plugin. Then write SNMAgent\plugins\pluginname.cfg as what your plugin's config request should reply with.
Does not work perfectly out-of-the-box; you will need to edit plugins/eth0.ini to make the interface name match what's in perfmon.msc. You may also need to type 'net start SNMAgent' at a command prompt to get the service started after installing.
Sample Useful Perfmon Counters
... ( this is list is incomplete. This is a wiki, so add your best guesses here. I got these out of an O'Reilly book about MS Exchange ) ...
- \Logical Disk(driveletter:)\% Free Space
- \Logical Disk(driveletter:)\% Disk Time
- \Physical Disk(driveletter:)\Current Disk Queue Length
- \Memory\Available MBytes
- \Paging File\% Usage
- \Network Interface(connection name)\Bytes Received/sec
- \Network Interface(connection name)\Bytes Sent/sec
- \Server\Work Item Shortages
- \Server Work Queues\Queue Length
- \System\Processor Queue Length