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:
| Sensor | What it watches | Typical MIB |
|---|---|---|
| SNMP Temperature Monitoring | CPU, inlet, exhaust and ambient heat | ENTITY-SENSOR-MIB / vendor |
| SNMP Fan Speed Monitoring | Cooling-fan RPM and stall detection | ENTITY-SENSOR-MIB / vendor |
| SNMP Humidity & Airflow Monitoring | Relative humidity and aisle airflow | vendor / probe MIB |
| SNMP Voltage Monitoring | Rail and input voltage levels | ENTITY-SENSOR-MIB / vendor |
| SNMP Power Supply Monitoring | PSU presence and operational status | vendor health MIB |
| SNMP PDU Monitoring | Rack PDU load, per-outlet state | PowerNet-MIB / vendor |
| SNMP UPS Monitoring | Battery charge, runtime, on-battery state | UPS-MIB (RFC 1628) / vendor |
| SNMP RAID Monitoring | Array and disk-member health | vendor controller MIB |
| SNMP Optical dBm Monitoring | Transceiver Rx/Tx optical power | ENTITY-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.

How to poll an environmental OID
The rhythm is the same for every reading here:
- 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 itsentPhySensorType. - Fall back to the vendor tree. Load the device's MIB into
snmptranslateor a browser, or walk1.3.6.1.4.1.<vendor>and watch for values that behave like the physical quantity you expect. - Confirm the scale.
entPhySensorScaleandentPhySensorUnitsDisplaytell you whether a42means 42 °C or 42 tenths of a degree. Verify one reading against a physical measurement before trusting the graph. - 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.
- 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.