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 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.
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.
public) — that's it. No username/password pair, because SNMPv3 isn't implemented yet.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| OID | What | Description |
|---|---|---|
| 1.3.6.1.2.1.2.2.1.2 | ifDescr | Interface name, walked per port. |
| 1.3.6.1.2.1.2.2.1.7 | ifAdminStatus | Whether the port is administratively enabled — distinguishes "down" from "intentionally disabled." |
| 1.3.6.1.2.1.2.2.1.8 | ifOperStatus | Actual link state (up/down). |
| 1.3.6.1.2.1.2.2.1.10 / .16 | ifInOctets / ifOutOctets | Cumulative traffic counters, converted to in/out kb/s by comparing consecutive polls. |
| 1.3.6.1.2.1.2.2.1.14 | ifInErrors | Inbound error count per interface. |
Printers
Printer-MIB (RFC 3805)| OID | What | Description |
|---|---|---|
| 1.3.6.1.2.1.43.11.1.1.6 | prtMarkerSuppliesDescription | Supply name — toner, waste receptacle, drum, etc., walked per supply. |
| 1.3.6.1.2.1.43.11.1.1.4 | prtMarkerSuppliesClass | Consumed supply (toner) vs. receptacle (waste) — the two get opposite low/high thresholds. |
| 1.3.6.1.2.1.43.11.1.1.9 / .8 | prtMarkerSuppliesLevel / MaxCapacity | Level ÷ 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.1 | prtMarkerLifeCount | Cumulative page counter. |
| 1.3.6.1.2.1.43.18.1.1.2 / .8 | prtAlertSeverityLevel / Description | The printer's own active-alert table (paper jam, cover open, low toner, etc.), walked in full. |
UPS units
UPS-MIB (RFC 1628)| OID | What | Description |
|---|---|---|
| 1.3.6.1.2.1.33.1.2.4.0 | upsBatteryChargeRemaining | Battery charge remaining, 0–100%. |
| 1.3.6.1.2.1.33.1.4.1.0 | upsOutputSource | Whether the UPS is running normally or on battery power. |
| 1.3.6.1.2.1.33.1.4.4.1.5 | upsOutputPercentLoad | Percent load on the (first) output line. |
Two cadences, both invisible to you.
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.
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 usLast verified against the agent source (agent/snmp.go, discovery.go, pullconfig.go) — 2026-07-18