gitmyhub

drishti

TypeScript ★ 25 updated 2d ago

htop for your whole fleet — with nothing installed on the remote

A browser-based multi-server monitor that shows live CPU, memory, disk, and process activity for all your machines in one page, no agent install needed on remote servers, it ships itself over SSH automatically using Nix.

TypeScriptNixsetup: moderatecomplexity 3/5

Drishti is a browser-based monitoring tool that lets you watch the live processes, CPU usage, memory, disk, and network activity of multiple servers from a single web page. Think of it as the htop terminal tool (a real-time process viewer), but displayed in a browser and able to show many machines side by side. The fleet overview shows a summary card for each server, and clicking a card drills into the full process list for that machine.

The central design goal is that you do not need to install anything on the servers you want to monitor. When you connect to a remote machine for the first time, drishti ships a small monitoring agent over the SSH connection using the Nix package manager, builds it on the remote side, and starts it. Subsequent connections reuse the already-built agent. The remote machine only needs to be reachable via SSH with passwordless authentication and have a Nix daemon running. No extra ports need to be opened.

To start monitoring, you run a single command on your local machine using Nix, pass the SSH addresses of any servers you want to watch, and open a browser to localhost. You can add or remove hosts from the UI while the tool is running, and drishti remembers your host list between sessions. The tool works from a macOS laptop connecting to Linux servers, from Linux connecting to macOS servers, and from any combination in between.

The tool is strictly read-only. There is no way to send a signal to a process, kill it, or change anything on the remote through drishti. It only collects and displays information.

History (CPU, memory, and disk trends over up to 30 minutes) is kept in memory and displayed as sparkline charts. Restarting drishti starts fresh with no stored data. The UI can also be installed as a progressive web app on a phone or desktop so it opens in a standalone window, though the live data still requires the local server to be running.

Where it fits