Skip to content

Public status pages

Preview feature

Status Pages are off by default — menu entry, page and API are locked until a super admin enables the area under Admin → System → Preview features. The area is not stable yet.

A status page is the publicly accessible "are our services up?" page. Vesana can generate one or more per tenant, each under its own slug.

Concept

flowchart LR
    OS[Vesana data] --> SP[Status page]
    SP --> URL["/status/<slug>"]
    URL --> KU[End customer / staff]

The status page is read-only, logic stays in Vesana — only curated statuses are shown. No login required (optionally protectable with a password).

Status pages are a licensed feature — if it's not included in the license, the area stays locked.

Create a status page

/status-pagesNew:

Field Meaning
Slug URL path: /status/<slug>
Title "Acme Production Status"
Description optional
Tenant source tenant
Public whether the page is reachable without login
Branding logo, primary color, favicon, custom CSS
Timezone for timestamps on the page

Components = hosts

A status page adds entire hosts as components, in any order (drag & drop). Per host:

Field Meaning
Checks by default all of the host's checks feed into the displayed status — optionally restrict to a subset (e.g. show only the HTTP check, hide the internal CPU check)
Show uptime toggle the 90-day uptime bar for this host on/off

There's currently no freely definable display grouping ("Web", "API", …) and no per-component display-name override — the order of the hosts determines the page's structure.

Branding

Field Meaning
Logo image URL
Primary color hex, default green
Favicon image URL
Custom CSS your own styles
Timezone prefilled with the instance timezone, UTC if none is set

Password protection

A status page can optionally be locked with a password. Visitors enter it once (/status/<slug>/auth), after which a time-limited browser session applies. Send access by email lets an admin email the slug URL and password directly to a stakeholder.

Content

The page shows:

  • Current status per host component
  • Incidents with an update timeline
  • Scheduled maintenance
  • Uptime statistics (pixel bar) per host, where enabled
  • Email subscription for incidents (optional)

Incidents

Some incidents aren't automatically detectable (a third-party outage, a pure communications update). Create manually:

Status page → Incidents → New with title, status (investigating/identified/monitoring/resolved — freely settable), impact (e.g. minor), optionally affected hosts.

Updates can be added to an incident afterwards — the page shows a timeline of status + text per update.

Scheduled maintenance

Maintenance is created directly on the status page (Status page → Maintenance → New, with title, affected hosts, start/end) — it's its own category, not an automatic import of internal downtimes. If you also want to publicly announce an internal downtime, add a matching entry here.

Subscriptions

End customers can subscribe by email to a status page (/status/<slug>/subscribe), with double opt-in confirmation by mail. Per subscription: notify on Warning, on Critical, on Recovery. Unsubscribe via an individual link in every email.

Privacy

The status page shows only what was explicitly added as a component — internal hostnames, IP addresses, or measurement values from other checks stay invisible unless they were themselves chosen as a component.

Permission

All administrative actions (create, edit, manage hosts, incidents, maintenance, delete) run through the same permission as custom dashboards:

Permission Effect
dashboards.edit create, edit, and manage status pages

There are no dedicated status_page.* permissions.

Next