Dashboard
Your first screen after signing in — what needs attention right now, arranged the way you want it, and savable as named views you can switch between.
What the dashboard is
The dashboard at /dashboard is the one screen that answers "is anything wrong?" without you opening a single monitor. It is where Enori lands you after login, and everything on it is derived from the monitors you already run — there is nothing to configure before it works.
It is made of a pinned summary hero and six panels you can reorder, hide, and save. Above them sits a bar with four controls: a time range, your saved views, a client scope (Business), and layout settings.
Everything updates itself. Enori pushes changes to the open page as checks complete, so there is no refresh button and no auto-reloading — an idle tab costs nothing.
/dashboard/healthis an old address for this same screen and redirects here, query string and all. Update your bookmarks when you get the chance.
The summary hero
The hero is pinned to the top and cannot be moved or hidden. It gives you, in one line:
- A headline and subtitle — "All systems operational" with a healthy count, or the number of
monitors currently down or degraded. Paused monitors are called out separately, because a paused monitor is not a healthy one; it is one that is deliberately not contributing to availability.
- A capacity chip —
12 / 50 monitorswith a bar that turns amber past 80% and red at the cap,
plus an inline upgrade link when you're full and not already on Business.
- Five stats — Up · Degraded · Down ·
Avg uptime {range}· Avg response.
The portfolio uptime figure is computed by the backend from each monitor's own uptime summary. Enori never re-derives a percentage in your browser, so this figure and the one on a monitor's own page are answering the same question with the same arithmetic.
The six panels
| Panel | What it shows |
|---|---|
| Needs attention | The monitors that actually need you — down, degraded, expiring, alertable — with the reason and how long it has been going on. |
| SLO health | Your active SLOs and whether each is meeting its target. |
| Monitor health | The uptime ribbon: one row per monitor, a bar strip across the selected range. Paused monitors stay in the list, sorted to the bottom — hiding them would let the panel look healthy while something critical was silently switched off. |
| Performance trends | Monitors that are getting Slower, getting Faster, or sitting Near threshold, as a three-way tab strip with counts. |
| Upcoming | Certificate and domain expiries, cron runs, scheduled maintenance, snoozes ending, report deliveries and billing dates. See Upcoming. |
| Recent activity | A live feed of what has happened, with read state. See below. |
One naming quirk to know before you go looking: the Performance trends panel is still listed as "Getting slower" in the Layout settings modal, and Monitor health is listed there as "Monitor health (uptime ribbon)". Same panels, older labels.
Two panels deliberately ignore the dashboard's time range:
- SLO health uses each SLO's own window — 7 days, 28 days, 90 days or a calendar cycle, whichever
was set when the SLO was created. A hover tooltip on the panel says so.
- Upcoming always looks 90 days ahead, because a forward-looking list has nothing to do with how far
back you're looking.
An SLO that has not run long enough to be scored reads "not enough data" rather than a percentage, and its burn-rate and budget figures are suppressed along with it — that is a different statement from "0% achieved", and the panel keeps them distinct. The same SLO says the same thing on its monitor's page and on your public status page, in slightly longer wording to suit the space each has.
Every panel loads and fails on its own. If one panel's data can't be fetched, that panel says so and the rest of the dashboard carries on. You will never lose the whole screen to one failing query.
If you have no monitors at all, the dashboard replaces itself with a single "No monitors yet" card and an Add Monitor button.
Arranging it: layout
Click the layout button in the top bar to open Layout settings, or drag a panel by its handle.
- Reorder — drag any row into the order you want. The hero stays at the top regardless.
- Hide — untick a panel in Layout settings, or use the eye button on the row itself.
- Reset to default — in Layout settings; the button is greyed out until you have actually changed
something.
Your arrangement is saved to your account, not to the browser — sign in anywhere and your dashboard looks the same.
Two rows are pairs. Needs attention sits beside SLO health, and Performance trends sits beside Upcoming. Each pair moves as one row, with a single drag handle on the left-hand panel. That has one consequence worth knowing: the eye button on the row hides the left-hand panel; to hide the right-hand one, use Layout settings. If you go looking for a hide button on SLO health or Upcoming, that is why there isn't one.
If a saved arrangement mentions a panel that no longer exists, Enori drops it silently; a panel added after you saved is appended at the end. An old layout never breaks and never needs migrating.
Saved views
A saved view is a named combination of a client tag, a time range, and a panel layout. Switch between them from the strip in the top bar.
Saved views are a paid feature, and Base has none. | Plan | Saved views | |---|---| | Base | 0 — the feature is not available | | Pro | 3 | | Business | unlimited | Trying to create one over your limit returns an upgrade error naming your plan and its allowance. Nothing is created.
What a view captures: the tags you have scoped to, the time range, the panel order, and which panels are hidden — all six ranges included, 60d among them. Applying a view rewrites your layout to match; applying the All tab clears the scope and resets the layout to default. A view saved before layout capture existed leaves your layout untouched.
Names are required, at most 80 characters, and unique per account — a duplicate is rejected with "A saved view with this name already exists."
Tags must already exist. A view can only be scoped to a tag that is already on one of your monitors; otherwise you get "Unknown tag(s): … Tag a monitor with this tag first." Tag the monitor first, then save the view.
Pinning and defaults:
- Up to 3 pinned views render as tabs in the strip. Any others live in the overflow dropdown.
Pinning is not plan-gated — the plan cap is on how many views exist, not on how many you pin.
- One view can be your default. It renders as the first tab and applies automatically the first time
you open the dashboard in a session, unless the URL already names a view.
The URL is the address of what you're looking at. Your active view, client tag and time range all live in the query string (?view=…&tag=…&range=…), not in browser storage. Reload and browser back/forward keep all three, and sending someone the link puts them on the same view, the same client scope and the same window — against their own data.
Time range
Six windows: 1h · 24h · 7d · 30d · 60d · 90d, starting at 24h each time you open the dashboard.
How far back you can look is your plan's data retention:
| Plan | Retention | Longest range |
|---|---|---|
| Base | 30 days | 30d |
| Pro | 60 days | 60d |
| Business | 90 days | 90d |
Ranges beyond your retention are greyed out with a tooltip explaining which plan includes them — "60-day range — included on Pro and Business", "90-day range — included on Business". They are greyed rather than hidden because there is genuinely no data behind them to plot, not because we're hiding a feature.
Your choice of range survives a reload, because picking one writes it into the page's address. Open the dashboard fresh with no range in the address and you start at 24h; save a view to have a particular window applied for you whenever you switch to it.
Changing the range re-windows the hero's uptime and response figures, the uptime ribbon, performance trends and the activity feed. It does not touch SLO health or Upcoming, for the reasons above.
Client mode (Business)
If you run monitors for several clients, tag each client's monitors and use the client chip in the top bar to scope the whole dashboard to one of them. Every panel refetches for that tag; the chip lists "All clients" plus each of your monitor tags.
Below Business the chip is visible but locked, with a tooltip explaining what it does.
One deliberate exception: the client scope does not decide whether you see the "No monitors yet" empty state. A tag that happens to match nothing is not the same thing as an account with no monitors, and the dashboard does not confuse the two.
Tags come from your monitors — see monitors for how to tag one.
Recent activity
The activity feed is the running record of what happened, newest first, grouped into time buckets ("Just now", "Earlier today", and so on). It shows the most recent 20 events inside your selected time range.
Filter chips: all · incidents · changes · team · system. Your choice is remembered in the browser for next time.
Read state, which is per account and syncs across your devices in real time:
- Clicking a row marks it read.
- Leaving the panel at least half on screen for 2 seconds marks the feed read — the dwell is there so
scrolling past doesn't silently clear your unread count.
- Mark all read appears at the foot of the panel while anything is unread.
This is not the bell. The notification centre is your personal inbox of things Enori wants to tell you; the activity feed is a record of what happened on the account. And it is not the audit log either — the audit log is the complete, exportable, permanent record of every configuration change with actor and IP; the feed is a recent-events glance.
Live updates, no polling
Enori pushes monitor changes to the open dashboard over a live connection and patches the data in place — no request per event, and no timer refetching in the background. A short, bounded reconcile follows a push to pick up the few cross-monitor aggregates a single event cannot patch.
The practical consequences:
- An idle dashboard tab generates essentially no traffic. Leaving it open all day is free.
- There is no refresh button, and you never need one.
- A number can lag a live event by up to about a minute in the narrow cases that need the reconcile.
Reloading is never wrong, it is just rarely necessary.
FAQ
Why can't I hide the SLO health panel from the row itself?
Because it is the right-hand half of a paired row, and the row's eye button hides the left-hand panel. Open Layout settings and untick it there. The same applies to Upcoming.
Why is the 90-day range greyed out?
Your plan's data retention is shorter than 90 days — the range is offered on Business. Base keeps 30 days, Pro 60. There is no data behind a longer window to draw.
My saved-view limit says 0.
You are on Base, which does not include saved views. Pro includes 3 and Business is unlimited.
The dashboard says everything is operational but a monitor looks down.
Check the Up / Degraded / Down strip in the hero first — the headline and the strip are computed from the same live monitor set, so they cannot disagree. If the incident count looks behind, that is expected for up to about a minute: incidents are opened by a background worker and reach your screen on the reconcile rather than on the push.
Why does SLO health show a different period from everything else?
Every SLO carries its own measurement window, chosen when you created it. Scoring it over the dashboard's selected range would produce a number that is not the SLO. See SLOs.
Why does Upcoming always say 90 days?
It is a forward-looking list, and the dashboard's range selector looks backwards. The 90-day horizon is fixed here; the full Upcoming page is the place to go further into the detail.
An SLO says "not enough data".
It has not accumulated enough measured time to be scored — most often it is new, or its monitor has been paused for most of the window. It is deliberately not shown as 0%, which would read as total failure. The burn rate and budget-used figures are hidden for the same SLO, because there is no budget to express them against yet.
Does leaving the dashboard open cost me anything?
No. Nothing polls. Updates arrive over a push connection, so an idle tab makes essentially no requests.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| "No monitors yet" although you have monitors | You are looking at a genuinely empty account, or you are signed in as the wrong user | Check the account in Settings |
| A panel says it can't load | That panel's data request failed | Reload; if it persists, it's on us — mail support |
| One panel is missing entirely | It is hidden | Layout settings → tick it back on |
| Panel order came back different | You applied a saved view, which rewrites the layout | Apply All to reset, or re-save the view |
| A view won't save — "Unknown tag(s)" | The tag isn't on any of your monitors yet | Tag a monitor with it, then save |
| A view won't save — name conflict | View names are unique per account | Pick another name, or overwrite the existing view |
| A view won't save — upgrade error | You are at your plan's saved-view limit | Delete one, or upgrade |
| The client chip is greyed out | Client mode is a Business feature | Upgrade, or filter by tag from the Monitors page |
| Longer ranges greyed out | Plan retention | See the retention table above |
| Your unread count cleared itself | The panel was at least half visible for 2 seconds | Working as intended |
Reference: limits
| Thing | Base | Pro | Business |
|---|---|---|---|
| Saved views | 0 | 3 | unlimited |
| Data retention / longest range | 30 days | 60 days | 90 days |
| Client mode (tag scope) | — | — | ✓ |
| Thing | Value |
|---|---|
| Panels | 6, plus the pinned hero |
| Pinned view tabs | 3 (the rest go to the overflow menu) |
| Saved-view name | Required, ≤ 80 characters, unique per account |
| Default time range | 24h |
| Upcoming horizon | 90 days, fixed |
| Activity feed rows | 20 |
| Activity auto-read dwell | Panel ≥ 50% visible for 2 seconds |
Related documentation
- Upcoming — the full forward-looking list behind the dashboard panel.
- SLOs — what the SLO health panel is measuring and how its windows work.
- Incidents — what counts as an active incident in the hero's count.
- Notifications — the bell, which is a different thing from the activity feed.
- Audit log — the permanent, exportable record of configuration changes.
- Alerts — where downtime alerts go, as opposed to where they are displayed.
- Billing & Subscription — plans, retention, and what an upgrade changes.
Last updated: 2026-08-23. Feedback or corrections: support@enori.io