Monitor your system like a PRO! ๐ฅ๏ธโก
A beautiful, real-time system monitoring dashboard with alerts, historical tracking, and web interface. Perfect for developers who want to keep their systems running at peak performance.
- ๐ Real-Time Dashboard - Live CPU, RAM, disk, and network monitoring
- ๐จ Smart Alerts - Configurable thresholds with desktop notifications
- ๐ Historical Tracking - Performance trends and data logging
- ๐ก๏ธ Temperature Monitoring - CPU/GPU temps and thermal throttling detection
- ๐ Process Management - Top processes with kill/nice capabilities
- ๐พ Disk Analytics - Usage, I/O stats, and health monitoring
- ๐ Network Insights - Bandwidth usage, connections, and traffic analysis
- ๐จ Beautiful CLI - Rich tables, live charts, and colorful output
- ๐ Web Dashboard - Modern web interface for remote monitoring
- โก Performance Optimized - Especially tuned for CachyOS and Arch Linux
- ๐ Virtual Environment - Clean, isolated installation
- ๐ง Highly Configurable - Custom thresholds, refresh rates, and layouts
# Clone the repository
git clone https://github.com/LinuxCTRL/system-health-dashboard.git
cd system-health-dashboard
# Install with virtual environment (recommended)
chmod +x install_venv.sh
./install_venv.sh
# Restart terminal or reload shell
source ~/.bashrc# Launch real-time dashboard
health-check
# Show detailed system information
health-check --detailed
# Set up performance alerts
health-check --alert --cpu-threshold 80 --ram-threshold 90
# Start web dashboard
health-check --web --port 8080
# Log performance data
health-check --log --interval 30s| Command | Description | Example |
|---|---|---|
health-check |
Launch real-time dashboard | health-check |
--detailed |
Show comprehensive system info | health-check --detailed |
--alert |
Set up monitoring alerts | health-check --alert --cpu-threshold 85 |
--web |
Launch web dashboard | health-check --web --port 8080 |
| Command | Description | Example |
|---|---|---|
--log |
Enable data logging | health-check --log --interval 60s |
--processes |
Show top processes | health-check --processes --top 20 |
--network |
Network monitoring mode | health-check --network --interfaces all |
--temps |
Temperature monitoring | health-check --temps --celsius |
| Command | Description | Example |
|---|---|---|
--history |
Show historical data | health-check --history --last-week |
--report |
Generate system report | health-check --report --export pdf |
--benchmark |
Run system benchmark | health-check --benchmark --quick |
--health |
System health check | health-check --health --full-scan |
# Basic dashboard with auto-refresh
health-check
# Detailed view with all metrics
health-check --detailed --refresh 2s
# Focus on specific components
health-check --cpu --ram --disk
health-check --network --temps
health-check --processes --top 15
# Custom layout and colors
health-check --layout compact --theme dark
health-check --layout full --theme matrix# Set up comprehensive alerts
health-check --alert \
--cpu-threshold 80 \
--ram-threshold 85 \
--disk-threshold 90 \
--temp-threshold 75 \
--load-threshold 4.0
# Email notifications
health-check --alert --email admin@company.com --smtp-server smtp.gmail.com
# Desktop notifications
health-check --alert --desktop-notify --sound
# Custom alert scripts
health-check --alert --on-alert "/path/to/script.sh"# Launch web interface
health-check --web --port 8080 --host 0.0.0.0
# Secure web dashboard
health-check --web --port 8443 --ssl --auth
# Custom web configuration
health-check --web --config web-config.json --theme dark
# API mode for external tools
health-check --api --port 8081 --cors# Start logging with custom interval
health-check --log --interval 30s --output /var/log/system-health/
# Export historical data
health-check --history --export csv --last-month
health-check --history --export json --date-range "2024-01-01,2024-01-31"
# Generate performance reports
health-check --report --pdf --include-charts
health-check --report --html --interactive-chartsโญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ ๐ฅ๏ธ System Health Dashboard โ
โ CachyOS Linux โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ฅ CPU Usage ๐ง Memory Usage โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 85.2% โโโโโโโโโโโโโโโโโโโโโโโโโ 76.4% โ
โ Cores: 8 | Freq: 3.8 GHz | Load: 2.1 Used: 12.2GB | Free: 3.8GB โ
โ Temp: 68ยฐC | Throttling: No Swap: 2.1GB | Cached: 4.2GB โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐พ Disk Usage ๐ Network Activity โ
โ / (SSD): โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 78.5% โ 125.4 MB/s โ 45.2 MB/s โ
โ Used: 235GB | Free: 65GB | Total: 300GB Packets: 15.2K/s | Errors: 0 โ
โ I/O: 450 MB/s read | 120 MB/s write Connections: 127 active โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Top Processes โ
โ PID โ Name โ CPU% โ RAM% โ Status โ User โ Command โ
โ 1234 โ firefox โ 25.4 โ 18.2 โ Running โ user โ /usr/bin/firefoxโ
โ 5678 โ code โ 15.8 โ 12.1 โ Running โ user โ /usr/bin/code โ
โ 9012 โ python โ 8.2 โ 5.4 โ Running โ user โ python3 app.py โ
โ 3456 โ systemd โ 2.1 โ 0.8 โ Running โ root โ /sbin/systemd โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐จ Alerts: CPU usage high (85.2% > 80%) | ๐ Uptime: 2d 14h 32m | โก Load: 2.1/8.0
Last updated: 2024-01-15 14:30:25 | Press 'q' to quit, 'r' to refresh, 'h' for help
๐ System Health Report - Generated 2024-01-15 14:30:25
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ System Information โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ OS: CachyOS Linux x86_64 Kernel: 6.6.10-1-cachyos โ
โ CPU: AMD Ryzen 7 5800X (16) @ 3.800GHz GPU: NVIDIA GeForce RTX 3080 โ
โ Memory: 16384 MB Storage: 1TB NVMe SSD โ
โ Uptime: 2 days, 14 hours, 32 minutes Load Average: 2.1, 1.8, 1.5 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Performance Metrics (Last 24 Hours) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ CPU Usage: Average: 45.2% | Peak: 89.1% | Low: 12.4% โ
โ Memory Usage: Average: 68.5% | Peak: 84.2% | Low: 45.1% โ
โ Disk I/O: Read: 2.1 GB/h | Write: 890 MB/h | IOPS: 1.2K โ
โ Network: Download: 45.2 GB | Upload: 12.8 GB | Peak: 180 MB/s โ
โ Temperature: CPU Avg: 55ยฐC | CPU Peak: 72ยฐC | GPU Avg: 48ยฐC โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
System Status: HEALTHY
๐จ Warnings: CPU temperature peaked at 72ยฐC (consider better cooling)
๐ก Recommendations: Consider upgrading RAM for better performance
Configuration is stored at ~/.config/health-dashboard/config.json:
{
"refresh_interval": 2,
"theme": "dark",
"layout": "full",
"alerts": {
"cpu_threshold": 80,
"ram_threshold": 85,
"disk_threshold": 90,
"temp_threshold": 75,
"load_threshold": 4.0,
"desktop_notifications": true,
"sound_alerts": false,
"email_notifications": false
},
"web_dashboard": {
"port": 8080,
"host": "localhost",
"ssl": false,
"auth": false
},
"logging": {
"enabled": false,
"interval": 60,
"retention_days": 30,
"log_path": "~/.local/share/health-dashboard/logs/"
},
"display": {
"show_processes": true,
"process_count": 10,
"show_network": true,
"show_temperatures": true,
"show_disk_io": true,
"colored_output": true
}
}- Python 3.7+
- Virtual environment (automatically created)
- Linux/macOS/Windows (optimized for Linux)
psutil>=5.8.0 # System information
rich>=12.0.0 # Beautiful terminal output
click>=8.0.0 # CLI interface
flask>=2.0.0 # Web dashboard
plotly>=5.0.0 # Interactive charts
schedule>=1.1.0 # Task scheduling
requests>=2.25.0 # HTTP requests
pynvml>=11.0.0 # NVIDIA GPU monitoring
# For advanced features
nvidia-ml-py3 # NVIDIA GPU detailed stats
py-cpuinfo # Detailed CPU information
distro # Linux distribution detection
- CPU: Core temperatures via thermal zones
- GPU: NVIDIA (via nvidia-ml) and AMD (via sysfs)
- Motherboard: System sensors via lm-sensors
- Storage: NVMe and SATA drive temperatures
- Custom: User-defined sensor paths
- Throttling Detection: Automatic detection of thermal throttling
- Fan Control: Integration with system fan controls
- Alerts: Temperature-based warnings and critical alerts
- Trends: Historical temperature tracking and analysis
- Real-time Updates: WebSocket-based live data
- Interactive Charts: Plotly-powered visualizations
- Mobile Responsive: Works on phones and tablets
- Dark/Light Themes: Multiple UI themes
- Multi-system: Monitor multiple systems from one dashboard
GET /api/system # Current system stats
GET /api/processes # Running processes
GET /api/history # Historical data
GET /api/alerts # Active alerts
POST /api/alerts/config # Update alert configuration
- Kernel Optimization Detection: Detects CachyOS performance kernels
- CPU Governor Monitoring: Tracks performance/powersave modes
- Memory Optimization: CachyOS-specific memory tuning detection
- I/O Scheduler: Monitors and suggests optimal I/O schedulers
- CPU Frequency Scaling: Recommendations for performance
- Memory Management: Swap and cache optimization tips
- Disk Performance: I/O scheduler and mount option suggestions
- Network Tuning: TCP/UDP optimization recommendations
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run directly
python3 health_dashboard.py --helpsystem-health-dashboard/
โโโ health_dashboard.py # Main application
โโโ web/ # Web dashboard files
โ โโโ app.py # Flask web application
โ โโโ static/ # CSS, JS, images
โ โโโ templates/ # HTML templates
โโโ install_venv.sh # Virtual environment installer
โโโ run.sh # Runner script
โโโ requirements.txt # Dependencies
โโโ README.md # This file
โโโ LICENSE # MIT License
โโโ tests/ # Test suite
โโโ test_monitoring.py
โโโ test_alerts.py
โโโ test_web.py
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- psutil for cross-platform system information
- Rich for beautiful terminal output
- Flask for the web dashboard
- Plotly for interactive charts
- ๐ Bug Reports: Open an issue
- ๐ก Feature Requests: Start a discussion
- ๐ง Contact: sofalcons@outlook.com
โญ Star this repo if it helps you monitor your system!
Made with โค๏ธ by LinuxCTRL - Controlling the world through better developer tools! ๐๐ช
Part of the LinuxCTRL Developer Toolkit - Building tools that developers actually want to use.
Optimized for CachyOS and performance enthusiasts! ๐งโก