Skip to main content

A rich CLI Kubernetes monitor

Project description

KubMonitor Logo

KubMonitor CLI

A beautiful, nvitop-style Kubernetes monitor for your terminal.

PyPI Version Python Version License Build Status


✨ Overview

KubMonitor provides a real-time, high-fidelity dashboard for your Kubernetes clusters directly in your terminal. Inspired by tools like nvitop and btop, it combines cluster quotas with local machine metrics in a slick, responsive TUI (Terminal User Interface).

KubMonitor Demo

🚀 Features

  • 📊 Real-time Dashboard: Live updates of CPU, Memory, and GPU usage.
  • ☸️ Namespace Scoped: Monitor specific Kubernetes namespaces with ease.
  • 💻 Hybrid Metrics: View both K8s Cluster Quotas and Local Machine stats side-by-side.
  • ⚡ Reactive TUI: Built with Refreshed layouts using Rich.
  • 🖥️ Cross-Platform: Works seamlessly on Linux, macOS, and Windows.

📦 Installation

Install via pip:

pip install kubmonitor-cli

Or install from source:

git clone https://github.com/vios-s/kubmonitor-cli.git
cd kubmonitor-cli
pip install .

🎮 Usage

Getting Help

View all available options and usage information:

kubmonitor --help
# or
kubmonitor -h

Check the version:

kubmonitor --version
# or
kubmonitor -V

Monitor a Namespace

Simply run the command followed by the target namespace:

kubmonitor <namespace>

Example:

kubmonitor eidf098ns

If no namespace is specified, it defaults to default:

kubmonitor

Mock Mode (Testing/Debug)

For testing or debugging purposes without requiring access to a Kubernetes cluster, you can use the --mock flag to run KubMonitor with simulated data:

kubmonitor --mock

Note: When using --mock, you cannot specify a namespace. Mock mode uses generated test data and doesn't connect to a real cluster.

This will generate realistic mock data including:

  • Simulated resource quotas (CPU, Memory, GPU)
  • Mock Kubernetes jobs with various states (running, completed, failed)
  • Mock pods with realistic resource usage patterns
  • Generated timestamps and durations

Keyboard Shortcuts

Key Description
/ Navigate up and down
q Quit the application
Ctrl+C Force Exit

🛠️ Technology Stack

  • Rich: For beautiful terminal formatting and layout.
  • Psutil: For retrieving local system metrics.
  • Kubectl: Under the hood, it uses your local kubectl configuration to fetch cluster data.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ by yyx

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

kubmonitor_cli-0.2.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

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

kubmonitor_cli-0.2.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file kubmonitor_cli-0.2.0.tar.gz.

File metadata

  • Download URL: kubmonitor_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kubmonitor_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5665786faa29af2c63526466917c1774fc043cbb043012e151bbeef0a7553b77
MD5 6b245cf08ba76ba00ace34352876a05d
BLAKE2b-256 06f450d89faa1efea822b7a16f90b0f5d8c870dc1d39f1f6b135ff9f7bcf808c

See more details on using hashes here.

Provenance

The following attestation bundles were made for kubmonitor_cli-0.2.0.tar.gz:

Publisher: release.yml on vios-s/kubmonitor_cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kubmonitor_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: kubmonitor_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kubmonitor_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5479c43caffcd4e7fd8a7eff8c3e48be502c0fd38cb0699c1c203364088e9e67
MD5 59da31a8deae9e74abbbea3bd113b59f
BLAKE2b-256 721fdce138166a7d50fe25332e59322f2d9c118bd9c1156b498bcad3c52595de

See more details on using hashes here.

Provenance

The following attestation bundles were made for kubmonitor_cli-0.2.0-py3-none-any.whl:

Publisher: release.yml on vios-s/kubmonitor_cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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