A comprehensive system monitoring application that tracks CPU, RAM, and GPU usage in real-time with a beautiful web dashboard.
- 📊 Real-time Monitoring: Track CPU, RAM, and GPU usage with live charts
- 🎨 Modern Dashboard: Beautiful, responsive Next.js frontend with Tailwind CSS
- 🐳 Docker Support: Easy deployment with Docker and Docker Compose
- 🔒 Production Ready: Configured for production deployment with Gunicorn
- 📝 Automatic Logging: Configurable logging intervals and retention
- 🚀 Health Checks: Built-in health check endpoints for monitoring
- Backend: Python Flask API with system monitoring capabilities
- Frontend: Next.js 16 with React 19 and TypeScript
- Data Storage: Local file system
- Python 3.11+
- Node.js 20+
- Docker (optional, for containerized deployment)
-
Clone the repository:
git clone <repository-url> cd Sys_Logger
-
Backend Setup:
cd backend pip install -r requirements.txt cp env.example .env # Edit .env with your configuration python sys_logger.py
-
Frontend Setup:
cd frontend npm install cp env.example .env.local # Edit .env.local with your backend URL npm run dev
-
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
# Build and start all services
docker-compose up -d --build
# View logs
docker-compose logs -f
# Stop services
docker-compose downSee DEPLOYMENT.md for detailed deployment instructions.
Sys_Logger/
├── backend/ # Python Flask backend
│ ├── sys_logger.py # Main application
│ ├── requirements.txt # Python dependencies
│ ├── Dockerfile # Backend container
│ └── env.example # Environment variables template
├── frontend/ # Next.js frontend
│ ├── src/
│ │ ├── app/ # Next.js app directory
│ │ └── components/ # React components
│ ├── Dockerfile # Frontend container
│ └── env.example # Environment variables template
├── docker-compose.yml # Docker Compose configuration
└── DEPLOYMENT.md # Deployment guide
FLASK_ENV: Environment (development/production)PORT: Server port (default: 5000)HOST: Server host (default: 0.0.0.0)CORS_ORIGINS: Allowed CORS origins (comma-separated)LOG_FOLDER: Directory for log filesLOG_RETENTION_DAYS: Days to keep logs (default: 2)LOG_INTERVAL: Logging interval in seconds (default: 4)
NEXT_PUBLIC_API_URL: Backend API URLNODE_ENV: Node environment (development/production)
GET /api/usage- Get current system usageGET /api/logs- Get local log filesGET /api/health- Health check endpoint
cd backend
python sys_logger.pycd frontend
npm run devBackend:
cd backend
gunicorn --config gunicorn_config.py sys_logger:appFrontend:
cd frontend
npm run build
npm startFor detailed deployment instructions, see DEPLOYMENT.md.
- Docker Compose:
docker-compose up -d - Vercel (Frontend):
- Connect GitHub repo to Vercel
- Set
NEXT_PUBLIC_API_URLenvironment variable to your backend URL - Deployed at: https://sys-logger.vercel.app
- Render (Backend):
- Connect GitHub repo to Render
- Use
render.yamlfor configuration - Set environment variables in Render dashboard
- See DEPLOYMENT.md for details
- Manual: Follow deployment guide
- Windows: Full support including GPU monitoring
- Linux: CPU/RAM monitoring (GPU may require additional setup)
- macOS: CPU/RAM monitoring (GPU support limited)
- Python: 3.10+
- Node.js: 20+
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
[Add your license here]
For issues and questions:
- Check DEPLOYMENT.md for deployment help
- Review backend and frontend README files
- Open an issue on GitHub