Chapter 5 Monitoring Oracle VM Server with SNMP
Oracle VM Server provides support for Simple Network Management Protocol (SNMP) monitoring. Find out what SNMP applications are installed by default and learn how to get started with SNMP.
5.1 Installed SNMP Packages
The default installation of Oracle VM Server includes the NET-SNMP suite of applications. These applications allow you use the SNMP protocol to monitor Oracle VM Server.
The following SNMP packages are installed by default:
Package |
Description |
---|---|
|
SNMP agent daemon and documentation. |
|
Runtime libraries and management information bases (MIBs). |
|
Network management utilities such as snmpget and snmpwalk. |
|
SNMP shared object module that lets you monitor Oracle VM Server.
The Oracle VM Server management information base (MIB) defines
several objects that provide information about the
server and the virtual machines running on the server.
The base OID for this MIB is
Note
|
Check the installed packages as follows:
# rpm -qa | grep snmp net-snmp-5.5-xx.x.x.xxx_x.x
.x86_64 net-snmp-libs-5.5-xx.x.x.xxx_x.x
.x86_64 net-snmp-utils-5.5-xx.x.x.xxx_x.x
.x86_64 ovs-snmp-x.x-x
.el6.x86_64
See the NET-SNMP documentation for more information.
5.2 Adding the Oracle VM Server Object Module
To monitor Oracle VM Server configuration with the
ovs-snmp
shared object module, you must add
the following line to /etc/snmp/snmpd.conf
:
dlmod ovs /usr/lib64/ovs-snmp/ovs.so
The default snmpd.conf
on Oracle VM Server provides
an example configuration that you should modify to suit your
business needs. It is beyond the scope of this documentation to
describe a complete configuration for
snmpd.conf
. Refer to the
snmpd.conf
man page for more information.
From a high level, the steps to add the
ovs-snmp
shared object module to
snmpd.conf
are as follows:
-
Connect to the appropriate instance of Oracle VM Server.
-
Open
/etc/snmp/snmpd.conf
for editing. -
Add the following line:
dlmod ovs /usr/lib64/ovs-snmp/ovs.so
-
Ensure that you have read access rights in
snmpd.conf
.TipYou can temporarily add
rocommunity public
to the start ofsnmpd.conf
to allow read access from all computers on the network. -
Save and close
/etc/snmp/snmpd.conf
. -
Restart the SNMP service, if it is running.
# service snmpd restart
5.3 Enabling the SNMP Service
The SNMP daemons are disabled by default, and should be enabled if you intend to use SNMP to monitor an Oracle VM Server. You can check your configuration to determine whether the service has been enabled as follows:
# chkconfig --list |grep snmp snmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off snmptrapd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
To enable the SNMP service, you can start it manually by issuing the following command:
# service snmpd start
To enable the SNMP service permanently, you can issue the following command:
# chkconfig --level 2345 snmpd on
The Oracle VM Server MIB does not define any SNMP traps. You should
start the snmptrapd
service only if you
require it for other purposes.
5.4 How to Retrieve MIB Objects
When the SNMP service is running, you can use NET-SNMP applications to retrieve MIB objects directly from the command line on Oracle VM Server. You can also use other applications, such as Oracle Enterprise Manager, to retrieve MIB objects.
This section provides examples for demonstration purposes only. You should refer to the manpages for NET-SNMP applications or the appropriate documentation for your NMS to determine how you should retrieve MIB objects to suit your business needs.
The examples in this section:
-
Assume that you have configured the
public
community for read access. -
Use a lower security level, SNMP v2c, for access. You should configure SNMP v3 to ensure that you restrict access control to authorized users. Refer to the appropriate documentation for information on access control and security levels as well as instructions on configuring SNMP v3.
If the last line of the output contains No more
variables left in this MIB View (It is past the end of the MIB
tree)
, then you might not have read access rights in
snmpd.conf
. To resolve this issue, you can
temporarily add rocommunity public
to the
start of /etc/snmp/snmpd.conf
to allow read
access from all computers on the network.
The following example uses the snmpwalk application to return values for all objects in the MIB tree:
# snmpwalk -v2c -c public localhost SNMPv2-MIB::sysDescr.0 = STRING: LinuxFQDN
3.8.13-68.2.2.el6uek.x86_64 #2 SMPtime_stamp
x86_64 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2654) 0:00:26.54 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING:FQDN
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf) SNMPv2-MIB::sysORLastChange.0 = Timeticks: (18) 0:00:00.18 SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1 SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORDescr.1 = STRING: The MIB for Message Processing and Dispatching. SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching. SNMPv2-MIB::sysORDescr.3 = STRING: The SNMP Management Architecture MIB. SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP. SNMPv2-MIB::sysORUpTime.1 = Timeticks: (17) 0:00:00.17 SNMPv2-MIB::sysORUpTime.2 = Timeticks: (17) 0:00:00.17 SNMPv2-MIB::sysORUpTime.3 = Timeticks: (17) 0:00:00.17 SNMPv2-MIB::sysORUpTime.4 = Timeticks: (17) 0:00:00.17 SNMPv2-MIB::sysORUpTime.5 = Timeticks: (18) 0:00:00.18 SNMPv2-MIB::sysORUpTime.6 = Timeticks: (18) 0:00:00.18 SNMPv2-MIB::sysORUpTime.7 = Timeticks: (18) 0:00:00.18 SNMPv2-MIB::sysORUpTime.8 = Timeticks: (18) 0:00:00.18 ....
The following example uses the snmpwalk
application to load ORACLE-OVS-MIB
and return
values for objects in the Oracle VM Server MIB tree:
# snmpwalk -v2c -c public localhost -OQ -m +ORACLE-OVS-MIB .1.3.6.1.4.1.111.57.1 ORACLE-OVS-MIB::ovsType.0 = Oracle VM Server ORACLE-OVS-MIB::ovsVersion.0 =version
ORACLE-OVS-MIB::ovsClusterState.0 = DLM_Ready ORACLE-OVS-MIB::ovsClusterType.0 = nfs ORACLE-OVS-MIB::ovsClusterStorage.0 =hostname
:/nfs/clusterfs/path
ORACLE-OVS-MIB::ovsManagerUUID.0 = 0004fb0000010000af78ad71a2719608 ORACLE-OVS-MIB::ovsServerpoolName.0 =my-pool
ORACLE-OVS-MIB::ovsAgentState.0 = Running ORACLE-OVS-MIB::ovsFreeMemory.0 = 12766 ORACLE-OVS-MIB::vmIndex.0 = 0 ORACLE-OVS-MIB::vmIndex.1 = 1 ORACLE-OVS-MIB::vmIndex.2 = 2 ORACLE-OVS-MIB::vmType.0 = 0004fb00000600002eb4165c672efe28 ORACLE-OVS-MIB::vmType.1 = 0004fb0000060000959d078c46ec4268 ORACLE-OVS-MIB::vmType.2 = Domain-0
The following example uses the snmptable
application to retrieve the running virtual machines on Oracle VM Server
from the ORACLE-OVS-MIB::vmTable
SNMP table:
The ORACLE-OVS-MIB::vmTable
SNMP table
contains a cached value that expires after 60 seconds.
# snmptable -v 2c -c public localhost ORACLE-OVS-MIB::vmTable SNMP table: ORACLE-OVS-MIB::vmTable vmIndex vmType 0 0004fb00000600002eb4165c672efe28 1 0004fb0000060000959d078c46ec4268 2 Domain-0