The fastest way to see Heimdall working: run all three pieces on one computer and watch its live metrics. Takes about two minutes.
A live terminal dashboard showing this machine's CPU (with per-core detail), memory, disk, temperature, network throughput, internet + gateway latency, uptime, and — on supported hardware — GPU and power.
Press Enter on a host for the detail view — gauges, sparkline trends,
and (where the daemon advertises them) logs (l), the process table (t), and
on-demand commands (c):
- Go 1.26+ (to build from source), or a prebuilt binary set (see Installation).
- macOS, Linux, or Windows.
# 1. Build the binaries (skip if you installed prebuilt ones)
make build-tui
# 2. Start the hub — the central process every piece talks to
./bin/heimdall-hub &
# 3. Start a daemon on this machine, pointed at the local hub
./bin/heimdall-daemon --hub localhost:9090 --name "$(hostname)" &
# 4. Open the dashboard (it subscribes to localhost:9090 by default)
./bin/heimdall-dashboardYou should see one host — this machine — appear as ● ONLINE with live gauges.
Heimdall separates collection from presentation (see Architecture):
- daemon collects metrics on a host
- hub receives them and fans them out
- dashboard renders — it never collects anything itself
The dashboard can run on the same box as the daemon and hub, or on a completely different machine. This quickstart just puts all three on one host.
| Key | Action |
|---|---|
↑ / ↓ |
select a host |
⏎ |
open per-host detail (per-core CPU, sparklines, network, gateway) |
r |
refresh now |
? |
toggle the help overlay |
q |
quit |
Print one sample straight from the daemon (no dashboard needed):
./bin/heimdall-daemon --once # human-readable
./bin/heimdall-daemon --once --json # one JSON object per metric- Watch more than one machine → Monitor a Fleet
- Lock it down for a network → Secure Deployment
- Unlock power/GPU/thermal → Privileged Metrics
- Just want to see the UI with no setup → Demo Mode

