A real-time monitoring dashboard for your datacenter, available both as a terminal UI and a web page.
| Panel | Source | Details |
|---|---|---|
| ☸ Kubernetes Nodes | kubernetes API |
Node name, Ready/NotReady status, roles, version, CPU & memory (allocatable/capacity) |
| 🖥 Servers Health | SSH | CPU, load average, memory, disk, uptime — collected from remote Linux servers via SSH |
| 🩺 Service Health | HTTP | Calls configured endpoints, shows healthy/down status, HTTP code, and latency |
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtEdit config.yaml to configure:
- refresh_interval — how often data is refreshed (seconds)
- kubernetes — cluster connection settings (kubeconfig path, context)
- servers — list of remote Linux servers to monitor via SSH
- services — list of HTTP endpoints to health-check
- web — host and port for the web dashboard
Each server entry needs SSH access (key-based auth via your SSH agent or a key file):
servers:
- name: "web-server-1"
host: "192.168.1.10"
port: 22
user: "root"
key_file: "" # uses default SSH agent / ~/.ssh/id_rsaservices:
- name: "My API"
url: "http://localhost:8080/health"
timeout: 5
method: "GET"
expected_status: 200python dashboard.pyRenders a live-updating Rich UI in the terminal. Press Ctrl+C to stop.
python web.pyOpens a dark-themed web dashboard at http://localhost:8050 (configurable in config.yaml). The page auto-refreshes via the JSON API.
| Endpoint | Description |
|---|---|
GET / |
HTML dashboard |
GET /api/data |
JSON with all dashboard data |
- Python 3.10+
- SSH access to remote servers (key-based)
kubectlconfigured (for Kubernetes panel)