RMON and SNMP Objects
There are 4 items you need to understand to tackle any RMON questions.
they are:-
RFC 1213
OLD-CISCO-CPU-MIB
OLD-CISCO-SYS-MIB
CISCO-PROCESS-MIB
Lets begin with RFC1213
Lets take the ifEntry object in RFC1213 as an example. ifEntry contains the following objects.
ifIndex { ifEntry 1 }
ifDescr { ifEntry 2 }
ifType { ifEntry 3 }
ifMtu { ifEntry 4 }
ifSpeed { ifEntry 5 }
ifPhysAddress { ifEntry 6 }
ifAdminStatus { ifEntry 7 }
ifOperStatus { ifEntry 8 }
ifLastChange { ifEntry 9 }
ifInOctets { ifEntry 10 }
ifInUcastPkts { ifEntry 11 }
ifInNUcastPkts { ifEntry 12 }
ifInDiscards { ifEntry 13 }
ifInErrors { ifEntry 14 }
ifInUnknownProtos { ifEntry 15 }
ifOutOctets { ifEntry 16 }
ifOutUcastPkts { ifEntry 17 }
ifOutNUcastPkts { ifEntry 18 }
ifOutDiscards { ifEntry 19 }
ifOutErrors { ifEntry 20 }
ifOutQLen { ifEntry 21 }
ifSpecific { ifEntry 22 }
You can see the above objects in IOS using the command
show snmp mib
If you want to refer to the number of output interface errors you can use either of the following two statements.
ifOutErrors
ifEntry.20
If you want the output interface errors for a specific interface you will need to append the interface index(ifIndex) to the above statement. To obtain the ifIndex use the command below.
show snmp mib ifmib ifindex
GigabitEthernet0/1: Ifindex = 2
Serial0/1/0: Ifindex = 4
Therefore our 2 options for monitoring output interface errors for gig0/1 become.
ifOutErrors.2
ifEntry.20.2
Now lets create a RMON alarm using the above 2 options.
option 1
rmon alarm 5 ifOutErrors.2 10 delta rising-threshold 100 1 falling-threshold 50 owner config
option 2
rmon alarm 6 ifEntry.20.2 10 delta rising-threshold 100 1 falling-threshold 50 owner config
The interesting thing to note if you use option 2 is that IOS changes the syntax to that of option 1 in the running config. See below
show run | in rmon alarm 6
rmon alarm 6 ifOutErrors.2 10 delta rising-threshold 100 1 falling-threshold 50 owner config
now lets monitor the CPU usage on a box.
For this we need to refer to the MIBs below.
OLD-CISCO-CPU-MIB
OLD-CISCO-SYS-MIB
CISCO-PROCESS-MIB
The first two MIBs ie the ones which begin with the word old refer the the CPU usage as follows:
The main object is lcpu which also known as lsystem. This object contains the following objects(I’ve only listed some of the objects below – Please see the links above for more info.
busyPer { lcpu 56 } – Monitors the CPU over a 5 second interval
avgBusy1 { lcpu 57 } – Monitors the CPU over a 1 minute interval
avgBusy5 { lcpu 58 } – Monitors the CPU over a 5 minute interval
Lets suppose we want to use RMON to monitor the cpu utilisation over a 1 minute period.
we could use any of the following to refer to the SNMP 1 minute monitoring object.
lcpu.57.0
lsystem.57.0
However when we enter the rmon alarm commands, both of the above options will show as lsystem.57.0. (If you are wondering where the .0 came from, it refers to the CPU I think, without it the rmon command wont take lsystem.57 alone.)
The SNMP MIB CISCO-PROCESS-MIB contains also contains some MIBs for monitoring the CPU (see below). It also states that it deprecates the avgBusy1 in the OLD-CISCO-SYSTEM-MIB.
cpmCPUTotal1min OBJECT-TYPE
SYNTAX Gauge32 (1..100)
MAX-ACCESS read-only
STATUS deprecated
DESCRIPTION
“The overall CPU busy percentage in the last 1 minute
period. This object obsoletes the avgBusy1 object from
the OLD-CISCO-SYSTEM-MIB. This object is deprecated
by cpmCPUTotal1minRev which has the changed range
of value (0..100).”
::= { cpmCPUTotalEntry 4 }
The tree for this object would be as follows:
cpmCPUTotalTable.1.5.0
however when I punch this into the router it doesn’t seem to like it. If anyone else has any experiences with this please share it.


No comments yet.