No description
| static | ||
| templates | ||
| .gitignore | ||
| agent.py | ||
| agent_linux.py | ||
| agent_macos.py | ||
| agent_windows.py | ||
| app.py | ||
| clear_data.py | ||
| client_crypto.py | ||
| config.ini | ||
| main.py | ||
| models.py | ||
| populate_demo_data.py | ||
| README.md | ||
| README_agents.md | ||
| requirements.txt | ||
| rmm-cap1.png | ||
| routes.py | ||
| run.bat | ||
| run.sh | ||
RMM System
A Remote Monitoring and Management (RMM) system featuring a web-based dashboard and cross-platform monitoring agents. Enables centralized monitoring of multiple devices with real-time system metrics collection and visualization.
Features
- Real-time Monitoring: Track CPU, memory, disk usage, and network statistics
- Multi-device Support: Monitor multiple systems from a single dashboard
- Automated Alerts: Threshold-based alerting for system performance issues
- Cross-platform Agents: Python agents compatible with Windows, macOS, and Linux
- Modern Dashboard: Responsive web interface with dark theme and live updates
System Architecture
Backend
- Framework: Flask with SQLAlchemy ORM
- Database: SQLite for data persistence
- API: RESTful endpoints for agent communication
Frontend
- Templates: Jinja2 with Bootstrap dark theme
- Real-time Updates: HTMX for dynamic content
- Charts: Chart.js for metrics visualization
- Icons: Feather Icons
Agent
- Type: Standalone Python script (
agent.py) - Data Collection: psutil for system metrics
- Communication: HTTP requests with configurable polling
Installation
Server Setup
- Install dependencies:
pip install flask flask-sqlalchemy psutil gunicorn
- Set environment variables:
export SESSION_SECRET="your-secret-key"
- Run the server:
gunicorn --bind 0.0.0.0:5000 main:app
Agent Setup
- Configure
agent_config.iniwith your server URL - Run the agent:
python agent.py
Data Models
- Device: Registered systems with hostname, platform, and status
- DeviceMetric: Performance data (CPU, memory, disk, network)
- Alert: System notifications and threshold alerts
Security
- Flask session management with configurable secret keys
- SQLAlchemy ORM for SQL injection protection
- Device registration and identification system
- Cryptographic client ID management
Dependencies
Python
- Flask
- SQLAlchemy
- psutil
- requests
- cryptography
- gunicorn
Frontend (CDN)
- Bootstrap 5
- HTMX
- Chart.js
- Feather Icons