[collectd] SNMP polling of switch sensors (complex SNMP setup I can't figure out)

Stian Øvrevåge sovrevage at gmail.com
Thu Mar 1 13:09:38 CET 2012


Hi again,

I've somewhat found a workaround that is not making my head explode;
Simply using
ENTITY-MIB::entPhysicalName.6035 = STRING: Te6/3 Transmit Power Sensor
for Instance and pulling the data from
CISCO-ENTITY-SENSOR-MIB::entSensorValue.6035 = INTEGER: -23

I originally wanted to have all the sensors data in one file and have
them connected to the right interface but this seems a bit, impossible
right now...

Brgds,
Stian Øvrevåge

On Wed, Feb 29, 2012 at 10:24 PM, Stian Øvrevåge <sovrevage at gmail.com> wrote:
> Hi list,
>
> I have a series of Cisco switches with sensors on each port measuring
> Tx/Rx power, temperatures etc. I'm not sure however how to configure
> the SNMP plugin to poll this.
>
> My primary index for looking up data is the ifIndex, and secondarily
> the interface name.
>
> IF-MIB::ifIndex.148 = INTEGER: 148
> IF-MIB::ifDescr.148 = STRING: TenGigabitEthernet6/3
>
> There is a mapping to the physical port in the entity-mib:
>
> ENTITY-MIB::entAliasMappingIdentifier.6007.0 = OID: IF-MIB::ifIndex.148
> ENTITY-MIB::entPhysicalDescr.6007 = STRING: SFP-10Gbase-LR
> ENTITY-MIB::entPhysicalVendorType.6007 = OID:
> CISCO-ENTITY-VENDORTYPE-OID-MIB::cevSFP10GLR
> ENTITY-MIB::entPhysicalContainedIn.6007 = INTEGER: 6003
> ENTITY-MIB::entPhysicalClass.6007 = INTEGER: port(10)
> ENTITY-MIB::entPhysicalParentRelPos.6007 = INTEGER: 1
> ENTITY-MIB::entPhysicalName.6007 = STRING: TenGigabitEthernet6/3
> ENTITY-MIB::entPhysicalHardwareRev.6007 = STRING: V02
> ENTITY-MIB::entPhysicalFirmwareRev.6007 = STRING:
> ENTITY-MIB::entPhysicalSoftwareRev.6007 = STRING:
> ENTITY-MIB::entPhysicalSerialNum.6007 = STRING: XG96LR083
> ENTITY-MIB::entPhysicalMfgName.6007 = STRING: OEM
> ENTITY-MIB::entPhysicalModelName.6007 = STRING: SFP-10G-LR
> ENTITY-MIB::entPhysicalAlias.6007 = STRING:
> ENTITY-MIB::entPhysicalAssetID.6007 = STRING:
> ENTITY-MIB::entPhysicalIsFRU.6007 = INTEGER: true(1)
> ENTITY-MIB::entPhysicalChildIndex.6007.6023 = INTEGER: 6023
> ENTITY-MIB::entPhysicalChildIndex.6007.6027 = INTEGER: 6027
> ENTITY-MIB::entPhysicalChildIndex.6007.6031 = INTEGER: 6031
> ENTITY-MIB::entPhysicalChildIndex.6007.6035 = INTEGER: 6035
> ENTITY-MIB::entPhysicalChildIndex.6007.6039 = INTEGER: 6039
>
> The last rows here reference all the sensors connected to this physical port.
>
>
> For each sensor there is some info about the sensor itself, most
> importantly the name of it:
> ENTITY-MIB::entPhysicalDescr.6035 = STRING: TenGigabitEthernet6/3
> Transmit Power Sensor
> ENTITY-MIB::entPhysicalVendorType.6035 = OID:
> CISCO-ENTITY-VENDORTYPE-OID-MIB::cevSensorTransceiverTxPwr
> ENTITY-MIB::entPhysicalContainedIn.6035 = INTEGER: 6007
> ENTITY-MIB::entPhysicalClass.6035 = INTEGER: sensor(8)
> ENTITY-MIB::entPhysicalParentRelPos.6035 = INTEGER: 4
> ENTITY-MIB::entPhysicalName.6035 = STRING: Te6/3 Transmit Power Sensor
> ENTITY-MIB::entPhysicalHardwareRev.6035 = STRING:
> ENTITY-MIB::entPhysicalFirmwareRev.6035 = STRING:
> ENTITY-MIB::entPhysicalSoftwareRev.6035 = STRING:
> ENTITY-MIB::entPhysicalSerialNum.6035 = STRING:
> ENTITY-MIB::entPhysicalMfgName.6035 = STRING:
> ENTITY-MIB::entPhysicalModelName.6035 = STRING:
> ENTITY-MIB::entPhysicalAlias.6035 = STRING:
> ENTITY-MIB::entPhysicalAssetID.6035 = STRING:
> ENTITY-MIB::entPhysicalIsFRU.6035 = INTEGER: false(2)
>
> And lastly there is the sensor data itself:
> CISCO-ENTITY-SENSOR-MIB::entSensorType.6035 = INTEGER: dBm(14)
> CISCO-ENTITY-SENSOR-MIB::entSensorScale.6035 = INTEGER: units(9)
> CISCO-ENTITY-SENSOR-MIB::entSensorPrecision.6035 = INTEGER: 1
> CISCO-ENTITY-SENSOR-MIB::entSensorValue.6035 = INTEGER: -23
> CISCO-ENTITY-SENSOR-MIB::entSensorStatus.6035 = INTEGER: ok(1)
> CISCO-ENTITY-SENSOR-MIB::entSensorValueTimeStamp.6035 = Timeticks:
> (571817747) 66 days, 4:22:57.47
> CISCO-ENTITY-SENSOR-MIB::entSensorValueUpdateRate.6035 = INTEGER: 600 seconds
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdSeverity.6035.1 = INTEGER: major(20)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdSeverity.6035.2 = INTEGER: minor(10)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdSeverity.6035.3 = INTEGER: minor(10)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdSeverity.6035.4 = INTEGER: major(20)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdRelation.6035.1 = INTEGER:
> greaterOrEqual(4)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdRelation.6035.2 = INTEGER:
> greaterOrEqual(4)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdRelation.6035.3 = INTEGER:
> lessOrEqual(2)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdRelation.6035.4 = INTEGER:
> lessOrEqual(2)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdValue.6035.1 = INTEGER: 34
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdValue.6035.2 = INTEGER: 4
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdValue.6035.3 = INTEGER: -82
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdValue.6035.4 = INTEGER: -122
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdEvaluation.6035.1 = INTEGER: false(2)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdEvaluation.6035.2 = INTEGER: false(2)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdEvaluation.6035.3 = INTEGER: false(2)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdEvaluation.6035.4 = INTEGER: false(2)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdNotificationEnable.6035.1 =
> INTEGER: true(1)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdNotificationEnable.6035.2 =
> INTEGER: true(1)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdNotificationEnable.6035.3 =
> INTEGER: true(1)
> CISCO-ENTITY-SENSOR-MIB::entSensorThresholdNotificationEnable.6035.4 =
> INTEGER: true(1)
>
> How would I construct Table/Instance/Values for all this to come
> together in a useful way? I have about 2.500 of these ports, so any
> manual setup is impossible. I need it to be discovered and named
> automatically...
>
> Brgds,
> Stian Ovrevage



More information about the collectd mailing list