Simple Network Management Protocol (SNMP) is a key technology to manage networks of any size. Virtually all operating systems such as Cisco routers, Linux servers, Extreme switches, and Windows desktop support SNMP. Devices that support SNMP run an SNMP agent that is usually built into the operating system to store information about the device in a tree-like structure. For additional details, see the SNMP topic.
This topic describes how to enable SNMP devices to send SNMP data to SevOne NMS. This workflow is outside of the SevOne NMS application and may not present all of the steps your network requires to enable devices to send SNMP data. If the following instructions are not applicable for your network please reference the device manufacturer's documentation.
Related SevOne NMS workflows include the following.
The Device Manager provides access to the New Device page and the Edit Device page where you enable the SNMP plugin for a device.
The Object Types page enables you to view details for the SNMP object types and indicator types the SNMP plugin polls in your network.
The Object Subtype Manager enables you to view details for the SNMP object subtypes the SNMP plugin polls in your network.
The MIB Manager enables you to add and manage the MIBs from which you select the OIDs.
The SNMP OID Browser enables you to select the OIDs to define SNMP object types and SNMP trap events.
The Indicator Type Map page enables you to enable or disable the device-specific indicators you want the SNMP plugin to poll.
Enter this command to enable SNMP on a Cisco router.
router(config)
# snmp-server community <YourReadCommunityStringHere> ro
router(config)
# snmp-server community <YourWriteCommunityStringHere> rw
router(config)
# snmp-server location <Your location here>
router(config)
# snmp-server contact <yourAdmin@yourServer.com>
Enter this command to verify the operation.
router(config)
# show snmp
SevOne NMS uses the following version-specific SNMP commands during device discovery.
Operation |
v1 |
v2c |
v3 |
GET SevOne NMS queries a network device for a single parameter. |
SNMP_MSG_GET |
||
SET SevOne NMS queries a parameter and all of its conceptual children from a device. |
SNMP_MSG_SET |
||
WALK |
SNMP_MSG_GETNEXT |
SNMP_MSG_GETBULK |
SNMP_MSG_GETBULK |
Non-repeaters |
- |
0 |
|
Max-repetitions |
- |
20 |
|
Timeout Default timeout in seconds for all operations after which SevOne NMS is to give up on a request. |
3 |
||
Retries Number of times SevOne NMS retries a request. |
2 |
SNMP MIBs and OIDs
Each entry in the SNMP structure is a series of numbers, such as .1.3.6.1.2.1.1.1. As you read the number, each number to the right is more specific than the number to its left. Each number to the right is thought of as a child of the number to its left. A string of such numbers is known as an Object Identifier (OID) because it defines a unique identifier for a particular thing, or object.
Management Information Bases (MIBs) define textual names for OIDs. Manufacturers tend to have their own MIBs to describe specific things about their systems.
The name of the OID .1.3.5.1.2.1.1.1 is sysDescr. This OID is used for the system description of a device.
The textual name of an OID is only unique in the MIB to which it belongs so OIDs are accurately written as follows:
<MIB Name>::<OID name>
The following is a sample SNMP walk of the RFC1213 MIB for a particular device to illustrate what a sample SNMP walk may look like.
RFC1213-MIB::ifIndex.1 = INTEGER: 1
RFC1213-MIB::ifIndex.2 = INTEGER: 2
RFC1213-MIB::ifIndex.8 = INTEGER: 8
RFC1213-MIB::ifDescr.1 = STRING:
"Ethernet3/0"
RFC1213-MIB::ifDescr.2 = STRING:
"Serial3/0"
RFC1213-MIB::ifDescr.8 = STRING:
"Loopback0"
RFC1213-MIB::ifType.1 = INTEGER: ethernet-csmacd(6)
RFC1213-MIB::ifType.2 = INTEGER: frame-relay(32)
RFC1213-MIB::ifType.8 = INTEGER: softwareLoopback(24)
RFC1213-MIB::ifSpeed.1 = Gauge32: 10000000
RFC1213-MIB::ifSpeed.2 = Gauge32: 1544000
RFC1213-MIB::ifSpeed.8 = Gauge32: 4294967295
RFC1213-MIB::ifPhysAddress.1 = Hex-STRING: 00 30 80 F3 1F F1
RFC1213-MIB::ifPhysAddress.2 =
""
RFC1213-MIB::ifPhysAddress.8 =
""
RFC1213-MIB::ifAdminStatus.1 = INTEGER: up(1)
RFC1213-MIB::ifAdminStatus.2 = INTEGER: up(1)
RFC1213-MIB::ifAdminStatus.8 = INTEGER: up(1)
RFC1213-MIB::ifOperStatus.1 = INTEGER: up(1)
RFC1213-MIB::ifOperStatus.2 = INTEGER: down(2)
RFC1213-MIB::ifOperStatus.8 = INTEGER: up(1)
RFC1213-MIB::ifInOctets.1 = Counter32: 1890978658
RFC1213-MIB::ifInOctets.2 = Counter32: 0
RFC1213-MIB::ifInOctets.8 = Counter32: 0
RFC1213-MIB::ifInDiscards.1 = Counter32: 85
RFC1213-MIB::ifInDiscards.2 = Counter32: 0
RFC1213-MIB::ifInDiscards.8 = Counter32: 0
RFC1213-MIB::ifOutOctets.1 = Counter32: 2071381140
RFC1213-MIB::ifOutOctets.2 = Counter32: 0
RFC1213-MIB::ifOutOctets.8 = Counter32: 2819292
RFC1213-MIB::ifOutDiscards.1 = Counter32: 0
RFC1213-MIB::ifOutDiscards.2 = Counter32: 0
RFC1213-MIB::ifOutDiscards.8 = Counter32: 0
All of these OIDs refer to three interfaces, identified by the final number of each OID; in this case 1 (for "Ethernet3/0"), 2 (for "Serial3/0"), and 8 (for "Loopback0"). The information about each particular interface is interleaved with that of the others.
Perform the following steps to find out whether Ethernet3/0 is up or down.
Search every ifDescr entry until you find the one whose value matches Ethernet3/0.
Make a note of the index number (the last number) for the Ethernet3/0 ifDescr entry.
Check the value for the ifOperStatus that uses that index.
SevOne NMS groups OIDs under the guise of an object. An object is defined by an index value (1, 2, or 8 in the previous example), and may have multiple OIDs which each use the object's index to resolve their values. Each of the OIDs under an object is known as an indicator.
To use the previous example, SevOne NMS conceptually creates an object outlined as below.
Object
Index: 1
Indicators
RFC1213-MIB::ifIndex
RFC1213-MIB::ifDescr
RFC1213-MIB::ifType
RFC1213-MIB::ifSpeed
RFC1213-MIB::ifPhysAddress
RFC1213-MIB::ifAdminStatus
RFC1213-MIB::ifOperStatus
RFC1213-MIB::ifInOctets
RFC1213-MIB::ifInDiscards
RFC1213-MIB::ifOutOctets
RFC1213-MIB::ifOutDiscards
Each interface object typically has the same definition but a different index value, therefore, all interfaces to the system are closely related. SevOne NMS monitors every SNMP item that is part of an object.
SNMP version 2 is in common use and includes 64-bit counters and newer MIBs. SNMP version 3 is newer but is not widely supported and you should use SNMP version 1 only when necessary.
You may not see an interface because SevOne NMS cannot SNMP walk the device due to an incorrect community string. Perform the following steps to verify the SNMP community strings for the device are correct.
Go to the Device Manager.
Click Next to the device to display the Edit Device page.
On the SNMP plugin, verify the community string and SNMP version are correct.
If they are correct, log on to the device and enter this command to walk the device: snmpwalk -v<version> -c<community string> <ip address> (If the SNMP version is 2, use "2c" for the version.)
If the command fails, then SevOne NMS cannot SNMP walk the device. Try to walk the device from another location to ensure that the device is properly configured.
Common reasons for not being able to SNMP walk a device include:
Routing - There is no route from SevOne NMS to the device.
Firewall - A router between SevOne NMS and the device blocks SNMP traffic.
The Cluster Manager > Cluster Settings tab enables you to synchronize the object state in SevOne NMS with the operational and/or administrative enable/disable (up/down) state on the actual device.
The SNMP plugin on the Edit Device page enables you to select from the following options to synchronize the interface administrative status and to synchronize the interface operational status:
Select Auto to use the Cluster Manager > Cluster Settings tab setting for object synchronization (administrative state and operational state).
Select On to override the Cluster Manager to disable and hide the administratively/operationally down interfaces and to enable and show the administratively/operationally up interfaces.
Select Off to override the Cluster Manager to take no action in regards to enabling or disabling objects based on their administrative/operational status.
SevOne NMS collects all traps and provides a collection of common trap events. Traps that have a corresponding trap event appear on the Logged Traps page and traps that do not have a corresponding trap event appear on the Unknown Traps page. The Unknown Traps page provides a Configure Trap Event button to provide access to the Trap Event Editor where you configure traps for your network.
If you think you should receive an alert on a trap from a device, go to the Unknown Traps page and use the filters to search by the IP address of the device.
If a trap does not resolve to an OID name, then the OID for the trap is not included in SevOne NMS. The trap is still processed and appears as an OID number instead of a name.