This software is currently under active development and is NOT ready for production use.
Please be aware that:
- The codebase is subject to frequent changes and breaking updates
- Features may be incomplete or unstable
- Database schemas and APIs may change without notice
- Security features may not be fully implemented or tested
- No guarantees are provided regarding data integrity or system stability
- Refactoring needed
Teus is a lightweight system monitoring service written in Rust that collects and exposes system metrics through a REST API.
- Real-time system metrics collection (CPU, RAM, swap, disk usage)
- Persistent storage of metrics in SQLite database
- RESTful API for accessing historical and current system data
- Configurable monitoring intervals
- Runs as a system service
You can install Teus using the provided installation script:
# Clone the repository
git clone https://github.com/yourusername/teus.git
cd teus
# Run the installation script
sudo ./install.sh
The installation script will:
- Build the Rust project
- Install the binary to /usr/local/bin
- Set up the configuration file in /etc/systemd/
- Create the necessary database directory
- Register and start the systemd service
Teus is configured through a TOML file (default: /etc/systemd/teus.toml
):
[server]
host = "127.0.0.1"
port = 26783
[database]
path = "/var/lib/teus/sysinfo.db"
[monitor]
interval_secs = 5
You can specify a custom configuration file path when running Teus:
teus /path/to/your/config.toml
Once installed, Teus runs as a system service and automatically starts on boot:
# Check service status
sudo systemctl status teus
# Manually start the service
sudo systemctl start teus
# Stop the service
sudo systemctl stop teus
# Restart the service
sudo systemctl restart teus
Teus provides a RESTful API to access system metrics:
GET /api/sysinfo
- Get the latest system metrics
- Rust 2024 edition or later
- SQLite
- Linux-based operating system (for full system metrics support)
- System dependencies:
build-essential
- Essential compilation toolslibsqlite3-dev
- SQLite development libraries
The installation script (install.sh
) automatically checks for these dependencies and installs them if they're missing (debian based).
This project is licensed under the MIT License - see the LICENSE file for details.
Created by gdjohn4s