Overview
NMIS provides a powerful SNMP monitoring engine that collects performance and availability data from network devices. The system supports all SNMP versions and provides flexible configuration for polling intervals, authentication, and data collection.Multi-Version Support
Full support for SNMPv1, SNMPv2c, and SNMPv3 with automatic fallback
Secure Authentication
SNMPv3 with MD5/SHA authentication and DES/AES encryption
Efficient Polling
SNMP GETBULK operations and configurable polling intervals
Flexible Collection
Model-driven data collection for hundreds of device types
SNMP Version Support
SNMPv1 and SNMPv2c
Basic SNMP versions using community strings for authentication:Community Strings: These are essentially passwords transmitted in clear text (v1) or with weak obfuscation (v2c). SNMPv3 is strongly recommended for production environments.
SNMPv3 with Authentication and Privacy
NMIS supports secure SNMPv3 with multiple authentication and privacy protocols: Authentication Protocols:- MD5: Message Digest 5 algorithm
- SHA: Secure Hash Algorithm (SHA-1)
- SHA-224, SHA-256, SHA-384, SHA-512: Enhanced SHA variants
- DES: Data Encryption Standard (56-bit)
- AES: Advanced Encryption Standard (128-bit, 192-bit, 256-bit)
SNMP Configuration
Node SNMP Properties
Each node can be configured with specific SNMP parameters:SNMP version: snmpv1, snmpv2c, or snmpv3
SNMP community string for v1/v2c
SNMP port number
SNMP request timeout in seconds
Number of retry attempts
Maximum SNMP message size in bytes
GETBULK max-repetitions (0 = auto)
SNMPv3 Authentication Parameters
SNMPv3 username (security name)
Authentication protocol: md5, sha, sha224, sha256, sha384, sha512
Authentication password (minimum 8 characters)
Pre-computed authentication key (alternative to password)
Privacy protocol: des, aes, aes192, aes256
Privacy password (minimum 8 characters)
Pre-computed privacy key (alternative to password)
Configuring SNMP with CLI
SNMPv2c Configuration
SNMPv3 Configuration
Polling Engine
Polling Intervals
NMIS uses configurable polling intervals based on polling policies:- Default Policy: Standard 5-minute polling intervals
- Custom Policies: Define specific intervals per device or group
- Priority Polling: More frequent polling for critical devices
- Off-Hours Polling: Reduced polling during maintenance windows
Polling Process
- Update Cycle: Collect system information and catchall data
- Collect Cycle: Gather interface statistics and performance metrics
- Services Cycle: Check service availability and response times
- Threshold Cycle: Evaluate thresholds and generate events
Polling is managed by the
nmisd daemon which schedules and executes collection jobs based on node configurations and polling policies.Data Collection
Model-Driven Collection
NMIS uses model files to define what data to collect from each device type. Models specify:- OIDs to query
- Data sources (DS) for RRD storage
- Graphing parameters
- Threshold definitions
SNMP Operations
The SNMP engine supports multiple operation types:Collected Data Types
NMIS collects various metrics via SNMP: System Information:- sysUpTime, sysName, sysLocation
- sysDescr, sysObjectID, sysContact
- ifOperStatus, ifAdminStatus
- ifInOctets, ifOutOctets (traffic)
- ifInErrors, ifOutErrors
- ifInDiscards, ifOutDiscards
- CPU utilization
- Memory usage
- Disk space
- Environmental sensors (temperature, fans, power)
- IP forwarding statistics
- TCP/UDP connection counts
- Routing protocol neighbors
- QoS/CBQoS metrics
SNMP Session Management
Testing SNMP Connectivity
Using nmis-cli
Using snmpwalk Command
SNMP Error Handling
| Error | Cause | Resolution |
|---|---|---|
No response from device | Timeout, unreachable | Check network, firewall, SNMP enabled |
Authentication failure | Wrong credentials | Verify community/SNMPv3 settings |
Unknown object identifier | Invalid OID | Check MIB support on device |
PDU too large | Message size exceeded | Reduce max_msg_size or max_repetitions |
Performance Optimization
GETBULK Optimization
For SNMPv2c and SNMPv3, use GETBULK for efficient table retrieval:Timeout Tuning
Security Best Practices
- Use SNMPv3: Always prefer SNMPv3 with authentication and privacy
- Strong Passwords: Use minimum 8 characters, complex passwords
- Enable Encryption: Set
global_enable_password_encryption=true - Restrict Access: Configure SNMP ACLs on devices to limit source IPs
- Use Strong Algorithms: Prefer SHA-256/AES-256 over MD5/DES
- Regular Rotation: Periodically change SNMP credentials
- Read-Only Access: Use read-only community strings or users
Troubleshooting
Common Issues
Polling Failures:- Reduce max_repetitions for GETBULK
- Increase timeout values
- Check network latency
- Review model file complexity
- Verify credentials match device configuration
- Check SNMPv3 engine ID synchronization
- Test with snmpwalk before configuring NMIS
Next Steps
Performance Data
Learn about time-series data storage and RRD configuration
Event Management
Configure alerts and notifications for SNMP polling issues