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 sysdash-cli
or
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.4.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.4-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sysdash_cli-1.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 418e4ebf8bb819b35f30c3d850fff34c89c508c84e9737f206f7edde646c408b
MD5 f731542387e1d8609539ad48427fd40c
BLAKE2b-256 28430ade2614dc2501e99e9bcc8cebaf0f4323278e14aa5cc2522a0ba874e18d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sysdash_cli-1.0.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b8cc56f48e26d128a158000e56560b08736c4e981ee5c65e1f2cb4371efb62fe
MD5 bdcd9c426679b0e64dbac1d7c2db8890
BLAKE2b-256 dedb09854255d75db8627f0523d352d1610009de86fb87478f82f4324b3338f9

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