cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
24942
Views
5
Helpful
29
Comments
xthuijs
Cisco Employee
Cisco Employee

Overview

Monitoring Power-supplies is done using the ENTITY-MIB (RFC-2737) and MIBs which extend/supplement the ENTITY-MIB.  The ENTITY-MIB’s entPhysicalTable defines the MIB identifierfor an inventory item, entPhysicalIndex, which is used by the other MIBs extending ENTITY-MIB information.

The relevant Cisco extensions to the ENTITY-MIB supported:

  • CISCO-ENTITY-FRU-CONTROL-MIB
  • CISCO-ENTITY-SENSOR-MIB

MIB Details

NOTE:  In XR Power Supply information is considered “admin” restricted information which is therefore only accessible via community-strings/usernames configured with the “SystemOwner” keyword, ie. “snmp-server community adminLevelCommStr RO SystemOwner” (then poll with “adminLevelCommStr” as community-string).

ENTITY-MIB

Use the entPhysicalTable to determine the physical hierarchy of entities.  The entPhysicalTable maps entPhysicalIndex values to the other identifying information for each physical entity modeled in the system.  The hierarchy of entities is learned using the following objects:

Object Name

Description

entPhysicalClass

Indicates the generic type of entity being modeled.

entPhysicalContainedIn

Indicates the parent entity for the entity being modeled.

entPhysicalParentRelPos

Indicates the position number of the entity within its parent entity   relative to other entities of the same class.

entPhysicalTable Hierarchy for ASR9K Power-Supply Entities

The entity hierarchy visualization:

Entity Hierarchy Visualization for Power Supplies with Entity Details

Entity Hierarchy Output Format:

   |

   <<entPhysicalClass>>

   |

   +-->[entPhysicalParentRelPos]   entPhysicalIndex : "entPhysicalName"

       |                                              "entPhysicalDescr"

       |                                              "entPhysicalVendorType"

       |

      ... hierarchy of children (entPhysicalContainedIn == entPhysicalIndex)

|

<<chassis>>

|

+-->[ -1]  24555730 : "chassis ASR-9010-AC"

    |            "ASR-9010 AC Chassis"

    |            "cevChassisASR9010AC"

    |

    <<container>>

    |

    |

    +-->[ 12]  43665869 : "slot 0/PM0"

    |   |            "Cisco ASR9K AC Power Entry Module Container"

    |   |            "cevContainerASR9KPowerSupplySlotAC"

    |   |

    |   <<powerSupply>>

    |   |

    |   +-->[  0]  66531208 : "power-module 0/PM0/SP"

    |       |            "3kW AC Power Module"

    |       |            "cevPowerSupplyASR9KAC3KW"

    |       |

    |       <<module>>

    |       |

    |       +-->[  0]  19750579 : "module 0/PM0/SP"

    |           |            "Power-Module host "

    |           |            "cevModuleASR9KHost"

    |           |

    |           <<sensor>>

    |           |

    |           +-->[  0]  20133606 : "capacity 0/PM0/SP"

    |           |                "Power Module Capacity Sensor"

    |           |                "cevSensor.71"

    |           |

    |           +-->[  1]  3355929 : "voltage 0/PM0/SP"

    |           |                "Power Module Voltage Sensor"

    |           |                "cevSensor.72"

    |           |

    |           +-->[  2]  53687180 : "current 0/PM0/SP"

    |                            "Power Module Current Sensor"

    |                            "cevSensor.73"

    |

    +-->[ 13]  60443482 : "slot 0/PM1"

    |                "Cisco ASR9K AC Power Entry Module Container"

    |                "cevContainerASR9KPowerSupplySlotAC"

    |

    +-->[ 14]  10110611 : "slot 0/PM2"

    |                "Cisco ASR9K AC Power Entry Module Container"

    |                "cevContainerASR9KPowerSupplySlotAC"

    |

    +-->[ 15]  26888288 : "slot 0/PM3"

    |                "Cisco ASR9K AC Power Entry Module Container"

    |                "cevContainerASR9KPowerSupplySlotAC"

    |

    +-->[ 16]  43667457 : "slot 0/PM4"

    |                "Cisco ASR9K AC Power Entry Module Container"

    |                "cevContainerASR9KPowerSupplySlotAC"

    |

    +-->[ 17]  60445166 : "slot 0/PM5"

                     "Cisco ASR9K AC Power Entry Module Container"

                     "cevContainerASR9KPowerSupplySlotAC"

CISCO-ENTITY-FRU-CONTROL-MIB

Using the info from the entPhysicalTable the information from the CISCO-ENTITY-FRU-CONTROL-MIB can be obtained with the appropriate entPhysicalIndex values for the entities of concern.

Power Supply Power Status Info

Object Name

Description

cefcFRUPowerAdminStatus

Power Administrative status of the entity

cefcFRUPowerOperStatus

Power Operational Status of the entity

cefcFRUCurrent

Current supplied by the entity – positive values indicate   power-supplied by the entity; negative values indicate current required to   operate the entity.

Example Output for Power Supply entities:

cefcFRUPowerAdminStatus.66531208 = on(1)

cefcFRUPowerOperStatus.66531208 = on(2)

cefcFRUCurrent.66531208 = 3000

CISCO-ENTITY-SENSOR-MIB

For power supply sensors the entSensorValueTable is supported to indicate the value of the sensors.  The entSensorThresholdTable is not supported for ASR9K power-supply sensors.

Example Output for Power Supply Sensors

For 20133606 : "capacity 0/PM0/SP"

entSensorType.20133606 = watts(6)

entSensorScale.20133606 = units(9)

entSensorPrecision.20133606 = 0

entSensorValue.20133606 = 3000

entSensorStatus.20133606 = ok(1)

entSensorValueTimeStamp.20133606 = 00:00:00.00

entSensorValueUpdateRate.20133606 = 0

For 3355929 : "voltage 0/PM0/SP"

entSensorType.3355929 = voltsDC(4)

entSensorScale.3355929 = milli(8)

entSensorPrecision.3355929 = 0

entSensorValue.3355929 = 54350

entSensorStatus.3355929 = ok(1)

entSensorValueTimeStamp.3355929 = 00:00:00.00

entSensorValueUpdateRate.3355929 = 0

For 53687180 : "current 0/PM0/SP"

entSensorType.53687180 = amperes(5)

entSensorScale.53687180 = milli(8)

entSensorPrecision.53687180 = 0

entSensorValue.53687180 = 25600

entSensorStatus.53687180 = ok(1)

entSensorValueTimeStamp.53687180 = 00:00:00.00

entSensorValueUpdateRate.53687180 = 0

Comments
manuv1984
Level 1
Level 1

Hi Xander,

              Thanks for making such a wonderful document. In SNMP V3, we have only user name based authentication instead of community string as in V1 and V2. Even though why they have given "community-string" in this syntax  along with v3 also ?

              

xthuijs
Cisco Employee
Cisco Employee

Thank you!

Its part of the CLI description in the documentation, obviously in v3 the community string has no signficance and if you check the parser help it is not presented as an option either:

RP/0/RSP0/CPU0:A9K-BNG(config)#snmp-server host 1.1.1.1 version 3 ?

  auth    Using authNoPriv Security Level

  noauth  Using noAuthNoPriv Security Level

  priv    Using authPriv Security Level

similarly, when you provide the community, the version is assumbed to be not 3:

RP/0/RSP0/CPU0:A9K-BNG(config)#snmp-server host 1.1.1.1 test ?

  udp-port  udp port to which notifications should be sent

  <cr>

xander

manuv1984
Level 1
Level 1

Hi Xander,

                Yeah, I got it. Thank you.

shiras k a
Level 1
Level 1

Hi Alexander & friends,

                     I also felt the same doubts when I read it first time. Let me know how can I configre snmp engine id manually. From  where can i get the engine-id for manual configuration. Why engine-id is very important in snmp ?In the command : snmp-server engineID local engine-id , where can I get the ID ?

xthuijs
Cisco Employee
Cisco Employee

Shiras:

The SNMP engine ID is a unique string used to identify the device for  administration purposes. You do not need to specify an engine ID for the  device; a default string is generated using Cisco's enterprise number  (1.3.6.1.4.1.9) and the mac address of the first interface on the  device. For further details on the SNMP engine ID, see RFC 2571.

If you wish to specify your own ID, note that you need not specify the  entire 24-character engine ID if it contains trailing zeros. Specify  only the portion of the Engine ID up until the point where only zeros  remain in the value.

xander

shiras k a
Level 1
Level 1

Thanks Xander. I am aading the same "from can I get the engine ID ? ". As per my best level of knowledge snmp v1 and v2 won't support encryption. But in the command CCO, they have given like this. Can I get the options v1 and v2 if I select "encryption". Please make sure which is right?

snmp-server host address [clear| encrypted] [informs] [traps] [version {1| 2c| 3 {auth| noauth| priv}}]

community-string [udp-port port] [ notification-type ]

xthuijs
Cisco Employee
Cisco Employee

that "encrypted" just refers to the way the community string is saved in the configuration.

shiras k a
Level 1
Level 1

Yaah, So according to you we can use this keyword with SNMP v2 also.

Chris Mason
Level 1
Level 1

Hi,

Very good article on how to probe the power supplies on the ASR 9010, but is it possible to obtain the current power drain as opposed to the capacity of the PEM?

i.e. the following values:

RP/0/RSP0/CPU0:Router# admin show environment power-supply

R/S/I   Power Draw      Voltage         Current

        (W)             (V)             (A)

0/PM0/* 553.8           54.3            10.2

0/PM1/* 464.4           54.0            8.6

0/PM2/* 1104.1          53.6            20.6

--------------

Total:  2122.3

Thanks,

Chris

Chris Mason
Level 1
Level 1

I have sorted it, I was looking for Watts, but I am able to obtain Current and Voltage and then deduce Watts from Ohms law.

xthuijs
Cisco Employee
Cisco Employee

Hi Chris, yeah that was going to be my recommendation, thanks for letting me know.

P = V * I right?

cheers

xander

diego.macedo
Level 1
Level 1

Hi Chris and Xander,

 

I'm looking for the power oid too but I can't find the watts, nor the voltage nor the Current... Can you send me the oid's?

 

King Regards

 

Diego

xthuijs
Cisco Employee
Cisco Employee

hi diego, this:

For 53687180 : "current 0/PM0/SP"

entSensorType.53687180 = amperes(5)

entSensorScale.53687180 = milli(8)

entSensorPrecision.53687180 = 0

entSensorValue.53687180 = 25600

entSensorStatus.53687180 = ok(1)

you first need to get the entity mib to see what the instance value is for the sensor (PM) that you want to measure obviously.

and also you want to make sure the sysowner is configured on the community otherwise it would be abel to read it.

cheers!

xander

diego.macedo
Level 1
Level 1

Thanks a lot Xander!

 

Regards

 

Diego

robertbeumer
Level 1
Level 1

Hi Xander,

 

When trying to calculate the actual power consumption, I get values that do not correspond to the CLI. The OID's:

 

ENTITY-MIB::entPhysicalName.3355929 = STRING: voltage 0/PM0/SP
ENTITY-MIB::entPhysicalName.19750579 = STRING: module 0/PM0/SP
ENTITY-MIB::entPhysicalName.20133606 = STRING: capacity 0/PM0/SP
ENTITY-MIB::entPhysicalName.43665869 = STRING: slot 0/PM0
ENTITY-MIB::entPhysicalName.53687180 = STRING: current 0/PM0/SP
ENTITY-MIB::entPhysicalName.66531208 = STRING: power-module 0/PM0/SP

 

So I fetch the current for 0/PM0/SP:

 

CISCO-ENTITY-SENSOR-MIB::entSensorValue.53687180 = INTEGER: 21250
21250 mA = 21,25A

 

And the voltage:

CISCO-ENTITY-SENSOR-MIB::entSensorValue.3355929 = INTEGER: 54270
54270 mV = 54,27V

 

So if you multiply those to calculate the capacity:

 

54,27V * 21,25A = 1153 Watt

 

"admin show env power" shows very different values for 0/PM0/SP (around 19A and in total 1060W)

 

 

 

 

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links