A little sample snmp module for Oracle VM Server 3.2
By wcoekaer on Aug 22, 2013
The little snmp module I added exposes a few extra Oracle VM specific objects. To start with I basically looked at the data you can see on the local console of the server (version, cluster state, management uuid,...). I created a custom MIB (falls in the oracle enterprise oid range ( 22.214.171.124.126.96.36.199.1.1 – 188.8.131.52.184.108.40.206.1.13 )) and packaged it all up in a little RPM (ovs-snmp.rpm) that can be installed in dom0.
ovs-snmp is an extension to net-snmp. It is a dynamically loadable module that allows extra bits to be monitored in dom0 that are specific to Oracle VM. Once the RPM is installed, snmpd.conf must be updated to load the module at start of snmpd. When you restart the snmpd service, you then have access to an extra MIB.
This extra MIB is documented in /usr/share/snmp/mibs/OVS-MIB.txt The raw oid range for the OVS extension is from 220.127.116.11.18.104.22.168.1.1 – 22.214.171.124.126.96.36.199.1.13. The module also contains a trap at 188.8.131.52.184.108.40.206.2.0. The trap is defined around ovsAgentState (Running/Stopped) and will allow an admin to monitor the state of the Oracle VM Server agent which is a critical component of every server installed and get a notification from the snmpd.
If you copy the OVS-MIB.txt file over to another regular server and put the file in the same directory (/usr/share/snmp/mibs) then you can use the text version instead of the raw oid numbers. For instance : 220.127.116.11.18.104.22.168.1.1 is the same as : ORACLE-OVS-MIB::ovsType. This is more humanly readable.
The following set of attributes are defined in the MIB :
ovsType : Oracle VM Server ovsVersion : Version of Oracle VM Server installed ovsMaster : Master node in serverpool? ovsClusterState : Cluster configured / online? ovsClusterType : NFS or Lun based ovsClusterStorage : the nfs mount or lun used for the server pool filesystem ovsManagerUUID : UUID of the Oracle VM Manager instance ovsServerpoolName : serverpool name this server is a member of (or None) ovsServerpoolIP : Virtual IP address of the serverpool master ovsAgentState : Agent running or stopped ovsFreeMemory : free memory available for Virtual Machines on this server ovsHostname : hostname as known by the Oracle VM Manager instance vmTable : table with an index listing all the currently running VMs columns -> vmIndex, vmType
example snmpd.conf file:
# more /etc/snmp/snmpd.conf rocommunity public syslocation "hq" dlmod ovs /usr/lib64/ovs-snmp/ovs.so
Some examples :
# snmpwalk -v 1 -c public -O e localhost ORACLE-OVS-MIB::ovsAgentState ORACLE-OVS-MIB::ovsAgentState.0 = STRING: Running # snmpwalk -v 1 -c public -O e localhost 22.214.171.124.126.96.36.199.1.1 SNMPv2-SMI::enterprises.188.8.131.52.0 = STRING: "Oracle VM Server "You can download the rpm from MOS, bug number is 17344092. At this point it's provided as-is, tech preview. Once I get some feedback on it we will consider integrating this.