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

Uploaded Python 3

File details

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

File metadata

  • Download URL: sysdash_cli-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 dafd474cade3440dc7bbbea80b173da3c7498543a3960ad80f1bdda777ac4420
MD5 906a68b055590e827f3993b51f09c5a5
BLAKE2b-256 a5371e027b832db40069bfabf8a2384d1b909100238a7c7e8b0b1f0f3e278057

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sysdash_cli-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8c0d41b5f7111c10d7d8a6b4b816063632dad0ed50fed76d1118447b16dbdff7
MD5 b19b2e16789a89ea229ad8a492decfd3
BLAKE2b-256 7fe693f19304766cb28b8f002cd38518aceab6088b383090c9f8547fa43ef6ad

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