No project description provided
Project description
SentinalMon
SentinalMon is a system monitoring tool built with Python that allows you to track and visualize real-time performance metrics across multiple machines in your network.
Features
- Multi-machine Monitoring: Monitor multiple systems from a central interface
- Real-time Metrics: Track system performance with live updates
- Rich Visualization: Terminal-based UI with intuitive dashboards
- Distributed Architecture: Master-agent model for scalable monitoring
Metrics Tracked
- CPU: Usage percentage, core-specific metrics, clock speeds, and temperature
- Memory: RAM and swap usage with detailed statistics
- Storage: Disk I/O, read/write speeds, IOPS, and partition usage
- Network: Interface statistics, bandwidth usage, and packet metrics
Architecture
SentinalMon uses a distributed architecture with three main components:
- Exporter: Runs on each machine you want to monitor, collecting system metrics
- Master: Central server that aggregates data from all exporters
- Client: Terminal UI that connects to the master to display metrics
Installation
PyPi
pip install sentinalmon
Repository clone
# Clone the repository
git clone https://github.com/bdizen/sentinalmon.git
cd sentinalmon
# Install using Poetry
poetry install
# Enter poetry virtual environment
poetry shell
Usage
Starting the Master Server
poetry run pcmonitor master --host 0.0.0.0 --port 8001
Running an Exporter on a Machine to Monitor
poetry run pcmonitor exporter --master-host <master-ip> --master-port 8001 --host 0.0.0.0 --port 8000
Launching the Client UI
Bash poetry run pcmonitor client --master-host --master-port 8001
Client UI Navigation
- Use the Tab key to switch between metric views (CPU, Memory, Storage, Network)
- Press i to open the instance selector
- Select a machine to monitor from the list
- Press Escape to return to the instance selector
Requirements
- Python 3.10+
- Dependencies:
- psutil: System metrics collection
- textual: Terminal UI framework
- typer: Command-line interface
- httpx/requests: HTTP client libraries
- fastapi/uvicorn: API server
- Additional dependencies for authentication and security
Development
SentinalMon uses Poetry for dependency management and includes several development tools:
# Format code
poetry run black .
poetry run isort .
# Lint code
poetry run flake8
poetry run pylint sentinalmon
# Generate dependency graph
poetry run pydeps sentinalmon
Acknowledgments
- Built with Textual for the TUI
- System metrics provided by psutil
Note: This project is under active development.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sentinalmon-0.1.0.tar.gz.
File metadata
- Download URL: sentinalmon-0.1.0.tar.gz
- Upload date:
- Size: 54.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.13.1 Darwin/24.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e31a3a12f02fbdacdc08b44fe39c9769cb417356542bd64be8c61f1b51d823d
|
|
| MD5 |
a7d8a702b497437def01a93d077ab98c
|
|
| BLAKE2b-256 |
050916d717867872967e0ea2f2a815ae0b09ce99d7240e40f7e130d7ed7849b9
|
File details
Details for the file sentinalmon-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sentinalmon-0.1.0-py3-none-any.whl
- Upload date:
- Size: 23.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.13.1 Darwin/24.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cde0d1fe4654d9216c52b019817a0aa49ba5a34a574f922666cb0b6e2af71f7
|
|
| MD5 |
a388c155119f55275039e3cd8869a196
|
|
| BLAKE2b-256 |
0521a176801b0cd7e088cd9982cb4fe4019f7ee8968102948f2db50f4bc4ce49
|