[nsp] VIP CPU utilization measurement in 7500s?

Simon Leinen simon at limmat.switch.ch
Thu Feb 27 21:43:43 EST 2003


On Thu, 27 Feb 2003 10:52:53 -0600, Edward Henigin <ed at staff.texas.net> said:
> Cisco exposes the CPU utilization values for the VIPs via SNMP,
> but I'll be a monkey's uncle if I can figure out how to correlate
> the SNMP table indexes to the actual VIP indexes.  This blows my
> mind.  Why even bother implementing the sampling via SNMP if you
> provide NO way of knowing which value corresponds to which card?
> Unless I'm missing something, of course :)

Basically, the MIB that has the per-VIP CPU usage (CISCO-PROCESS-MIB)
describes the following potentially helpful column in cpmCPUTotalTable:

cpmCPUTotalPhysicalIndex OBJECT-TYPE
	SYNTAX	        EntPhysicalIndexOrZero
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
		"The entPhysicalIndex of the physical entity for which
		 the CPU statistics in this entry are maintained.
		 The physical entity can be a CPU chip, a group of CPUs,
		 a CPU card etc. The exact type of this entity is described by
		 its entPhysicalVendorType value. If the CPU statistics
		 in this entry correspond to more than one physical entity
		 (or to no physical entity), or if the entPhysicalTable is
		 not supported on the SNMP agent, the value of this object
		 must be zero."
	::= { cpmCPUTotalEntry 2 }

So you should be able to use the ENTITY-MIB to associate these indexes
with the physical component that has the CPU, i.e. a VIP in a specific
slot.  So far I hadn't found a version of IOS that implements this as
described.  Either the ENTITY-MIB wasn't implemented at all, or it is
implemented but the cpmCPUTotalPhysicalIndex columns were still zero.

But now that I try this again on a test router running 12.0(24)S, I
see positive cpmCPUTotalPhysicalIndex values.  So finally they fixed
it, cool!(*) Let's try this using Net-SNMP:

    $ snmpwalk swiEL1.switch.ch cpmCPUTotalPhysicalIndex
    CISCO-PROCESS-MIB::cpmCPUTotalPhysicalIndex.1 = 9
    CISCO-PROCESS-MIB::cpmCPUTotalPhysicalIndex.2 = 16
    CISCO-PROCESS-MIB::cpmCPUTotalPhysicalIndex.3 = 19
    $ snmpget swiEL1.switch.ch entPhysical{ModelName,Name}.{9,16,19}
    ENTITY-MIB::entPhysicalModelName.9 = RSP2
    ENTITY-MIB::entPhysicalModelName.16 = VIP2-50
    ENTITY-MIB::entPhysicalModelName.19 = VIP2
    ENTITY-MIB::entPhysicalName.9 = RSP at Slot 2
    ENTITY-MIB::entPhysicalName.16 = Line Card 4
    ENTITY-MIB::entPhysicalName.19 = Line Card 5

I hope this makes it clear how you can associate the identities of
CPU-bearing cards with indexes in the cpmCPUTotalTable.

Regards,
-- 
Simon.
(*) It's somewhat funny that I discover this feature - which I had
wanted for so long - the day before our old 7500/VIP-based backbone
will be officially phased out and replaced by a 7600-based one.


More information about the cisco-nsp mailing list