cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
24941
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
xthuijs
Cisco Employee
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

robertbeumer
Level 1
Level 1

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.

 

 

 

xthuijs
Cisco Employee
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

robertbeumer
Level 1
Level 1

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?

 

xthuijs
Cisco Employee
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

Renato Reis
Level 1
Level 1

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

Aleksandar Vidakovic
Cisco Employee
Cisco Employee

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

/Aleksandar

Renato Reis
Level 1
Level 1

Thank you so much Alek !

sprasad1991
Community 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

Aleksandar Vidakovic
Cisco Employee
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

sprasad1991
Community 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.

davhume
Cisco Employee
Cisco Employee

ASR9001 cXR 6.6.3 example for simplicity

#################################

 

SNMP Config for testing

!

snmp-server user PSUTEST USR-GRP-SNMP-RO-00003 v2c SystemOwner
snmp-server group USR-GRP-SNMP-RO-00003 v2c

!

 

RP/0/RSP0/CPU0:ASR9001#admin show platform

Thu Feb  2 06:16:17.180 UTC

Node            Type                      State            Config State

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

0/RSP0/CPU0     ASR9001-RP(Active)        IOS XR RUN       PWR,NSHUT,MON

0/FT0/SP        ASR-9001-FAN              READY

0/0/CPU0        ASR9001-LC                IOS XR RUN       PWR,NSHUT,MON

0/0/0           A9K-MPA-20X1GE            OK               PWR,NSHUT,MON

0/0/1           A9K-MPA-4X10GE            OK               PWR,NSHUT,MON

0/PS0/M0/SP     A9K-750W-AC               READY            PWR,NSHUT,MON      <---- PSU 0 is only connected at this time

0/PS0/M1/SP     A9K-750W-AC               FAILED           PWR,NSHUT,MON

 

RP/0/RSP0/CPU0:ASR9001#sh snmp entity | i PS

Thu Feb  2 07:07:49.853 UTC

entPhysicalIndex:    3355929 entPhysicalName: voltage 0/PS0/M0/SP          <---- Voltage

entPhysicalIndex:   19750579 entPhysicalName: module 0/PS0/M0/SP

entPhysicalIndex:   20133606 entPhysicalName: capacity 0/PS0/M0/SP

entPhysicalIndex:   21657197 entPhysicalName: power-module 0/PS0/M1/SP

entPhysicalIndex:   43665869 entPhysicalName: slot 0/PS0/M0

entPhysicalIndex:   53687180 entPhysicalName: current 0/PS0/M0/SP         <---- Current

entPhysicalIndex:   60443482 entPhysicalName: slot 0/PS0/M1

entPhysicalIndex:   66531208 entPhysicalName: power-module 0/PS0/M0/SP

 

ade # snmpwalk -v2c -c PSUTEST 192.168.203.225 1.3.6.1.2.1.47.1.1.1 | grep -E 'Power Module|capacity|AC|PS0'

SNMPv2-SMI::mib-2.47.1.1.1.1.2.3355929 = STRING: "Power Module Voltage Sensor"         <----- Voltage

SNMPv2-SMI::mib-2.47.1.1.1.1.2.6838122 = STRING: "Voltage Sensor - VP1P8_SAC_VDDR"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.20133606 = STRING: "Power Module Capacity Sensor"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.21657197 = STRING: "ASR-9001 AC Power Supply"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.23614115 = STRING: "Voltage Sensor - VP1P0_SAC_CORE"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.23615735 = STRING: "Voltage Sensor - VP1P2_SAC_VDDT"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.40391728 = STRING: "Voltage Sensor - VP1P0_SAC_VDDA"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.43665869 = STRING: "Cisco ASR9K Power Module Container"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.53687180 = STRING: "Power Module Current Sensor"       <----- Current

SNMPv2-SMI::mib-2.47.1.1.1.1.2.57169309 = STRING: "Voltage Sensor - VP1P0_SAC_VDDD"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.60443482 = STRING: "Cisco ASR9K Power Module Container"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.66531208 = STRING: "ASR-9001 AC Power Supply"

SNMPv2-SMI::mib-2.47.1.1.1.1.7.3355929 = STRING: "voltage 0/PS0/M0/SP"

SNMPv2-SMI::mib-2.47.1.1.1.1.7.19750579 = STRING: "module 0/PS0/M0/SP"

SNMPv2-SMI::mib-2.47.1.1.1.1.7.20133606 = STRING: "capacity 0/PS0/M0/SP"

SNMPv2-SMI::mib-2.47.1.1.1.1.7.21657197 = STRING: "power-module 0/PS0/M1/SP"

SNMPv2-SMI::mib-2.47.1.1.1.1.7.43665869 = STRING: "slot 0/PS0/M0"

SNMPv2-SMI::mib-2.47.1.1.1.1.7.53687180 = STRING: "current 0/PS0/M0/SP"

SNMPv2-SMI::mib-2.47.1.1.1.1.7.60443482 = STRING: "slot 0/PS0/M1"

SNMPv2-SMI::mib-2.47.1.1.1.1.7.66531208 = STRING: "power-module 0/PS0/M0/SP"

SNMPv2-SMI::mib-2.47.1.1.1.1.13.21657197 = STRING: "A9K-750W-AC"

SNMPv2-SMI::mib-2.47.1.1.1.1.13.66531208 = STRING: "A9K-750W-AC"

 

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

Thu Feb  2 07:48:40.065 UTC

R/S/I   Modules         Capacity        Status

                        (W)

0/PS0/M0/*

        host    PM      750             Ok

 

0/PS0/M1/*

        host    PM      0               Failed

 

 

R/S/I           Power Supply    Voltage         Current

                (W)             (V)             (A)

0/PS0/M0/*       342.8          12.2            28.1

0/PS0/M1/*         0.0           0.2             0.4

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

Total:  342.8

 

Voltage:   1.3.6.1.4.1.9.9.91.1.1.1.1.4.3355929

 

ade # snmpwalk -v2c -c PSUTEST 192.168.203.225 1.3.6.1.4.1.9.9.91.1.1.1.1.4.3355929

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.3355929 = INTEGER: 12156

CLI Output : 12.2 Volts

 

Amps:   1.3.6.1.4.1.9.9.91.1.1.1.1.4.53687180

ade # snmpwalk -v2c -c PSUTEST 192.168.203.225 1.3.6.1.4.1.9.9.91.1.1.1.1.4.53687180

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.53687180 = INTEGER: 28125

CLI Output : 28.1 Amps

Ohms Law to then calculate Voltage (via manual coded equation)

Voltage (V) =      Current (I) * Resistance (R)

Power (P) =         Voltage (V) * Current (I)

 

davhume_0-1675370102948.png

 

charleyli2000
Cisco Employee
Cisco Employee

Thank you davhume, real-world example is really helpful to understand the process!

Fabian Mauchle
Level 1
Level 1

Thanks @xthuijs, nice guide.

However, it seems that the  cefcFRUPowerStatusTable is missing in recent IOS-XR versions, in particular ASR9001 running 6.8.1 or 6.9.2. 

The SystemOwner is enabled in the config:

snmp-server community [redacted] RO SystemOwner IPv4 to-VTY

 How can the power supply status be read on ASR9001 running 6.9.2?

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