Generated page. Written from IdaMilk/SuNMP at commit 3362a6a on 2026-07-28. The README declares version 1.5.0 while package.json says 1.0.0 — see Repository.
SuNMP
What is it?
A self-hosted web dashboard for monitoring SNMP devices. Add a device, walk its MIB tree, label the OIDs that matter, chart their values over time, and schedule automatic polling — all from a browser.
Purpose
Network hardware, UPSs, printers and industrial equipment expose their state over SNMP, but the raw protocol is hostile to casual use: numeric OIDs, MIB files to translate them, and command-line tools. SuNMP puts a usable interface over it.
Where SunDown answers "is it up?", SuNMP answers "what is it doing?" — temperatures, throughput, error counters, battery levels.
How it Works
Vue 3 front end, Express back end, split into frontend/ and backend/ with independent package.json files.
MIB walks stream. Scanning walks the full 1.3.6.1 subtree, which can take minutes and yield thousands of OIDs, so results stream to the browser over Server-Sent Events with a live counter rather than making the user wait on one long request.
Scans are backend jobs, not browser jobs. Navigate away and the scan continues; return and live progress resumes. Multiple devices scan simultaneously with no shared lock — a design choice the README calls out explicitly.
Profiles are the scaling mechanism. A profile bundles MIB files and a set of labelled pinned OIDs, and applies to many devices at once. Saving a profile re-applies it to every device assigned to it. When a profile with pinned OIDs is applied, scanning fetches only those OIDs instead of walking the whole tree — turning a multi-minute walk into a targeted query.
Auto-polling runs server-side on a per-device interval, so history accumulates whether or not anyone has the dashboard open, and resumes after a restart. The UI suggests an interval of five times the last observed refresh duration as a starting point.
Core Features
| Feature | Purpose |
|---|---|
| SNMP v1 / v2c / v3 | Including authNoPriv and authPriv with MD5/SHA and DES/AES |
| MIB walk | Full subtree scan over SSE with live progress |
| Targeted scan | Fetches only profile-pinned OIDs |
| MIB library | Upload once, reuse across devices |
| Device profiles | Bundle MIBs and pinned OIDs, apply in bulk |
| OID labelling | Human-readable names, saved per device |
| Poll history | Timestamped snapshots, browsable |
| Charts | Any numeric OID plotted over time |
| Auto-poll | Server-side scheduled polling, restart-safe |
| Trap reception | Receives SNMP traps |
| Ping-only devices | Monitors devices without SNMP |
| DNS checks | Name resolution verification |
| Email alerts | SMTP notification |
| Custom branding | Configurable appearance |
Structure
| Path | Contents |
|---|---|
backend/server.js | Express API, SNMP operations, scheduler |
backend/mib-parser.js | MIB file parsing |
frontend/src/views/ | Dashboard, device detail, MIB library |
frontend/src/components/ | Device cards, OID charts, forms, settings |
docs/user-guide.md | End-user documentation |
Tech Stack
| Technology | Purpose |
|---|---|
| Vue 3 | Front end |
| Vite | Build tool |
| Express | Back end API |
| Server-Sent Events | Streaming scan progress |
Node 18 or higher. Front end and back end have separate dependency trees, so both need installing.
Operations
Configuration via .env, documented in .env.example.
SNMP v3 credentials and community strings are configuration, not code — nothing sensitive is committed. SNMP v1 and v2c community strings traverse the network in clear text, so v3 with authPriv is the right choice for anything that matters; the tool supports all three and leaves the decision to the operator.
Repository
| Repository | IdaMilk/SuNMP |
| Primary language | Vue / JavaScript |
| Files | 26 |
| Last activity | 2026-04-10 |
| Status | Active |
Version numbers disagree. The README badge claims 1.5.0; the root package.json says 1.0.0. The README's feature list is detailed enough that it is probably the more current of the two, but neither can be trusted as the release marker until they are reconciled.
Like SunDown, this is written as a general-purpose tool rather than a Suntado-specific one, with an MIT badge and a user guide.