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:

  1. Click Add Community
  2. Enter the community string name
  3. Select access level: RO (read-only) or RW (read-write)
  4. Optionally specify an ACL to restrict access
  5. 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:

  1. Click Add Trap Receiver
  2. Enter the receiver IP address and community string
  3. 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

  1. Switch to the SNMP Monitor tab
  2. Enter the switch management IP address
  3. Set the community string (e.g., public)
  4. Choose the poll interval (default: 10 seconds)
  5. 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 snmp via 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-MIB and CISCO-MEMORY-POOL-MIB
  • Environment OIDs require the CISCO-ENVMON-MIB

Testing SNMP from the Command Line

# Test SNMPv2c connectivity
snmpwalk -v2c -c public <switch-ip> system

# Get CPU usage
snmpget -v2c -c public <switch-ip> 1.3.6.1.4.1.9.9.109.1.1.1.1.6.1

# Get interface names
snmpwalk -v2c -c public <switch-ip> 1.3.6.1.2.1.31.1.1.1.1