This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

Polling/Graphing Cisco Optical Rx/Tx Values from SFPs

I am new to NPM and the whole process of custom pollers.    Normally, a value - like "octets transmitted" follow the "ifIndex" notation to identify which interface is which value.   Similarly, all the "octets transmitted" are grouped together (by ifIndex number) and then a next block of "octets received" - etc.

Cisco doesn't appear to follow this methodology for the SNMP polling of Optical values.   Instead, it looks like this:

1) First, there's a "entPhysicalDescr" table (similar to ifIndex, but for physical interfaces)

[ entPhysicalDescr ]

$ snmpwalk -v2c -c comm avl-fed-pop-sw5 .1.3.6.1.2.1.47.1.1.1.1.2

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1042 = STRING: "1000BaseBX10-D SFP"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1043 = STRING: "GigabitEthernet0/1 Module Temperature Sensor"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1044 = STRING: "GigabitEthernet0/1 Supply Voltage Sensor"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1045 = STRING: "GigabitEthernet0/1 Bias Current Sensor"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1046 = STRING: "GigabitEthernet0/1 Transmit Power Sensor"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1047 = STRING: "GigabitEthernet0/1 Receive Power Sensor"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1048 = STRING: "1000BaseBX10-D SFP"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1049 = STRING: "GigabitEthernet0/2 Module Temperature Sensor"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1050 = STRING: "GigabitEthernet0/2 Supply Voltage Sensor"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1051 = STRING: "GigabitEthernet0/2 Bias Current Sensor"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1052 = STRING: "GigabitEthernet0/2 Transmit Power Sensor"

SNMPv2-SMI::mib-2.47.1.1.1.1.2.1053 = STRING: "GigabitEthernet0/2 Receive Power Sensor"

** So please note -- Gig1/0 repeats five times, the "type" of SFP, and then once for each of the various sensors -- then G0/2, etc.

2) Then, the "entSensorValue" will return the value for each of those sensors, example:

[ entSensorValue ]

$ snmpwalk -v2c -c ercnoc avl-fed-pop-sw5 1.3.6.1.4.1.9.9.91.1.1.1.1.4

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.1043 = INTEGER: 385

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.1044 = INTEGER: 33

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.1045 = INTEGER: 183

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.1046 = INTEGER: -67

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.1047 = INTEGER: -78

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.1049 = INTEGER: 420

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.1050 = INTEGER: 33

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.1051 = INTEGER: 209

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.1052 = INTEGER: -63

SNMPv2-SMI::enterprises.9.9.91.1.1.1.1.4.1053 = INTEGER: -78

3) This corresponds to what we see within the Cisco device (with each value needing to be divided by 10 to return the proper adjusted value)

avl-fed-pop-sw5#show interfaces transceiver

                                           Optical   Optical

           Temperature  Voltage  Current   Tx Power  Rx Power

Port       (Celsius)    (Volts)  (mA)      (dBm)     (dBm)

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

Gi0/1        38.5       3.32      18.3      -6.7      -7.8

Gi0/2        42.0       3.33      20.9      -6.3      -7.8

****

I'm not seeing how to have NPM "graph" such a weird table layout.  It would mean graphing "every 5th entry" and using the "entPhysicalDescr" instead of "ifIndex" -- and then complicating it by needing to graph at a different starting index -- so that all the "Transmit Power" are together, then "Receive Power" together, etc.

Suggestions for how to conquer this beast?

Parents
  • Our limited testing show them as dBm values.  We aren't using any custom pollers, etc. 

    The values match up to our Cisco "show interface x/y/z transceiver detail" values -- which are in dBm

    Typically we see negative values for "receive" and either very close to zero, if not positive, for "transmit".  

    ...Chuck

Reply
  • Our limited testing show them as dBm values.  We aren't using any custom pollers, etc. 

    The values match up to our Cisco "show interface x/y/z transceiver detail" values -- which are in dBm

    Typically we see negative values for "receive" and either very close to zero, if not positive, for "transmit".  

    ...Chuck

Children