explaingit

srid/drishti

24TypeScriptAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

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.

Mindmap

mindmap
  root((repo))
    What It Does
      Watch live processes
      Multi-server overview
      Sparkline history charts
    Tech Stack
      TypeScript
      Nix package manager
      SSH transport
    Setup
      Run one command locally
      Passwordless SSH required
      Nix daemon on remotes
    Use Cases
      Fleet monitoring
      Server health checks
      Cross-platform support
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Watch live CPU, memory, disk, and process activity across multiple servers in a single browser tab without installing anything manually on them.

USE CASE 2

Get a fleet health overview with summary cards for each server, then drill into any machine's full process list with one click.

USE CASE 3

Monitor remote Linux servers from a macOS laptop, just pass SSH addresses to drishti and it handles agent deployment automatically.

Tech stack

TypeScriptNix

Getting it running

Difficulty · moderate Time to first run · 30min

Remote servers need a running Nix daemon and passwordless SSH authentication, no additional ports required.

License not mentioned in the explanation.

In plain English

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.

Copy-paste prompts

Prompt 1
I have drishti running locally. Walk me through adding three remote Linux servers by their SSH addresses and confirming that monitoring data is flowing.
Prompt 2
What does a remote server need for drishti to connect to it, does it need a Nix daemon, a specific SSH key setup, or any open ports beyond SSH 22?
Prompt 3
I want to install the drishti web UI as a PWA on my phone so I can check my server fleet without opening a browser. How do I do that?
Prompt 4
Drishti shows 30-minute sparkline charts for CPU and memory. How do I read those charts to identify which server had a usage spike earlier in the window?
Open on GitHub → Explain another repo

← srid on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.