Monitor Windows via SNMP
Windows doesn't lead with SNMP the way Linux does, but it speaks it perfectly well — and for cross-platform monitoring, that's exactly what you want. SNMP Windows monitoring lets one manager poll a Windows Server and a Linux box and a switch with the same tooling and the same standard OIDs, instead of maintaining a separate WMI stack just for the Windows hosts. The Host Resources MIB works here too, so CPU, memory, disk, and uptime read the same as anywhere else. This guide walks through the Windows SNMP setup, the OIDs worth polling, how SNMP compares with WMI, and why an external checker earns its place.
SNMP support on Windows
Windows has shipped an SNMP Service for decades. It's not installed by default on modern releases — it lives as an optional feature you add — but once enabled, an agent runs on the host and answers polls just like snmpd does on Linux. Note the framing: the agent runs on the Windows machine, while your monitoring station stays agentless on its side, simply asking questions over the network.
Version support skews conservative. The built-in Windows SNMP Service centers on SNMPv1 and SNMPv2c with community strings and host-based access control — you list which manager IPs may query and under which community. Because v2c sends that community in clear text, keep Windows SNMP on a trusted management network, not exposed to the open internet. If your environment demands authenticated, encrypted polling, that's a reason to weigh SNMPv3-capable tooling or to tunnel the traffic; the native service's strength is simplicity, not cryptography.
One decision worth making early: SNMP or WMI? Both can read Windows health. WMI is Windows-native and exposes an enormous, deeply Windows-specific object model, but it's chatty, heavier, and doesn't help you at all with your switches and routers. SNMP is lighter, standardized, and uniform across your whole fleet. There's a fuller side-by-side in our SNMP vs WMI comparison; for mixed environments, SNMP usually wins on consistency.

What you can monitor on Windows
The good news for anyone doing a Windows SNMP setup: the same standard MIBs you use elsewhere apply. The Host Resources MIB (RFC 2790) is implemented on Windows, so the compute-side OIDs carry straight over.
| Metric | OID | Object / MIB |
|---|---|---|
| CPU load (per core) | 1.3.6.1.2.1.25.3.3.1.2 | hrProcessorLoad, Host Resources MIB |
| Storage description | 1.3.6.1.2.1.25.2.3.1.3 | hrStorageDescr |
| Storage size | 1.3.6.1.2.1.25.2.3.1.5 | hrStorageSize |
| Storage used | 1.3.6.1.2.1.25.2.3.1.6 | hrStorageUsed |
| System uptime | 1.3.6.1.2.1.25.1.1.0 | hrSystemUptime |
| NIC traffic | 1.3.6.1.2.1.2.2.1 | ifTable, IF-MIB (RFC 2863) |
| NIC status | 1.3.6.1.2.1.2.2.1.8 | ifOperStatus, IF-MIB |
On Windows, the hrStorage table enumerates your logical drives — C:, D:, and so on — plus physical and virtual memory, so a single walk of hrStorageDescr labels everything and the matching hrStorageSize/hrStorageUsed rows give capacity and consumption. hrProcessorLoad returns one row per logical processor, exactly as it does on Linux, so a hyper-threaded box hands back a value per thread. IF-MIB covers every network adapter, physical or virtual.
hrSystemUptime (1.3.6.1.2.1.25.1.1.0) is worth a special mention on Windows: a value that resets to near zero is the cleanest evidence that the server rebooted, planned or not, which is exactly the kind of event you want an alert on.
Here's the honest boundary. Anything deeply Windows-specific — a particular Performance Counter, an IIS metric, an Active Directory health signal, a per-service state — is not in these standard MIBs. Those are vendor-specific territory. Don't chase a made-up OID for them; if you need that depth, consult the device's own MIB or reach for WMI for that slice. For the universal vitals in the table above, standard SNMP is enough, and it keeps Windows in the same dashboard as everything else. Our sensor & OID catalog documents each standard reading.
Enabling SNMP — steps
Turning on the Windows SNMP setup follows a predictable path:
- Add the feature: install the SNMP Service via Optional Features (or the server role manager). This installs the agent that will run on the host.
- Open the service properties: in the Services console, find SNMP Service and open its properties to reach the SNMP-specific tabs.
- Set a community string: on the Security tab, add a community with READ ONLY rights. Read-only is all monitoring needs, and it means a leaked string can't change the box.
- Restrict the managers: still on Security, list the specific IP addresses of your monitoring hosts that are allowed to query, rather than accepting SNMP packets from any host.
- Allow the port: make sure Windows Firewall permits inbound UDP 161 from those manager IPs.
- Verify from the manager: poll the host and confirm real values return before wiring dashboards.
That last check, from your monitoring station, looks like this:
snmpwalk -v2c -c public 10.0.0.30 1.3.6.1.2.1.25.2.3.1.3
- Drive labels come back — the service, community, and firewall all agree.
- Timeout — usually the firewall or a manager-IP restriction, not the OID.
- Empty result — the community may lack read rights, or the OID isn't in scope.
Keep the community string non-obvious and, ideally, change the default port. Our setup guides cover hardening in more depth.
Monitoring it externally
Reading hrProcessorLoad on demand tells you the Windows Server is healthy at that instant. It won't tell you the moment it stops being healthy — and a monitoring agent installed on the Windows host can't help you when the host is the thing that failed. If a service hangs, a disk fills, or the box blue-screens, the local watcher goes down with it and the alert never leaves the building.
Polling from outside removes that dependency. That's the double durability principle: an independent checker beyond the local network keeps asking your Windows host for its SNMP metrics, so a crashed or unreachable server still trips an alarm somewhere that can reach you. Because SNMP is pull-based, the external side simply polls on its own cadence — and silence from the host is itself a signal worth paging on. Combine it with your on-site setup and you've covered both angles.
For a zero-setup version, ostr.io Monitoring polls your Windows SNMP endpoint from outside your network and sends real-time email and SMS alerts when a metric goes wrong or the host stops answering — no monitoring-side agent, though the Windows SNMP Service still runs on the host.
