SNMP Monitoring Guide

Switches, printers, UPS — the gear that can't run an agent. Here's exactly how Bayqus watches it.

Not everything in a rack can install software. Bayqus monitors that gear over SNMP, using the same site collector that already reports its own host — no separate polling box, no extra proxy to maintain. This page explains how devices get onboarded, exactly what's polled (real OIDs, not marketing OIDs), and how to fix it when something doesn't show up.

One collector — host + SNMP IF-MIB · Printer-MIB · UPS-MIB SNMPv2c (v1 fallback) · v3 coming soon
01 — Where SNMP fits

One collector, host and gear, over the same outbound link.

Any always-on host running the Bayqus agent can be turned into a site collector. Nothing new gets installed on the network — the same binary that reports its own CPU/RAM/disk also polls the office switch, printer and UPS over SNMP and pushes their data out through the exact same outbound MQTT connection. There's no separate SNMP proxy, no second install, and no inbound port opened for the gear it polls — the collector reaches those devices only within its own local network, the same way any admin's laptop would.

Same host, two jobs

Enable the collector mode on one existing server or PC agent per site and it does both: agent metrics for itself, SNMP polling for everything nearby that can't run an agent.

Device types supported

Switches, routers, firewalls, access points, printers, and UPS units — each published to the dashboard as its own device, tagged with the collector that reported it (via).

Nothing new to expose

SNMP polling happens from the collector out to the LAN, in the same direction any local admin tool would query it. No inbound rule, no port-forward, no VPN.

02 — Getting devices onboarded

Scan a subnet, or add a device by hand.

Onboarding happens from the portal's SNMP devices page, scoped to whichever collector you pick — no editing a config file on the box itself.

Network discovery primary path

Give it a CIDR (e.g. 192.168.1.0/24) and one or more community strings to try. The portal hands that to the collector, which sweeps the range itself — trying SNMPv2c then falling back to v1 per host — and classifies each responder as printer, UPS, router, firewall or switch by checking whether it implements the Printer-MIB or UPS-MIB subtree (falling back to reading its system description text if neither answers). Results come back as a candidate list with checkboxes; tick the ones you want and they start being polled.

Manual add fallback

For a subnet the collector can't scan, a non-default community string, or a device you already know: enter host, port (default 161), device type, SNMP version and community string directly. This is also where you'd add a device sitting on a VLAN the collector's own interfaces don't reach.

Credentials needed
A read-only community string (v2c default is public) — that's it. No username/password pair, because SNMPv3 isn't implemented yet.
SNMP version
v2c is what the collector speaks by default. Discovery will also detect and use v1 automatically for older printers/UPS units that only answer that version. v3 is not supported today — the manual-add form shows it, disabled, as "coming soon."
03 — What actually gets polled

Real MIBs, not a marketing list.

Every device is first reachability-checked with a GET on sysUpTime (1.3.6.1.2.1.1.3.0) — that same value doubles as the device's reported uptime and gives a round-trip time reading. What's collected beyond that depends on the device type.

Switches, routers, firewalls, access points

IF-MIB — the standard interfaces table
OIDWhatDescription
1.3.6.1.2.1.2.2.1.2ifDescrInterface name, walked per port.
1.3.6.1.2.1.2.2.1.7ifAdminStatusWhether the port is administratively enabled — distinguishes "down" from "intentionally disabled."
1.3.6.1.2.1.2.2.1.8ifOperStatusActual link state (up/down).
1.3.6.1.2.1.2.2.1.10 / .16ifInOctets / ifOutOctetsCumulative traffic counters, converted to in/out kb/s by comparing consecutive polls.
1.3.6.1.2.1.2.2.1.14ifInErrorsInbound error count per interface.
port_down fires only when a port is admin-enabled but its operational state is down — a port you left disabled on purpose never alerts.

Printers

Printer-MIB (RFC 3805)
OIDWhatDescription
1.3.6.1.2.1.43.11.1.1.6prtMarkerSuppliesDescriptionSupply name — toner, waste receptacle, drum, etc., walked per supply.
1.3.6.1.2.1.43.11.1.1.4prtMarkerSuppliesClassConsumed supply (toner) vs. receptacle (waste) — the two get opposite low/high thresholds.
1.3.6.1.2.1.43.11.1.1.9 / .8prtMarkerSuppliesLevel / MaxCapacityLevel ÷ max capacity → a 0–100% reading. Reported as unknown (null) when the printer sends one of the Printer-MIB sentinel values instead of a real number.
1.3.6.1.2.1.43.10.2.1.4.1.1prtMarkerLifeCountCumulative page counter.
1.3.6.1.2.1.43.18.1.1.2 / .8prtAlertSeverityLevel / DescriptionThe printer's own active-alert table (paper jam, cover open, low toner, etc.), walked in full.
printer_supply_low — a consumed supply under 10%. printer_waste_full — a receptacle over 90%. printer_alert — any alert-table row at warning/critical severity; purely informational rows (e.g. "sleep mode, no action needed") are recorded on the device but never raised as an alert, so idle printers don't generate noise.

UPS units

UPS-MIB (RFC 1628)
OIDWhatDescription
1.3.6.1.2.1.33.1.2.4.0upsBatteryChargeRemainingBattery charge remaining, 0–100%.
1.3.6.1.2.1.33.1.4.1.0upsOutputSourceWhether the UPS is running normally or on battery power.
1.3.6.1.2.1.33.1.4.4.1.5upsOutputPercentLoadPercent load on the (first) output line.
ups_on_battery — the moment output source flips to battery. ups_battery_low — battery under 20% remaining.
04 — How the poll cycle works

Two cadences, both invisible to you.

SNMP poll
Every 60 seconds by default, the collector walks its full target list — reachability, interfaces, supplies, battery, whatever applies — and publishes each device's payload. A slow or dark device just times out for that cycle; it doesn't block the others, since every target is polled independently.
Target sync
Separately, also on a 60-second default, the collector checks in with the backend for its current target list — so adding, editing or removing a device in the portal takes effect on the next check-in, no restart of the collector required. This same check-in is how the collector picks up an on-demand discovery scan you've just started.
If the collector restarts
Any statically-configured targets on the box come back immediately; portal-managed targets reappear on the next target-sync tick. Per-interface traffic counters (kb/s) reset and rebuild their baseline over the following poll or two — a brief gap in throughput numbers, not in reachability.
05 — Troubleshooting

Common snags, and the real reason behind each.

Q. A device shows as unreachable — why?

The collector couldn't get an answer to its sysUpTime probe. That usually means UDP/161 is blocked between the collector and the device, the device is genuinely off, the IP or port is wrong, or the community string doesn't match what's configured on the device. The first time this happens, Bayqus also raises a high-severity snmp_unreachable alert against that device.

Q. A printer's toner or waste level shows as unknown, not a percentage.

Not every printer reports an exact level — some send a Printer-MIB sentinel value instead, meaning "I can't give you a number." Bayqus shows that honestly as unknown rather than inventing a percentage. It's the printer's own answer, not a gap in polling.

Q. I entered a community string but the device still won't respond.

SNMP has no distinct "wrong password" reply for a read-only GET — a bad community string simply times out, exactly like a device that's actually offline. Double-check the exact, case-sensitive string configured on the device. The collector's default probe (and the manual-add form's default) is public.

Q. A network scan didn't find a device I know is there.

Discovery only tries the community strings you gave it, across the CIDR you gave it, and only reaches subnets the collector's own network interfaces are actually on. A device using a community you didn't include, sitting on a different VLAN, or a scan across a very large, mostly-dark range that ran out of time before reaching it — any of those will come back empty. Add the device manually as a fallback, or re-scan a narrower range with the right community.

Q. Can I use SNMPv3?

Not yet — only SNMPv2c is actively supported, with an automatic SNMPv1 fallback that discovery uses for older gear. The manual-add form already lists v3 as an option, shown disabled and marked "coming soon," so existing v2c setups won't need to change when it lands.

Related reading

More on how it fits together

Have gear that can't run an agent? It's already covered.

Turn one existing server or PC agent per site into a collector, then scan or add your switches, printers and UPS units from the portal.

Get started Talk to us

Last verified against the agent source (agent/snmp.go, discovery.go, pullconfig.go) — 2026-07-18