Skip to content

Py-Contributors/Aegis

SystemGuard πŸ’‚

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.

Features πŸš€

  • 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.

Get started πŸ› οΈ

Architecture πŸ—οΈ

SystemGuard-Architecture

Tech Stack πŸ› οΈ

  • Frontend: JavaScript, Bootstrap, Chart.js, Grafana
  • Backend: Python, Flask, SQLAlchemy, SQLite, Prometheus, InfluxDB
  • Monitoring: psutil, speedtest-cli, nmap, netstat

Release Notes πŸ“

Supported Systems πŸ–₯️

  • Most Linux distributions are supported, including Ubuntu, CentOS, and Debian.

How does installation work? πŸ€”

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

Product Screenshots πŸ“Έ

Check the product screenshots for a visual representation of the app.

Why not use a Docker image? 🐳

A Docker image has not been created for this project because it requires access to host-level system metrics and resources.

Contributing 🀝

Contributions are always welcome! Please read the contribution guidelines first.

License πŸ“

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

Note

Aegis is the repository used to maintain and develop the SystemGuard tool.

About

repo to work on the Aegis internally

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors