By the SNMP Monitoring team · Reviewed July 2026
Printers are one of the best-behaved device classes in all of SNMP monitoring, and the reason is a single standard. Where routers and firewalls scatter their interesting metrics across vendor MIBs, network printers speak the standard Printer-MIB (RFC 3805) — the same OIDs for toner level, page count, and status whether the box is an HP, a Brother, a Canon, or a Lexmark. That vendor-neutrality is what makes SNMP the natural fit for fleet management: one polling template reads supply levels across a hundred printers from different makers, and you find out about a dry toner cartridge before the help-desk ticket. This guide covers what to monitor, how the Printer-MIB is laid out, and how to read and compute the numbers that matter.
Parent: devices. Sensor twin: printer sensor. Related: alerting, standard MIBs.
What you can monitor
The Printer-MIB exposes exactly the things a print fleet operator cares about:
- Supply levels — toner, ink, and other consumables as a current level against a maximum, so you can compute a percentage remaining and reorder before a cartridge runs dry.
- Page counts — the lifetime marker count, which drives both usage billing and predictive supply planning (pages-per-toner tells you when the next cartridge is due).
- Printer status — the overall device and printer state, so you can distinguish "ready" from "warming up," "jammed," or "offline."
- Input/output trays — tray status and, on many models, media levels, catching an empty tray before a user does.
Each of these has direct operational value. Supply levels prevent the emergency toner run; page counts underpin lease billing and consumable forecasting; status catches jams and offline units; tray data heads off the "why won't it print" call. Because they all come from one standard MIB, you collect them the same way across the whole fleet.
The standard Printer-MIB
The Printer-MIB is defined in RFC 3805 and lives under base OID 1.3.6.1.2.1.43. It's an IETF standard, which is why it works across vendors: HP, Brother, Canon, Xerox, and others all implement the same object definitions, so prtMarkerSupplies means the same thing everywhere. That's a rare luxury in SNMP — most device categories force you into vendor MIBs for anything beyond interfaces. Printers give you rich, consistent, standardized data out of the box.
The full OID reference — every leaf, its index structure, and the enum meanings — lives on the printer sensor page; this guide summarizes rather than duplicates it. The practical point is that because the MIB is standardized, you build one monitoring template and apply it fleet-wide. Load the Printer-MIB into your manager so the numeric OIDs resolve to readable names like prtMarkerSuppliesLevel, and the rest is straightforward polling. Many printers additionally expose hrDeviceStatus from the HOST-RESOURCES-MIB for an overall device state, giving you a second, cross-checkable view of whether the unit is up and healthy.
Toner percentage and page counts
Two numbers do most of the work. Here's where they live:
| Metric | OID family | Notes |
|---|---|---|
| Supply level | prtMarkerSupplies 1.3.6.1.2.1.43.11.1.1, Level .9 | Current units remaining |
| Supply max capacity | prtMarkerSupplies MaxCapacity .8 | Divisor for percent |
| Page count | prtMarkerLifeCount 1.3.6.1.2.1.43.10.2.1.4 | Lifetime marker count |
Toner percentage is a computation, not a single OID: % = level ÷ max × 100, reading prtMarkerSuppliesLevel (.9) against prtMarkerSuppliesMaxCapacity (.8) at the same supply index. That's the gotcha that trips people up — there is no "toner percent" leaf; you derive it. Watch for the special negative values the RFC defines: a level of −2 means unknown and −3 means some remaining but the printer can't quantify it. Your monitoring logic must treat those as sentinels, not as literal quantities, or you'll compute a nonsensical negative percentage and fire false alarms. The page count, prtMarkerLifeCount, is a monotonically increasing lifetime total; graph its rate to see daily volume and to predict when a cartridge running at the current pace will need replacing.
Reading with snmpwalk
Walk the supply table to see what consumables the printer reports:
snmpwalk -v2c -c S3cr3tR0str1ng 10.0.0.30 prtMarkerSuppliesLevel
Printer-MIB::prtMarkerSuppliesLevel.1.1 = INTEGER: 6200
Printer-MIB::prtMarkerSuppliesLevel.1.2 = INTEGER: 8800
Printer-MIB::prtMarkerSuppliesLevel.1.3 = INTEGER: -3
Each row is one supply. To turn a level into a percentage, read the matching max capacity at the same index:
snmpget -v2c -c S3cr3tR0str1ng 10.0.0.30 \
Printer-MIB::prtMarkerSuppliesMaxCapacity.1.1
Printer-MIB::prtMarkerSuppliesMaxCapacity.1.1 = INTEGER: 10000
So supply 1.1 sits at 6200 ÷ 10000 = 62%. Note supply 1.3 returned −3 — "some remaining, unquantifiable" — which your logic must skip rather than treat as −3 units. Read prtMarkerLifeCount the same way for the lifetime page total, and you have the two headline metrics for every printer in the fleet.
Fleet alerting
At scale, the point of all this is to be told before a human notices. A good printer alert set is small:
- Low supply — fire when any computed supply percentage drops below a threshold (say 10%), skipping the −2/−3 sentinels, so toner is reordered in time.
- Printer error/offline — alert on a device or printer status indicating a jam, error, or offline condition.
- Empty tray — where tray media level is exposed, warn before a tray runs out mid-job.
- Page-count anomalies — a sudden spike can flag misuse or a stuck job reprinting.
Because the Printer-MIB is standard, one alert template covers every make in the fleet — the strength of monitoring printers over SNMP. Alerting mechanics and thresholds are covered on alerting, and the full OID detail on printer sensor and all sensors.
Frequently asked questions
How do I monitor printer toner with SNMP?
Poll prtMarkerSuppliesLevel (1.3.6.1.2.1.43.11.1.1.9) for the current level and prtMarkerSuppliesMaxCapacity (.8) for the maximum at the same supply index, then compute percentage as level ÷ max × 100. Handle the special values −2 (unknown) and −3 (some remaining, unquantifiable) as sentinels rather than numbers, and alert when the percentage drops below your reorder threshold.
Does the Printer-MIB work on all printers?
The Printer-MIB (RFC 3805) is an IETF standard, so most network-capable printers from HP, Brother, Canon, Xerox, Lexmark, and others implement it — that's what makes it vendor-neutral. Coverage of individual leaves can vary slightly by model, so verify against your specific printer, but the core objects (supplies, page count, status) are widely and consistently supported.
What OID is the printer page count?
The lifetime page (marker) count is prtMarkerLifeCount at 1.3.6.1.2.1.43.10.2.1.4. It's a monotonically increasing total, so graph its rate over time to see daily print volume and to predict consumable replacement. Combined with supply levels, it lets you forecast pages-per-cartridge and plan toner orders across the fleet.
How do I compute toner percentage over SNMP?
There's no single "percent" OID — you derive it. Read the supply level (prtMarkerSuppliesLevel, .9) and divide by the supply's maximum capacity (prtMarkerSuppliesMaxCapacity, .8) at the same index, then multiply by 100. Always guard against the RFC-defined −2 (unknown) and −3 (some remaining) values so they don't produce a bogus negative percentage.
Key takeaways
- Printers use the standard Printer-MIB (RFC 3805) at base
1.3.6.1.2.1.43— vendor-neutral across makers. - Toner percent is computed: level (
.9) ÷ max capacity (.8) × 100 at the same supply index. - Handle −2 (unknown) and −3 (some remaining) as sentinels, never as literal quantities.
- Page count is
prtMarkerLifeCount(…43.10.2.1.4) — graph its rate for volume and forecasting. - One standard MIB means one fleet-wide template for supply and status alerts.
- For independent off-box checks, see external monitoring with ostr.io.