How to monitor the temperature of a HP Procurve 3500 switch via SNMP

monitoringphysical-environmentsnmp

I am attempting to poll the temperature of an HP ProCurve 3500YL switch remotely using SNMP.

Looking at this MIB, it appears that the following OIDs:

hpCpuTemperature            1.3.6.1.4.1.11.2.3.7.11.17.7.1.1.1.6
hpPowerSupplyTemperature    1.3.6.1.4.1.11.2.3.7.11.17.7.1.1.1.7
hpChassisTemperature        1.3.6.1.4.1.11.2.3.7.11.17.7.1.1.1.8

Within the 'hpProcurveSysMib' should provide the data I need. However, whenever I attempt to access these OIDs, I receive the response:

SNMPv2-SMI::enterprises.11.2.3.7.11.17.7.1.1.1.6 = No Such Object available on this agent at this OID

Further investigation reveals that the switch in question does not appear to implement the parent hpProcurveSystem MIB:

SNMPv2-SMI::enterprises.11.2.3.7.11.17.7.1.1 = No Such Object available on this agent at this OID

Does anyone know of an alternative MIB implemented by the 3500 that will allow its temperature to be polled automatically?

Best Answer

The above OID is specific to the J8162A model of HP switch (not sure what actual model name that is, but that's the switch model ID), which is probably not what the ProCurve 3500YL is.

Only hefty/very large HP ProCurves appear to have actual temperature sensors in them that are wired to return thermistor data (e.g. temperature in Celsius, etc.). Most of them nowadays only return whether or not the sensor data exceeds a pre-defined temperature.

You can find that under the OID tree "hpicfSensorTable", which maps to the following OID base:

1.3.6.1.4.1.11.2.14.11.1.2.6.1

You'll find the ENTITY-MIB (which is a standard and not specific to HP products) entPhysicalVendorType table also useful, except that all the references there refer to you to the HP-specific ones, so it's not of much help. :-)

Regarding the HP-specific ones, here's an example for a ProCurve 2510G-24:

HP-ICF-CHASSIS::hpicfSensorIndex.1 = INTEGER: 1
HP-ICF-CHASSIS::hpicfSensorIndex.2 = INTEGER: 2
HP-ICF-CHASSIS::hpicfSensorIndex.3 = INTEGER: 3
HP-ICF-CHASSIS::hpicfSensorIndex.4 = INTEGER: 4
HP-ICF-CHASSIS::hpicfSensorObjectId.1 = OID: HP-ICF-OID::icfFanSensor
HP-ICF-CHASSIS::hpicfSensorObjectId.2 = OID: HP-ICF-OID::icfPowerSupplySensor
HP-ICF-CHASSIS::hpicfSensorObjectId.3 = OID: HP-ICF-OID::icfPowerSupplySensor
HP-ICF-CHASSIS::hpicfSensorObjectId.4 = OID: HP-ICF-OID::icfTemperatureSensor
HP-ICF-CHASSIS::hpicfSensorNumber.1 = INTEGER: 1
HP-ICF-CHASSIS::hpicfSensorNumber.2 = INTEGER: 1
HP-ICF-CHASSIS::hpicfSensorNumber.3 = INTEGER: 1
HP-ICF-CHASSIS::hpicfSensorNumber.4 = INTEGER: 1
HP-ICF-CHASSIS::hpicfSensorStatus.1 = INTEGER: good(4)
HP-ICF-CHASSIS::hpicfSensorStatus.2 = INTEGER: good(4)
HP-ICF-CHASSIS::hpicfSensorStatus.3 = INTEGER: notPresent(5)
HP-ICF-CHASSIS::hpicfSensorStatus.4 = INTEGER: good(4)
HP-ICF-CHASSIS::hpicfSensorWarnings.1 = Counter32: 0
HP-ICF-CHASSIS::hpicfSensorWarnings.2 = Counter32: 0
HP-ICF-CHASSIS::hpicfSensorWarnings.3 = Counter32: 0
HP-ICF-CHASSIS::hpicfSensorWarnings.4 = Counter32: 0
HP-ICF-CHASSIS::hpicfSensorFailures.1 = Counter32: 0
HP-ICF-CHASSIS::hpicfSensorFailures.2 = Counter32: 0
HP-ICF-CHASSIS::hpicfSensorFailures.3 = Counter32: 0
HP-ICF-CHASSIS::hpicfSensorFailures.4 = Counter32: 0
HP-ICF-CHASSIS::hpicfSensorDescr.1 = STRING: Fan Sensor
HP-ICF-CHASSIS::hpicfSensorDescr.2 = STRING: Power Supply Sensor
HP-ICF-CHASSIS::hpicfSensorDescr.3 = STRING: Redundant Power Supply Sensor
HP-ICF-CHASSIS::hpicfSensorDescr.4 = STRING: Over-temperature Sensor
Related Topic