Availability (SLA) reports
An availability report shows how much of a period each device was up, measured
against a target (99.9% by default), with the alert incidents that caused the
misses. Open it on the dashboard under Monitor › Reports (the Availability
report card), or ask Claude, which uses metrics.availability. Every member of
the organisation can run it, viewers included.
The report is built from the metrics SZ-MCP already stores, so it needs API polling turned on (it is off until an admin turns it on; see Metrics). With no data, the report says “No … reports in the period: turn on the stream or API polling”.
Which devices can I report on?
Section titled “Which devices can I report on?”Six device types, each measured by its own up/down metric:
| Devices (dashboard label) | type | Measured by |
|---|---|---|
| Access points | ap | ap_up |
| Switches | switch | switch_up |
| Switch ports | port | port_up |
| Controller cluster | cluster | cluster_in_service |
| Controller nodes | node | node_in_service |
| Synthetic checks (AP → target) | probe | probe_up |
The dashboard opens on Access points for the current month and runs the report straight away.
For switch ports, ports that were never up during the period are left out by
default (most unused ports are down all the time). The report says how many were
left out. Claude can include them with activeOnly: false.
How do I choose the period and grouping?
Section titled “How do I choose the period and grouping?”Pick a UTC month, or clear the month and type your own From and To. The form’s fields are:
| Field | Default | Notes |
|---|---|---|
| Devices | Access points | One of the six types above |
| Month (UTC) | The current month | A calendar month in UTC |
| From / To | Shown when the month is cleared | ISO dates or times, UTC. Without a month, the period defaults to the last 30 days |
| Group by | No grouping | Zone, AP group, Switch group or Location |
| Target % | 99.9 | Devices below it are shown in red |
| Within | Everything | An inventory id such as zone:…, to report on part of the network |
Claude takes the same settings and a few more. by accepts any inventory label,
for example switch or a tag as tag_<key>. minState: 'WARNING' lists
WARNING incidents as well as CRITICAL ones. limit sets how many devices are
listed (50 by default, at most 500). The totals always cover every device.
How is availability worked out?
Section titled “How is availability worked out?”Availability is the time a device was up divided by the time it was observed, weighted by time. For each hour (or day) the report takes the share of reports that said “up”, and that share counts for the whole hour (or day).
- Hours with no report count neither way. They lower Coverage instead of availability, so a device that stopped reporting is not shown as down. Devices in the inventory that sent no report at all are counted separately as unreported.
- Planned downtime doesn’t count against a device. Time inside a downtime window on the device, or on anything it is under (its zone, group or location), is Planned. A downtime set on a rule alone does not make the time planned. Down time is placed inside the downtime window first.
- Resolution follows the metric tiers. A period that starts within the last 8 days uses hourly rollups. Anything older uses daily rollups (UTC days, kept 400 days). On daily rollups, a period that starts or ends mid-day counts that whole day’s average for the part inside the period, and the report says so.
The result shows six tiles: Availability, Devices, Below target, Unplanned down, Planned and Coverage. Below them are a table per group (when grouped), Devices, worst first, and Incidents.
What are the incidents?
Section titled “What are the incidents?”The incidents are the HARD alert episodes on those devices that overlap the period, longest first. Each one shows the device, the rule (“Check”), the state, its start and end in UTC (or “ongoing”), the minutes inside the period, and whether it was planned. Each has a Post-mortem link that writes the episode up. By default only CRITICAL episodes are listed, and at most 200.
Can I get it as a file?
Section titled “Can I get it as a file?”Yes: once the report has run, the CSV button downloads it, and Print / PDF
prints it. The printed page leaves out the sidebar and the form. The CSV holds
one row per device: id, name, the group columns when grouped,
availability_percent, meets_target, down_minutes, planned_minutes,
coverage_percent and incidents. Its filename is
availability-<type>-<from>-<to>.csv.
When Claude runs the report, it also returns a link that opens the same report on the Reports page.
What errors can I get?
Section titled “What errors can I get?”| Message | Cause |
|---|---|
month is 'YYYY-MM' | A month in the wrong form |
from and to are ISO times or epoch ms | A From or To that isn’t a time |
No entity or location <id>. | The Within id isn’t in the inventory |
The period is empty: from must be before to (and before now). | From is after To, or in the future |