Skip to main content
Version: 1.0.8

SNMP

SNMP brings the infrastructure layer into the same namespace as the process layer: switches, UPS units, PDUs, environmental monitors, printers, industrial routers. Anything with an agent.

Configuration​

FieldDescription
NameConnection identifier.
HostAgent IP or hostname.
Port161 by default.
Version1, 2c, or 3.
Timeout (ms)Per-request timeout.
RetriesRetries before the request fails.
Max repetitionsGETBULK window for v2c/v3 walks. Higher is faster but produces larger responses.
Probe OIDThe OID the connection test reads. 1.3.6.1.2.1.1.1.0 (sysDescr) is a safe universal choice.

v1 / v2c​

FieldNotes
CommunityThe read community string.
Write communityOptional, for SET operations.

Community strings are transmitted in clear text. On any network you do not fully control, use v3.

v3 (USM)​

FieldValues
Security levelnoAuthNoPriv, authNoPriv, authPriv
Security nameThe USM user name
Auth protocolMD5, SHA, SHA-224/256/384/512
Auth keyThe authentication passphrase
Priv protocolDES, AES, AES-192/256
Priv keyThe privacy passphrase
Context nameOptional SNMPv3 context

Keys are stored encrypted and never returned to the browser; the edit form shows only has_auth_key / has_priv_key presence flags.

Binding tags​

FieldNotes
AddressThe OID, dotted numeric (1.3.6.1.2.1.1.3.0). The data type is taken from the agent's reply and coerced to the tag's.
Poll Rate (ms)How often the OID is read with an SNMP GET — 1000 by default, at least 100. OIDs sharing a rate are batched into one request. Infrastructure rarely needs faster than 30–60 s. SNMP has no subscription; traps arrive separately.

Browse an OID instead of typing it. New in 1.0.8 The button beside the address walks the agent from a start OID — prefilled from the address you are editing — and lists what it exposes, each with its value and type; picking one fills in the address and the data type. The walk runs only when you ask for it, since a walk can take up to a minute, and stops if you close the dialog. The address it writes is always the numeric OID: a symbolic name depends on which MIBs an installation happens to carry.

Remember the trailing .0 for scalar objects. 1.3.6.1.2.1.1.3 is the object; 1.3.6.1.2.1.1.3.0 is its single instance. Table columns are indexed instead — 1.3.6.1.2.1.2.2.1.10.3 is ifInOctets for interface 3.

Walking an agent​

Walk in the connection's editor (needs View Connections) walks the agent's tree and returns each OID with its value and, where a MIB is loaded, its symbolic name. This is how you find out what a device actually exposes, rather than trusting a datasheet.

Vendor MIBs​

Standard MIB-II is understood out of the box. Vendor MIBs turn 1.3.6.1.4.1.318.1.1.1.2.2.1.0 into upsAdvBatteryCapacity.

ActionPermission
List loaded MIBsView Connections
Upload a MIBCreate Connection

Uploaded MIBs are compiled by an isolated child process, so a malformed vendor MIB — and they are frequently malformed — cannot crash the gateway. A MIB that fails to compile is rejected with its error; names simply fall back to numeric OIDs.

Traps​

Devices push asynchronous notifications (a UPS switching to battery, a link going down). QUBIQ can listen on UDP 162; the listener is opt-in and off by default.

Received traps are resolved against the loaded MIBs — so you see linkDown, not 1.3.6.1.6.3.1.1.5.3 — and kept in a rolling buffer for the operator feed.

The trap feed is in the connection's editor (needs View Connections).

Traps are fire-and-forget

SNMP traps are unacknowledged UDP. A trap sent while QUBIQ is restarting is gone. Never rely on traps alone for a condition that matters — poll the underlying value and accept the trap for low latency.

Typical monitoring set​

WhatOIDWhy
Uptime1.3.6.1.2.1.1.3.0A reset counter means the device rebooted
Interface operational status1.3.6.1.2.1.2.2.1.8.<if>Link up/down — a good on_boolean alarm
Interface in/out octets1.3.6.1.2.1.2.2.1.10/16.<if>Throughput; counters, so trend the rate
Interface errors1.3.6.1.2.1.2.2.1.14/20.<if>Rising errors precede a failing link
UPS battery capacity, on-battery statusvendor MIBFacility power
Temperaturevendor MIBCabinet/environment

Counters wrap. Alarm on the rate of change, not the raw counter, using a pipeline or a derived tag.

One dead agent, one slow connection Changed in 1.0.7​

All SNMP connections share one worker, and before 1.0.7 an unreachable agent could hold the others up in three ways:

  • A walk blocked everyone for up to a minute. Requests were handled one at a time across every connection, and a walk is allowed sixty seconds. While one ran against a slow or dead agent, every other connection's check, read and write waited — and each caller, having timed out, reported the worker unavailable. Requests for different agents are now handled side by side. One agent still gets one request at a time.
  • A dead agent cost a full retry budget per chunk. A poll of many OIDs is sent in chunks, and after a transport failure the driver kept sending the remaining chunks, paying Timeout × Retries for each against an agent it already knew was not answering. The rest of the cycle is now marked failed at once, so a dead agent costs one chunk's timeout per cycle rather than one per chunk, and the next attempt is paced by the backoff.
  • Changing one connection's configuration stalled the rest while its poller wound down. That wait is now that connection's alone.

A connection whose configuration is changed also no longer leaves its old UDP association open for the life of the process.

Troubleshooting​

SymptomCheck
Timeout on every requestAgent not enabled, firewall on UDP 161, or an ACL restricting source addresses.
Works with snmpwalk, not QUBIQSource-IP ACL on the agent — add the QUBIQ host.
v3 authentication failsSecurity level must match the agent exactly; authPriv with only an auth key configured will fail.
Some OIDs return nothingMissing .0 on a scalar, or the object is not implemented by that device.
Names show as numeric OIDsThe vendor MIB is not uploaded, or failed to compile.
Walk is very slowReduce max repetitions, or walk a subtree instead of the whole agent.
Other SNMP connections report the worker unavailable during a walkFixed in 1.0.7 — see one dead agent.

Next​

→ TCP/UDP