Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

ResourceMonitorSNMPSubagent Documentation



The purpose of this project is to enable ResourceMonitor to be remotely accessed/managed through SNMP protocol. For more information regarding ResourceMonitor, see below.


ResourceMonitor provides a consistent programming access to statistics and create threshold, watermark, leakybucket monitors for any instrumented subsystem in the Linux operating system.

Directory Structures



This file defines all the operations can be applied towards ResourceMonitor, including:


In order to use SNMP to control the ResourceMonitor, the subagent has to act like a proxy between the main SNMP agent and the ResourceMonitor or Event daemon. The subagent talks to ResourceMonitor through their APIs. The communication between subagent and SNMP can be of many things, SMUX, AgentX, or a proxy agent.

Since UCD-SNMP is the de facto standard in Linux distributions, we decide to use it as the development platform. The real version of UCD-SNMP we developed on is UCD-SNMP 4.2.5. And the subagent protocol we used is AgentX. The basic idea is very simple.

  1. Define the MIB file that is needed by ResourceMonitor and Linux Event Log,
  2. Use mib2c that comes with UCD-SNMP to generate subagent skeleton code,
  3. Implement the subagent. Do some coding here.

RMClient library

RMClient is a library that contains all the code necessary to maintain the MIB tables, talking to ResourceMonitor and Linux Event Log Daemon, and sending out SNMP traps when events occur. Please refer to the Doxygen output for the class structures.


  1. run the aaaa script inside src/config directory. This takes care of aclocale, autoheader, autoconf, automake.
  2. ./configure; make


The following are some easy steps to get you going. Once you know what you are doing, you can always tweak this to fit your needs.

  1. Make sure both ResourceMonitor and Evlog are installed.
  2. Make sure you have UCD-SNMP installed. UCD-SNMP 4.2.5 prefered.
  3. Copy all 3 mibs inside MIB directory to your system MIBs location, normally, /usr/share/snmp/mibs, or /usr/local/share/snmp/mibs.
  4. Copy the snmpd.conf.example file to /etc/snmp/snmp.conf.
  5. /etc/rc.d/init.d/snmp restart
  6. run the subagents in resmon directory, namely, the rmSubagent.
  7. do "export MIBS=ALL"
  8. run "snmpwalk localhost public ResourceMonitor" If everything goes well, you should see some output.

Generated on Tue Sep 10 16:46:32 2002 for ResourceMonitorSNMPSubagent by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002