Blog

Monitoring Hangfire across multiple client apps without ten browser tabs

Hangfire's built-in dashboard is scoped to one storage instance — which is fine, right up until you're running it for more than one application. For an agency, that's usually the normal case, not the exception.

What "one dashboard per app" actually costs

Every client project on Hangfire gets its own /hangfire route, its own login, its own tab. Five client projects means five tabs to remember to open on a Monday morning. Twelve means you've stopped doing it every day, and started doing it "when something feels off" — which is exactly backwards from how monitoring is supposed to work. The apps you check least often are, almost by definition, the ones where a problem has had the most time to sit unnoticed.

This isn't a Hangfire shortcoming so much as a scope mismatch: the dashboard was built to answer "what's happening in this app, right now," not "which of my thirty apps needs attention today." Those are genuinely different questions, and no amount of squinting at a single-app dashboard answers the second one.

What a cross-app view actually needs to show

Not every job, all the time — that's too much detail to be useful at a glance. What actually matters when you're scanning across applications is a per-app health status: is this one healthy, is it throwing errors, or has it gone quiet (no heartbeat at all, which usually means the worker process itself has a problem, not just a specific job). One list, one glance, and you know which of your client projects — if any — needs a closer look today.

How QueueHawk approaches this

QueueHawk is priced and organized around exactly this unit — "how many applications are you monitoring," not events or job runs, because that's how agencies actually think about the work. Each Hangfire-connected application shows up as its own row with a health status, in the same dashboard as every other application on the account. Adding a new client project means installing QueueHawk.Agent in that project and pointing it at the same account — no separate login, no new dashboard to remember.

Setup doesn't change per app either: it's the same one-line AddQueueHawk(...) registration alongside the Hangfire setup that's already there, regardless of which or how many client projects you're rolling it out to.

See also: why job history disappears in the first place, and how alerting closes the loop so you don't have to be looking at the dashboard at all when something breaks.

← All articles Try QueueHawk free →

One dashboard, every client project

Free for one application, no card required.

Start free