SLA reports¶
Preview feature
SLA reports (part of Reports) 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.
How available was a check in a given period? /reports (default SLA tab).
Definition¶
What counts as available: exclusively time with status OK.
What counts as an outage:
- WARNING and CRITICAL time (weighted the same — there's no option to exclude WARNING from the calculation)
- NO_DATA time (agent/collector offline) — always counted as an outage
What drops out of the calculation entirely (counted neither as an outage nor as availability):
- Time inside an active, planned downtime — this is fixed and not configurable
- ACK phases still count as an outage — ACK is just a notification pause, not "the world was OK"
View¶
/reports → SLA:
| Element | Meaning |
|---|---|
| Period | a day-range slider or a custom start/end |
| Tenant selection | multi-select (super admin: cross-tenant; otherwise automatically limited to your own scope) |
| SLA target | a freely settable comparison value (default 99.9%) — purely visual, not stored or validated |
| Exclusions | individual hosts/checks can be removed from the view client-side, e.g. for a sample report |
Output: a table with availability per row, expandable down to host level.
Example output¶
Tenant Acme — April 2026
─────────────────────────────────────────────────────────────────
Service Available Downtime
api.acme.com / HTTP 99.92% 00:32h
api.acme.com / TLS cert 100.00% -
db01.acme.local / Postgres 100.00% -
sw-core / IF Gi1/0/1 99.45% 03:58h
sw-core / IF Gi1/0/2 100.00% -
─────────────────────────────────────────────────────────────────
Tenant total 99.83% 04:30h
Calculation¶
flowchart LR
CR[check_results] --> RATIO[OK share per check]
DT[active downtimes] --> EXCL[Exclude time]
SH[state_history] --> ND[NO_DATA seconds]
RATIO --> CALC[Availability %]
EXCL --> CALC
ND --> CALC
Endpoints¶
| Endpoint | Scope |
|---|---|
GET /api/v1/services/{service_id}/sla |
a single check, regular tenant access |
GET /api/v1/tenants/{tenant_id}/sla-report |
all checks of a tenant, regular tenant access |
GET /api/v1/sla-report |
cross-tenant, super admin only |
Period via start/end parameters, default the last 30 days.
Export¶
| Format | For |
|---|---|
| Browser view | interactive, with exclusions |
| CSV | generated client-side from the loaded view (UTF-8 with BOM, Excel-friendly) |
a separate route via PDF reports with report_type: sla |
There's no dedicated server-side export endpoint for the SLA view — CSV is produced directly in the browser from the numbers already loaded.
Scheduled SLA PDFs¶
A monthly SLA PDF per tenant can be scheduled under PDF reports with report_type: sla — auto-generated and emailed.
Multiple SLA targets¶
When different checks have different expectations ("API: 99.9%, wiki: 99.0%"), use tags and filter the view separately per tag — the SLA target field is only a visual comparison value.
Next¶
- PDF reports — the distribution workflow for SLA as PDF
- Downtimes — how maintenance windows drop out of the calculation