EnergyWise Query with SNMP-MIBs

Document created by cdnadmin on Jan 24, 2014
Version 1Show Document
  • View in full screen mode
This document was generated from CDN thread

Created by: Luigi Borghetti on 08-02-2011 09:32:32 AM
Hello,
We need clarification about EnergyWise Query with SNMP-MIBs.
 
Enviroment:
 
- switch Cisco Catalyst 3560-E with IOS 12.2-58.0.41.SE
- endpoint connected to Catalyst on interface 7
- endpoint run RefAgent included in "cisco-energywise-toolkit v1.2-alpha 3-src.tar".
- Catalyst and endpoint communicate with EnergyWise Protocol.
- SNMP protocol is enabledon Catalyst:
 
(Configuration )
ip sla enable reaction-alerts
snmp-server community public RW
snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
snmp-server enable traps energywise
snmp-server host 172.168.11.12 public  energywise
snmp-server host 192.168.11.12 public  snmp
snmp-server host 192.168.5.178 public  snmp
snmp-server host 192.168.5.181 public  energywise
snmp-server host 192.168.11.12 read  snmp
snmp-server host 192.168.5.178 read  snmp
snmp-server host 192.168.5.178 write  snmp
snmp-server manager
 
 Problem :
 
We
want to create an application that implements SNMP protocol to allow
the communication with Catalyst and consequently with the EndPoint.
 
Through this application
we want to implement a small set of EnergyWise MIBs over SNMP protocol.
This set is  :
(CLI commands)

- show energywise children
- energywise query importance XXX name XXX collect usage
- energywise query importance XXX name XXX set level XXX
 
Our questions are related to the possibility of implementing
EnergyWise Query over SNMP protocol and how to do it:
 
 1.    Is it necessary to install a particular MIBs on Catalyst ?
 2.    Is it necessary to set a specific configuration on the Catalyst ?
 3.    Could you  provide us the OIDs needed to implement our EW queries?

Subject: RE: EnergyWise Query with SNMP-MIBs
Replied by: Brock Miller on 09-03-2011 01:44:13 PM
Hi Luigi,
 
See my answers to your specific questions below:
 
1.  You'll need to download the latest EnergyWise MIB for your application, however, the MIB itself is already available on an EnergyWise supported image.  [http://tools.cisco.com/Support/SNMP/do/BrowseMIB.do?local=en&step=2&mibName=CISCO-ENERGYWISE-MIB]
2.  All of the necessary EnergyWise configs are required for this to work.  (e.g. energywise domain config, energywise endpoint security, snmp config)
3.  You can find the specific OIDs from the website link above.  For controlling connected endpoints (SDK endpoints) via SNMP, you'll need to use the following objects:
 
cewNeighborTable - This will give you a table of connected neighbors and endpoints where the type field indicates the type.
 
For each cewNeighborEntry where type = child, you can use the cewNeighborEnergyLevel and cewNeighborConfiguredLevel to set the power level.  Additionally, the cewNeighborEnergyUsage object with provide you the power usage info.
 
Please look at the MIB and description inside for additional details about these objects.
 
cewNeighborTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CewNeighborEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists Cisco EnergyWise neighbors.
 
        Cisco EnergyWise entity reports its connection to the network 
        via a discovery protocol.  When a new Cisco EnergyWise neighbor
        is discovered, this table is updated with the new entry.  When
        the Cisco EnergyWise neighbor looses its connection,
        corresponding neighbor entry is deleted from the table."
    ::= { ciscoEnergywiseMIBObjects 9 }
 
cewNeighborEntry OBJECT-TYPE
    SYNTAX          CewNeighborEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the cewNeighborTable.
 
        An entry describes the attributes of the Cisco EnergyWise 
        neighbor, either discovered through a discovery protocol
        or has been added as a static neighbor by the management
        station."
    INDEX           { cewNeighborIndex } 
    ::= { cewNeighborTable 1 }
 
CewNeighborEntry ::= SEQUENCE {
        cewNeighborIndex                Unsigned32,
        cewNeighborId                   EnergywiseId,
        cewNeighborType                 INTEGER,
        cewNeighborHeartBeat            TimeStamp,
        cewNeighborStorage              StorageType,
        cewNeighborStatus               RowStatus,
        cewNeighborDeviceType           SnmpAdminString,
        cewNeighborKeyword              EnergywiseKeywordList,
        cewNeighborConfiguredKeyword    EnergywiseKeywordList,
        cewNeighborName                 SnmpAdminString,
        cewNeighborConfiguredName       SnmpAdminString,
        cewNeighborRoleDescription      SnmpAdminString,
        cewNeighborConfiguredRoleDesc   SnmpAdminString,
        cewNeighborEnergyLevel          EnergywiseLevel,
        cewNeighborConfiguredLevel      EnergywiseLevel,
        cewNeighborImportance           Unsigned32,
        cewNeighborConfiguredImportance Unsigned32,
        cewNeighborEnergyUnits          EnergywisePowerUnits,
        cewNeighborEnergyUsage          Unsigned32,
        cewNeighborEnergyUsageCategory  INTEGER,
        cewNeighborEnergyUsageDirection INTEGER,
        cewNeighborMacAddress           MacAddress,
        cewNeighborPhysicalEntityId     EntPhysicalIndexOrZero,
        cewNeighborParentPortIndex      EntPhysicalIndexOrZero
}


Thanks,


Brock

Attachments

    Outcomes