SNMP Monitoring¶
The CISCO / BushNET Serial Manager includes a comprehensive SNMP monitoring system with a real-time dashboard, interface statistics, and environmental monitoring — all built into the application using a pure Qt SNMP client.
Overview¶
The SNMP monitoring feature consists of three main components:
| Component | Purpose |
|---|---|
| SNMP Client | Pure Qt SNMPv1/v2c client using BER/ASN.1 encoding over UDP |
| SNMP Config Dialog | Configure SNMP communities, v3 users, and traps on the switch |
| SNMP Monitor Tab | Real-time dashboard with charts, interface stats, and environment data |
SNMP Monitor Dashboard¶
The SNMP Monitor tab provides four sub-tabs for real-time switch monitoring:
Dashboard Tab¶
The main dashboard displays system overview information and real-time charts:
- System Information — Hostname, system description, uptime, and location
- CPU Utilisation — Progress bar and time-series chart showing 5-second, 1-minute, and 5-minute CPU averages
- Memory Usage — Progress bar and area chart showing memory utilisation over time
- Bandwidth — Line chart showing inbound and outbound traffic rates
All charts update automatically at the configured polling interval.
Interfaces Tab¶
The interfaces tab provides detailed per-interface monitoring:
- Interface Table — Lists all switch interfaces with status, speed, and traffic counters
- Bandwidth Chart — Select any interface to view its real-time inbound/outbound bandwidth graph
- Traffic Statistics — Input/output octets, packets, errors, and discards per interface
Environment Tab¶
Monitor the physical health of the switch:
- Temperature — Current temperature with progress bar and threshold indicators
- Power Supply — PSU status and health information
- Fan Status — Fan operational status
- Environment Table — Complete environmental sensor data
Connection Panel¶
Configure the SNMP monitoring connection:
| Setting | Description |
|---|---|
| Host | IP address or hostname of the switch |
| Port | SNMP port (default: 161) |
| Community | SNMPv2c community string |
| SNMP Version | SNMPv1 or SNMPv2c |
| Poll Interval | How often to query the switch (seconds) |
Click Connect to begin monitoring, Disconnect to stop.
Configuring SNMP on the Switch¶
Use the SNMP Configuration dialog (accessible from the Tools menu) to configure SNMP on the switch via serial console.
Community Strings (v1/v2c)¶
Configure read-only (RO) and read-write (RW) community strings:
- Click Add Community
- Enter the community string name
- Select access level: RO (read-only) or RW (read-write)
- Optionally specify an ACL to restrict access
- Click Apply Config to send commands to the switch
SNMPv3 Users¶
For stronger security, configure SNMPv3 users with authentication and encryption:
| Setting | Options |
|---|---|
| Username | SNMPv3 user name |
| Group | SNMPv3 group name |
| Auth Protocol | MD5, SHA, SHA-256, SHA-384, SHA-512 |
| Auth Password | Authentication passphrase |
| Priv Protocol | DES, 3DES, AES-128, AES-192, AES-256 |
| Priv Password | Privacy (encryption) passphrase |
Trap Receivers¶
Configure where the switch sends SNMP traps/notifications:
- Click Add Trap Receiver
- Enter the receiver IP address and community string
- Select trap types to enable:
- Link Up/Down
- Configuration changes
- Syslog
- Environmental monitoring
- MAC notification
- Port security
- Spanning Tree
- VLAN changes
- PoE events
Global Settings¶
Configure system-wide SNMP parameters:
- System Contact — Contact information (e.g.,
netops@company.com) - System Location — Physical location (e.g.,
Building A, Rack 5) - Chassis ID — Unique chassis identifier
- Engine ID — SNMP engine identifier
MIB Browser¶
The SNMP Config dialog includes a built-in MIB reference browser listing common OIDs with descriptions. Use this to quickly look up OID values for monitoring.
Config Preview¶
Before applying changes, click Generate Config to preview the Cisco IOS commands that will be sent to the switch.
SNMP Client Details¶
The built-in SNMP client is a pure Qt implementation requiring no external SNMP libraries:
- Protocol Support — SNMPv1, SNMPv2c
- Operations — GET, GETNEXT, GETBULK, WALK
- Data Types — Integer, OctetString, OID, Counter32, Counter64, Gauge32, TimeTicks, IpAddress, Opaque, Null
- Transport — UDP via
QUdpSocket - Async/Sync — Both asynchronous (signal-based) and synchronous (blocking) operations
- BER Encoding — Full ASN.1 BER encoding/decoding built-in
- OID Resolution — Static OID-to-name mapping for common Cisco and standard MIBs
Supported OIDs¶
The client includes pre-configured polling for key OIDs:
| Category | OIDs |
|---|---|
| System | sysDescr, sysUpTime, sysName, sysLocation |
| CPU | cpmCPUTotal5secRev, cpmCPUTotal1minRev, cpmCPUTotal5minRev |
| Memory | ciscoMemoryPoolUsed, ciscoMemoryPoolFree |
| Interfaces | ifOperStatus, ifHCInOctets, ifHCOutOctets, ifSpeed |
| Environment | ciscoEnvMonTempStatusValue, power supply, fan status |
| PoE | pethPsePortDetectionStatus, cpeExtPsePortPwrConsumption |
Quick Start¶
1. Configure SNMP on the Switch¶
First, ensure SNMP is enabled on the switch. Use the SNMP Config dialog or enter these commands via the terminal:
configure terminal
snmp-server community public RO
snmp-server community private RW
snmp-server location "Building A, Floor 2"
snmp-server contact "netops@company.com"
end
write memory
2. Connect the Monitor¶
- Switch to the SNMP Monitor tab
- Enter the switch management IP address
- Set the community string (e.g.,
public) - Choose the poll interval (default: 10 seconds)
- Click Connect
3. View Real-Time Data¶
The dashboard will begin populating with:
- System information
- CPU and memory utilisation charts
- Interface bandwidth graphs
- Environmental sensor readings
Troubleshooting¶
No SNMP Response¶
- Verify the switch management IP is reachable (
ping <ip>) - Ensure SNMP is enabled on the switch (
show snmpvia serial console) - Check the community string matches
- Verify no ACL is blocking SNMP traffic on port 161/UDP
Incomplete Data¶
- Some OIDs may not be supported on all IOS versions
- CPU/memory OIDs require the
CISCO-PROCESS-MIBandCISCO-MEMORY-POOL-MIB - Environment OIDs require the
CISCO-ENVMON-MIB