Skip to main content

Real-time terminal-based system monitoring dashboard with graphs

Project description

SysDash - Real-Time System Monitoring Dashboard

Real-time terminal-based system monitoring with beautiful graphs and customizable views.

Installation

Option 1: Install from PyPI (using pip)

pip install git+https://github.com/thulasiramk-2310/cli_metrics.git

Option 2: Run with Docker (Linux only)

# Pull from Docker Hub
docker pull ram231006/sysdash:latest

# Run on Linux with host system access (requires sudo for some metrics)
sudo docker run -it --rm --pid=host --net=host ram231006/sysdash:latest

# Run the mini dashboard
sudo docker run -it --rm --pid=host --net=host ram231006/sysdash:latest sysdash-mini

# โš ๏ธ Note: Docker on Windows/macOS shows container metrics, not your actual system.
# For accurate Windows/macOS monitoring, use pip install instead (Option 1 or 3).
# Docker works perfectly on native Linux systems with sudo.

Option 3: Clone and install locally

git clone https://github.com/thulasiramk-2310/cli_metrics.git
cd cli_metrics
pip install -e .

Quick Start

Graphical Dashboard (Recommended)

sysdash

Beautiful graphs, colors, and real-time visualizations.

Simple Text Dashboard

sysdash-mini

Lightweight ASCII version - perfect for SSH sessions and basic terminals.

Features

๐Ÿ“Š System Metrics

  • โœ… CPU Metrics: Total usage, per-core usage, frequency, load average
  • โœ… Memory Metrics: Total, used, available, free, swap
  • โœ… Disk Metrics: Partition usage, I/O rates (read/write)
  • โœ… Network Metrics: Upload/download rates, total transfer, packets
  • โœ… Process Metrics: Top processes by CPU and memory usage
  • โœ… System Info: Hostname, uptime, real-time updates

๐Ÿ“ˆ Visualizations (sysdash only)

  • Real-time Line Graphs: Smooth trend lines with color-coded indicators
    • ๐Ÿ”ด Red: CPU/Memory increasing (high load warning)
    • ๐ŸŸข Green: CPU/Memory decreasing (optimizing)
  • Progress Bars: Visual usage indicators for all metrics
  • Live Updates: Configurable refresh intervals (0.1s - 10s)
  • 60-Second History: Rolling graph showing usage trends

๐ŸŽจ Customizable Views

  • Full Dashboard: All metrics at once
  • CPU Only: --cpu-only
  • Memory Only: --memory-only
  • Disk Only: --disk-only
  • Network Only: --network-only
  • Processes Only: --processes-only
  • Custom Combinations: Use --no-* flags to hide specific metrics

Usage

Graphical Dashboard (sysdash)

# Full dashboard with graphs (all metrics)
sysdash

# Faster updates (every 0.5 seconds)
sysdash --interval 0.5

# Custom hostname
sysdash --hostname production-server-01

Simple Dashboard (sysdash-mini)

# Basic text dashboard
sysdash-mini

# Custom interval
sysdash-mini --interval 2

# Custom hostname
sysdash-mini --hostname my-server

Customized Views (sysdash)

# Show only CPU metrics with graph
sysdash --cpu-only

# Show only disk metrics
sysdash --disk-only

# Show CPU and memory only
sysdash --no-disk --no-network --no-processes

# Show everything except processes
sysdash --no-processes

# CPU only with fast updates
sysdash --cpu-only --interval 0.3

Command-Line Arguments

sysdash (Graphical Dashboard)

Argument Type Default Description
--interval float 1.0 Update interval in seconds (min: 0.1)
--hostname str system hostname Custom hostname identifier
--cpu-only flag false Show only CPU metrics
--memory-only flag false Show only memory metrics
--disk-only flag false Show only disk metrics
--network-only flag false Show only network metrics
--processes-only flag false Show only process list
--no-cpu flag false Hide CPU metrics
--no-memory flag false Hide memory metrics
--no-disk flag false Hide disk metrics
--no-network flag false Hide network metrics
--no-processes flag false Hide process list

sysdash-mini (Simple Dashboard)

Argument Type Default Description
--interval float 1.0 Update interval in seconds
--hostname str system hostname Custom hostname identifier

Dashboard Layout

Graphical Dashboard (sysdash)

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘ SysDash CLI | Host: YourPC | Uptime: 00:05:23     โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ CPU & Memory โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€โ”€ Disk โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ CPU:    45.2% โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘   โ”‚โ”‚ C:\ 48% Used    โ”‚
โ”‚ Memory: 68.5% โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘ โ”‚โ”‚ D:\ 30% Used    โ”‚
โ”‚ Per-Core Usage               โ”‚โ”‚ I/O Rates       โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Usage Trends โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€โ”€โ”€โ”€ Network โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ ๐Ÿ“ˆ CPU Usage Trend           โ”‚โ”‚ Up: 125 KB/s    โ”‚
โ”‚ Max: 85.7%                   โ”‚โ”‚ Dn: 89 KB/s     โ”‚
โ”‚ [Line graph]                 โ”‚โ”‚ Total Transfer  โ”‚
โ”‚ Min: 12.3%                   โ”‚โ”‚ Packets         โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Simple Dashboard (sysdash-mini)

=== SysDash Mini ===
Host: YourPC | Uptime: 00:05:23

CPU: 45.2% โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
Memory: 68.5% โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
Disk C:\ 48% | Network: โ†‘125 KB/s โ†“89 KB/s

Requirements

  • Python 3.7+
  • psutil 5.9.0+
  • rich 13.0.0+ (for sysdash only, not required for sysdash-mini)

Troubleshooting

Permission denied errors on Linux?

  • Run with sudo: sudo sysdash or sudo sysdash-mini
  • For Docker: sudo docker run -it --rm --pid=host --net=host ram231006/sysdash:latest
  • Some system metrics require elevated permissions

Graph not displaying? (sysdash)

  • Wait 5-10 seconds for data collection
  • Graphs need at least 5 data points to render

Updates too slow/fast?

  • Adjust with --interval (recommended: 0.5 - 2.0 seconds)

Terminal too small?

  • Try --cpu-only or other single metric views
  • Use sysdash-mini for compact display

Colors not showing?

  • Check if your terminal supports ANSI colors
  • Use sysdash-mini for basic ASCII output

SSH/Remote connection issues?

  • Use sysdash-mini for better compatibility
  • Some terminal emulators may not support Rich features

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

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

sysdash_cli-1.0.1.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

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

sysdash_cli-1.0.1-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file sysdash_cli-1.0.1.tar.gz.

File metadata

  • Download URL: sysdash_cli-1.0.1.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for sysdash_cli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 756501b7053ab44aee2f99fb894dcb398b26e0ab94e2b07b06f77b9a510ccf36
MD5 60fcc47a4f15adcb347118b54ac86429
BLAKE2b-256 8f6a7445fdd1211081787747415b6936e1590fc517bccb540f66cb65f24424b7

See more details on using hashes here.

File details

Details for the file sysdash_cli-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: sysdash_cli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for sysdash_cli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 31c043140627c58a470fe6a02db3c8e0d3e7267ec95dd9e6506902f9704bb0a3
MD5 f9da5bb8e325018bfdfb1827442e4020
BLAKE2b-256 ce8b7c32d481f71d66805c1ccce9c830ee58f5f6612fab821c5401b0cded4bfa

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