SystemGuard is a Flask app designed to monitor server stats such as CPU, Memory, Disk, and Network. It also provides real-time monitoring capabilities which can be useful for system administrators, developers, and DevOps engineers to keep track of their server's performance and troubleshoot issues. The app uses the psutil library to retrieve system stats and the speedtest-cli library to perform a network speed test.
- Lightweight, open-source, and free to use with a straightforward installation process, out-of-the-box monitoring solution.
- Capable of monitoring core server metrics like CPU, memory, disk usage, and network traffic.
- Analyze fluctuations in server performance with historical data displayed as charts.
- Centralized control panel to monitor, manage, and analyze server fleets.
- Role-Based Access Control (RBAC) for managing user permissions.
- Includes built-in security features such as authentication for login, logout, and signup.
- Analyze network speed using the built-in speed test feature.
- Analyze suspicious processes and terminate them with a single click.
- Analyze network statistics using the built-in monitoring tools.
- Analyze the subnet for security vulnerabilities with the built-in security analysis feature.
- Option to download historical data in CSV format for detailed analysis (upcoming feature).
- Role-based dashboards tailored for Developer, Admin, IT Manager, and Manager roles (upcoming feature).
- Update security updates with a single click or automatically update to the latest version to simplify maintenance.
- Check the documentation for installation instructions.
- Frontend: JavaScript, Bootstrap, Chart.js, Grafana
- Backend: Python, Flask, SQLAlchemy, SQLite, Prometheus, InfluxDB
- Monitoring: psutil, speedtest-cli, nmap, netstat
- Check the Release Notes file for the latest updates.
- Check the Release Instructions file for the release process.
- Most Linux distributions are supported, including Ubuntu, CentOS, and Debian.
The installation process is straightforward and can be completed in a few steps. The user needs to run a bash script that installs the required dependencies, sets up the database, creates a conda environment, and adds the Flask server to a cron job. The user can then access the SystemGuard web interface by visiting the server's IP address or domain name.
For more details, check out the official website: SystemGuard
Check the product screenshots for a visual representation of the app.
A Docker image has not been created for this project because it requires access to host-level system metrics and resources.
Contributions are always welcome! Please read the contribution guidelines first.
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
Aegis is the repository used to maintain and develop the SystemGuard tool.
