Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sentinalmon-0.1.0.tar.gz (54.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sentinalmon-0.1.0-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

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

Hashes for sentinalmon-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7e31a3a12f02fbdacdc08b44fe39c9769cb417356542bd64be8c61f1b51d823d
MD5 a7d8a702b497437def01a93d077ab98c
BLAKE2b-256 050916d717867872967e0ea2f2a815ae0b09ce99d7240e40f7e130d7ed7849b9

See more details on using hashes here.

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

Hashes for sentinalmon-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7cde0d1fe4654d9216c52b019817a0aa49ba5a34a574f922666cb0b6e2af71f7
MD5 a388c155119f55275039e3cd8869a196
BLAKE2b-256 0521a176801b0cd7e088cd9982cb4fe4019f7ee8968102948f2db50f4bc4ce49

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page