Live demo

The dashboard you
get out of the box.

A static preview of what an operator sees once Umbrella is running with a pool of three production backends, an auth service, and a billing cluster with one of its nodes flapping. Everything below renders the actual product chrome — not screenshots.

https://umbrella.example.com/dashboard live · v0.1.0

Overview.

Live topology of pools, backends and routes. Snapshot rebuilds atomically on every config change — no restart required.

Snapshot
v47
Pools
3
Backends
7
Routes
3
Status
Operational
Live topology
active unhealthy idle · in-flight 16 · total 57,480
Traffic over time
req/min err/min p95
Top routes · 1h
api-default 38,456
auth 8,409
billing-canary 1,872
Top error paths · 1h
/billing/charge/3491 7
/billing/charge/2210 4
/api/v2/checkout 2
Backend health · 7
id ascending
PoolBackendUpstream W State In-flight Total
api-prod edge-01 http://10.0.1.10:8080 1 healthy 4 12,843
api-prod edge-02 http://10.0.1.11:8080 1 healthy 3 12,780
api-prod edge-03 http://10.0.1.12:8080 1 healthy 2 12,812
auth-svc auth-a http://10.0.2.10:8080 1 healthy 1 4,211
auth-svc auth-b http://10.0.2.11:8080 1 healthy 0 4,198
billing billing-1 http://10.0.3.10:8080 5 healthy 6 9,402
billing billing-2 http://10.0.3.11:8080 1 unhealthy 0 1,234

What you’re looking at

Three primitives,
one operator view.

The dashboard above isn’t a screenshot — it’s the same SVG renderer the live product uses, fed mock data. The animated dots between routes and backends mirror the configured balancing strategy of each pool. Round-robin alternates. Weighted favours high-weight backends. Unhealthy lines turn red.

A / Topology

A live graph of every request in flight.

Routes on the left. Pools in the middle. Backends on the right. Hover any node to spotlight its subtree. Auto-polls every five seconds without resetting in-flight particles.

B / KPIs

Snapshot revision is the truth.

The version counter ticks up on every config write. If you save a route and the number doesn’t change, something failed. Total / errors / p50 / p95 reflect the configured analytics backend — SQL or ClickHouse.

C / Health table

Real numbers, not approximations.

In-flight, total, last error, last status — all read from the live HealthRegistry, not a sampled cache. Filterable, sortable, surfaces problems without you needing to go ssh anywhere.

Install Umbrella Read the docs View on GitHub