SNATT (Smart Network Automation and Troubleshooting Tool) is designed to simplify network management tasks through automation. This guide will help you get started and make the most of SNATT's features.
- Python 3.8 or higher
- Windows 10/11, Linux, or macOS
- Network access to devices you want to manage
-
Extract or clone the project:
cd e:\automa
-
Create a virtual environment (recommended):
python -m venv venv .\venv\Scripts\Activate.ps1 -
Install dependencies:
pip install -r requirements.txt
-
Start the application:
python src/main.py -
Configure Credentials:
- Navigate to Settings → Credentials
- Click "Add Credential"
- Enter:
- Name: e.g., "cisco_lab"
- Username: Your device username
- Password: Your device password
- Enable Password: (optional) Privileged mode password
- Navigate to the Discovery tab
- Enter your network range:
- Subnet format:
192.168.1.0/24 - Range format:
192.168.1.1-192.168.1.50
- Subnet format:
- Click Scan Network
- Wait for scan to complete
- Review discovered devices in the table
- Select devices and assign credentials
- Click Connect to establish SSH connections
- Navigate to the Diagnostics tab
- Select one or more connected devices
- Choose a diagnostic workflow:
- Interface Health Check - Checks interface status
- CPU & Memory Check - Monitors resource usage
- Connectivity Check - Verifies routing and reachability
- Log Analysis - Scans logs for errors
- Click Run Diagnostics
- Review results with color-coded indicators:
- 🟢 Green = Normal
- 🟡 Yellow = Warning
- 🔴 Red = Critical
- Navigate to the Backup tab
- Select devices to backup
- Choose configuration type:
- Running configuration (current)
- Startup configuration (saved)
- Both
- Click Backup Now
- Monitor progress
- View backup history and compare configurations
- Navigate to the Reports tab
- Select report type:
- Network Health Report
- Backup Report
- Custom Report
- Choose date range (if applicable)
- Select export format:
- Excel (.xlsx) - Recommended for detailed analysis
- PDF - For sharing with stakeholders
- CSV - For data import/processing
- Click Generate Report
- Report will automatically open when ready
Supported Vendors:
- Cisco IOS/IOS-XE/NX-OS
- Juniper Junos
- HP/Aruba
- Huawei VRP
- MikroTik RouterOS
Connection Methods:
- SSH (Primary)
- API (For supported platforms)
Pre-configured Workflows:
-
Interface Health Check
- Detects down interfaces
- Identifies error-disabled ports
- Shows interface statistics
-
CPU & Memory Check
- Monitors CPU usage
- Checks memory utilization
- Alerts on high usage (configurable thresholds)
-
Connectivity Check
- Verifies routing tables
- Checks default gateway
- Tests reachability
-
Log Analysis
- Scans for critical errors
- Identifies warnings
- Provides recommendations
Network Health Report:
- Executive summary with health score
- Device inventory
- Health status per device
- Critical issues list
- Warnings and recommendations
Backup Report:
- Backup success/failure status
- File sizes and locations
- Timestamps
- Error messages (if any)
Located in config/default_config.json:
Network Settings:
default_timeout: Connection timeout (seconds)max_concurrent_connections: Maximum simultaneous connectionsretry_attempts: Number of connection retries
Discovery Settings:
max_threads: Parallel scan threadsping_timeout: Ping timeout (seconds)
Backup Settings:
retention_days: Days to keep backupsauto_backup_enabled: Enable scheduled backupsdirectory: Backup storage location
Reporting Settings:
company_name: Your organization namedefault_format: Preferred export format
You can create custom diagnostic workflows by editing the configuration file:
"diagnostics": {
"workflows": {
"my_custom_check": {
"name": "My Custom Check",
"commands": [
"show version",
"show interfaces status"
],
"enabled": true
}
}
}Problem: Application won't start
- Solution: Verify Python 3.8+ is installed:
python --version - Check all dependencies are installed:
pip install -r requirements.txt
Problem: Cannot discover devices
- Solution:
- Verify network connectivity
- Check firewall allows ICMP (ping)
- Ensure you're on the correct network segment
Problem: SSH connection fails
- Solution:
- Verify credentials are correct
- Check SSH is enabled on devices
- Confirm port 22 is accessible
- Try connecting manually with SSH client first
Problem: Diagnostics show errors
- Solution:
- Check device is properly connected
- Verify user has sufficient privileges
- Review command output in detail
- Check device-specific command syntax
Problem: Reports not generating
- Solution:
- Check write permissions in
reports/directory - Verify sufficient disk space
- Review logs in
logs/snatt_YYYYMMDD.log
- Check write permissions in
Application logs are stored in the logs/ directory with daily rotation.
Log Levels:
- DEBUG: Detailed diagnostic information
- INFO: General informational messages
- WARNING: Warning messages
- ERROR: Error messages
- CRITICAL: Critical errors
Viewing Logs:
# View today's log
Get-Content logs\snatt_20251005.log -Tail 50For additional help:
- Check the logs directory for detailed error messages
- Review the PRD.md for detailed feature specifications
- Consult device vendor documentation for command syntax
- Start Small: Begin with a small subnet to test functionality
- Test Credentials: Verify credentials on one device before batch operations
- Regular Backups: Schedule automated backups for critical devices
- Monitor Reports: Review health reports regularly
- Update Regularly: Keep SNATT and dependencies up to date
Ctrl+1- Discovery panelCtrl+2- Diagnostics panelCtrl+3- Backup panelCtrl+4- Reports panelCtrl+5- Settings panelF5- Refresh current viewCtrl+Q- Quit application
Last Updated: October 5, 2025
Version: 0.1.0