SNMP Environmental Sensors — Temperature, Power & Humidity

Environmental sensors are the readings that tell you whether the room — and the physical hardware sitting in it — is healthy, not just whether the software is running. Heat, humidity, airflow, input voltage, battery charge, and the state of the power path all sit outside the tidy world of the Host Resources MIB, and every one of them can take a rack down while the OS looks perfectly fine. This category is the map to those physical readings: what each one measures, which MIB carries it, and how to poll it over SNMP even though almost none of it is exposed by default.

Why environmental monitoring is different

Server metrics like CPU and disk are logical resources. They live in standardized trees under 1.3.6.1.2.1.25 (Host Resources MIB, RFC 2790) and mean the same thing on any compliant agent. Environmental readings are physical, and they don't get that luxury. There is a standard home for them — the Entity Sensor MIB (RFC 3433), which defines entPhySensorValue at 1.3.6.1.2.1.99.1.1.1.4 as a generic physical-sensor reading tagged by entPhySensorType (celsius, volts-AC, rpm, and so on) — but vendor support for it is uneven. Plenty of servers, PDUs, and probes never populate RFC 3433 and instead expose their thermal, power, and battery data through their own enterprise MIB under 1.3.6.1.4.1.<vendor>.

The practical consequence: everything in this category is an advanced sensor. It won't appear in a plain walk of the standard trees, and no tool collects it automatically until you tell it exactly which object to read. The payoff for that extra setup is visibility into a whole class of failures — a failing CRAC unit, a dying fan, a battery that won't hold, a supply on the edge of dropout — that silent green dashboards routinely miss.

The environmental sensor pages

Each reading below has its own page with real OIDs, vendor-MIB pointers, discovery walks, and threshold advice:

SensorWhat it watchesTypical MIB
SNMP Temperature MonitoringCPU, inlet, exhaust and ambient heatENTITY-SENSOR-MIB / vendor
SNMP Fan Speed MonitoringCooling-fan RPM and stall detectionENTITY-SENSOR-MIB / vendor
SNMP Humidity & Airflow MonitoringRelative humidity and aisle airflowvendor / probe MIB
SNMP Voltage MonitoringRail and input voltage levelsENTITY-SENSOR-MIB / vendor
SNMP Power Supply MonitoringPSU presence and operational statusvendor health MIB
SNMP PDU MonitoringRack PDU load, per-outlet statePowerNet-MIB / vendor
SNMP UPS MonitoringBattery charge, runtime, on-battery stateUPS-MIB (RFC 1628) / vendor
SNMP RAID MonitoringArray and disk-member healthvendor controller MIB
SNMP Optical dBm MonitoringTransceiver Rx/Tx optical powerENTITY-SENSOR-MIB / vendor

UPS is one of the few environmental areas with a real standard: the UPS-MIB (RFC 1628) defines upsEstimatedMinutesRemaining (1.3.6.1.2.1.33.1.2.3) and upsOutputSource (1.3.6.1.2.1.33.1.4.1), so battery runtime and on-battery state are genuinely portable across compliant units. Everything else in the list leans harder on vendor MIBs.

Diagram of environmental SNMP sensors — temperature, humidity, voltage, PDU and UPS — feeding an external poller

How to poll an environmental OID

The rhythm is the same for every reading here:

  1. Try the standard first. Walk snmpwalk -v2c -c public <host> 1.3.6.1.2.1.99.1.1.1 — if the Entity Sensor MIB is implemented, temperatures, voltages, and fan speeds surface together, each tagged with its entPhySensorType.
  2. Fall back to the vendor tree. Load the device's MIB into snmptranslate or a browser, or walk 1.3.6.1.4.1.<vendor> and watch for values that behave like the physical quantity you expect.
  3. Confirm the scale. entPhySensorScale and entPhySensorUnitsDisplay tell you whether a 42 means 42 °C or 42 tenths of a degree. Verify one reading against a physical measurement before trusting the graph.
  4. Expose and allow it. Serve the branch in snmpd.conf and add the exact object to your OID allowlist — a tight allowlist will silently hide the sensor otherwise.
  5. Register it as a custom OID. Follow custom OID monitoring to label the object and set its unit so charts read in degrees, volts, or RPM.

Frequently asked questions

Why aren't environmental sensors in the Host Resources MIB?

Because that MIB (RFC 2790) was scoped around logical resources — processors, storage, running software. Physical readings live in the Entity Sensor MIB (RFC 3433) at entPhySensorValue, or in a vendor's enterprise MIB, and they are never collected by default.

Is there any standard OID for these readings?

Partly. entPhySensorValue (1.3.6.1.2.1.99.1.1.1.4) is the generic standard object, and UPS metrics have their own RFC 1628. But many devices ignore both and use vendor-private OIDs, so you must confirm the object for your specific hardware.

How do I find the right vendor OID?

Load the vendor MIB into snmptranslate or a MIB browser, or walk the enterprise subtree with snmpwalk and look for values that track the physical quantity. Never fabricate an OID — polling the wrong one charts nonsense with total confidence.

Can I alert on these from outside the network?

Yes, and you should. If a rack is overheating or a supply is failing, the on-box agent is running on the very hardware in trouble. ostr.io Monitoring polls your chosen environmental object from outside and alerts by email and SMS.

Conclusion

Environmental sensors are the readings that catch physical failures before they become outages — but they trade the portability of the standard host MIBs for vendor-specific setup. Reach for entPhySensorValue (1.3.6.1.2.1.99.1.1.1.4) where RFC 3433 is implemented, the UPS-MIB where it applies, and the correct vendor object everywhere else. Expose it in snmpd.conf, allow it, register it as a custom OID, then poll it from outside the network so a rack sliding toward a thermal or power failure still manages to warn you. Start with any page above, or step back to the full sensor & OID catalog.

Monitor it from outside the network

SNMP only tells you a box is healthy while something is still asking. ostr.io polls your endpoints externally and fires email + SMS alerts the moment a reading crosses your line — or the agent goes silent.