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.5.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.5-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sysdash_cli-1.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 3e2807aabac3719567af866e3dac922e3426119c8f0ea8b0130c7cb4af26229a
MD5 b2982a871f52f09dc89b427dd0fcd0d8
BLAKE2b-256 f20c8aa50211a9ac04befa20fcb9e5fbf15a4b90597056d149c8174599eddf3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sysdash_cli-1.0.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 53185920264265c54016abc14a88e6af5bc0296a56d7f56c9821c1db7d554fee
MD5 3fe957ff452c21f3ed49556fac0ea555
BLAKE2b-256 0e37917208f16dd9174f8be4f941b730cfd7c1b87c83bb7d01d4eb00dcfa1e3d

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