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.
Overview.
Live topology of pools, backends and routes. Snapshot rebuilds atomically on every config change — no restart required.
| Pool | Backend | Upstream | 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 |
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 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.
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.
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.