Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 

ASR9000 Monitoring Power Supply Information via SNMP

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

Version history
Revision #:
1 of 1
Last update:
‎12-22-2011 06:20 AM
Updated by:
 
Labels (1)
Comments
New Member

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 ?

              

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

New Member

Hi Xander,

                Yeah, I got it. Thank you.

New Member

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 ?

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

New Member

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 ]

Cisco Employee

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

New Member

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

New Member

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

New Member

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.

Cisco Employee

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

P = V * I right?

cheers

xander

New Member

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

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

New Member

Thanks a lot Xander!

 

Regards

 

Diego

New Member

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)

 

 

 

 

Cisco Employee

well total different seems a bit of an overstatement, no? 8% difference.

thing is the cli gets the actual read from the hardware instantly, snmp gets it from cached (so periodic updated) ones so the fact that there is some fluctuation is not unexpected.

this falls for me within the realm of acceptable.

"fixing" this with hw reads every time an snmp query comes in comes along with a significant scale impact, hence the caching layers put in for better performance etc.

 

xander

New Member

True, 8% might be a fluctuation. But whe I try to read 0/PM1 i get really weird results:

 

ENTITY-MIB::entPhysicalName.2237736 = STRING: module 0/PM1/SP
ENTITY-MIB::entPhysicalName.15858003 = STRING: capacity 0/PM1/SP
ENTITY-MIB::entPhysicalName.21657197 = STRING: power-module 0/PM1/SP
ENTITY-MIB::entPhysicalName.32635680 = STRING: voltage 0/PM1/SP
ENTITY-MIB::entPhysicalName.49413261 = STRING: current 0/PM1/SP
ENTITY-MIB::entPhysicalName.60443482 = STRING: slot 0/PM1

 

Voltage:

CISCO-ENTITY-SENSOR-MIB::entSensorValue.32635680 = INTEGER: 54012

 

Amps:

CISCO-ENTITY-SENSOR-MIB::entSensorValue.49413261 = INTEGER: 19750

So, when I calculate the capacity:

 

54V * 19,8A = 1069,2W

The output from the show command:

 

R/S/I           Power Supply    Voltage         Current
                (W)             (V)             (A)
 0/PM0/*        1060.8          54.4            19.5
 0/PM1/*         528.2          53.9             9.8
--------------
Total:  1589.0

 

This result seems to match PM0 instead of PM1.

 

 

 

Cisco Employee

that I agree with Robert, it seems to return values from different module.

not knowing what version you have there, I see quite a few fixes there:

CSCur52091: 5.3.0: SNMP-CLI mismatch for entSensorThresholdValue

CSCus78773: 5.3.1:wrong display of 2 instances of line_8 voltage sensor in CLI

CSCuu69614: 5.3.0:FC2 entSensorThresholdEvaluation is improper for voltage sensors

you could try a reseat of the power modules so they reindex or a process restart of the invmgr to try and alleviate this issue.

regards

xander

New Member

Hi Xander,

 

It seems to be limited to one router, other routers show the correct values for their power supplies. I have a different question though:

 

When trying to monitor the power usage for a linecard in my router I can't find an entry for the LC voltage and current. I do find several entries for the voltage:

 

ENTITY-MIB::entPhysicalName.6752423 = STRING: voltage 0/2/0

 

ENTITY-MIB::entPhysicalName.23530036 = STRING: voltage 0/2/0

ENTITY-MIB::entPhysicalName.40309205 = STRING: voltage 0/2/0

 

These values are way too low, around 2V, so I think I've got the wrong entries. Do you have any experience with monitoring the power consumption for a LC?

 

Cisco Employee

yeah yu mean the actual LC draw right?

I dont believe that is in the mib, but you could walk it to see if the actual instances from this admin show env power:

R/S/I           Power Draw      Voltage         Current
                (W)             (V)             (A)
   0/0/*         519.3          54.1             9.6
   0/2/*         731.6          53.8            13.6


are in there, dont believe they are.

the low voltage points you see are the sensors next to some of the asics and cpu's to measure the voltage at their inlets, not necessary to monitor those.

cheers

xander

Hey Alex, how are you doing?

Well, I'm not sure if here is the best place for making this question but where do I find the MIB/OID to monitor the temperature of  ASR-9000V module?

Thanks in advance,

Renato Reis

Cisco Employee

there is no specific MIB for satellite environmental monitoring. CISCO-ENTITY-FRU-CONTROL-MIB is the MIB to use.

/Aleksandar

Thank you so much Alek !

New Member

Dear Alex,

Support required : Failed to Read Power/Voltage Reading using these MIB's( CISCO-ENTITY- SENSOR-MIB) and                        (CISCO-ENTITY-FRU-CONTROL-MIB)

I am first time configuring SNMP-v2  in Cisco Switch. 

My Switch Details: Cisco IOS Software, C2960X Software (C2960X-UNIVERSALK9-M), Version 15.2(2)E6, RELEASE SOFTWARE (fc1).

I downloaded All SNMP v2 MIB's related to  this switch from Cisco Web site and loaded into I-Reasoning MIB Browser.

I am able to query few other OID like temperature and they are showing correct values.But i can't able to query Volatge/Power consumption from these MIB's ( CISCO-ENTITY-SENSOR-MIB) and (CISCO-ENTITY-FRU-CONTROL-MIB)

Kindly help me to resolve this issue.

Thanks,

Prasad

Cisco Employee

hi Prasad,

not all platforms have the same capabilities when it comes to reading environmental information. This document was written for the ASR9000 platform. Cisco2960X is a L2 switch that doesn't have the same capabilities as Service Provider grade products like ASR9000. If you have loaded the latest available IOS release for your c2960X, the information that you have obtained is very likely all that this platform can provide.

hope this helps,

Aleksandar

New Member

Dear Alex,

Thanks for quick response. This information will surely helpful to me and this info also saved my time a lot.

Thank you very much.