---
type: Topic Hub
title: "SNMP Environmental Sensors — Temperature, Power & Humidity"
description: "Monitor rack heat, humidity, airflow, voltage, PDUs, UPS units and power supplies over SNMP with vendor MIBs, real OIDs and independent external alerting."
resource: "https://snmp-monitoring.com/sensors/environmental/"
tags: [sensors, snmp]
timestamp: 2026-07-13T00:00:00Z
---

# 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](/sensors/environmental/temperature.md) | CPU, inlet, exhaust and ambient heat | ENTITY-SENSOR-MIB / vendor |
| [SNMP Fan Speed Monitoring](/sensors/environmental/fan-speed.md) | Cooling-fan RPM and stall detection | ENTITY-SENSOR-MIB / vendor |
| [SNMP Humidity & Airflow Monitoring](/sensors/environmental/humidity-airflow.md) | Relative humidity and aisle airflow | vendor / probe MIB |
| [SNMP Voltage Monitoring](/sensors/environmental/voltage.md) | Rail and input voltage levels | ENTITY-SENSOR-MIB / vendor |
| [SNMP Power Supply Monitoring](/sensors/environmental/power-supply.md) | PSU presence and operational status | vendor health MIB |
| [SNMP PDU Monitoring](/sensors/environmental/pdu.md) | Rack PDU load, per-outlet state | PowerNet-MIB / vendor |
| [SNMP UPS Monitoring](/sensors/environmental/ups.md) | Battery charge, runtime, on-battery state | UPS-MIB (RFC 1628) / vendor |
| [SNMP RAID Monitoring](/sensors/environmental/raid.md) | Array and disk-member health | vendor controller MIB |
| [SNMP Optical dBm Monitoring](/sensors/environmental/optical-dbm.md) | 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.

![Diagram of environmental SNMP sensors — temperature, humidity, voltage, PDU and UPS — feeding an external poller](https://snmp-monitoring.com/img/sensors/environmental-sensors.webp)

## 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](/setup/snmpd-conf.md) and add the exact object to your [OID allowlist](/setup/oid-allowlist.md) — a tight allowlist will silently hide the sensor otherwise.
5. **Register it as a custom OID.** Follow [custom OID monitoring](/sensors/custom-oid.md) to label the object and set its unit so charts read in degrees, volts, or RPM.

## FAQ

**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](https://ostr.io/service/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](/setup/snmpd-conf.md), allow it, register it as a [custom OID](/sensors/custom-oid.md), 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](/sensors/index.md).
