Skip to content
SZ-MCP
Get Support

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”.

Six device types, each measured by its own up/down metric:

Devices (dashboard label)typeMeasured by
Access pointsapap_up
Switchesswitchswitch_up
Switch portsportport_up
Controller clusterclustercluster_in_service
Controller nodesnodenode_in_service
Synthetic checks (AP → target)probeprobe_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.

Pick a UTC month, or clear the month and type your own From and To. The form’s fields are:

FieldDefaultNotes
DevicesAccess pointsOne of the six types above
Month (UTC)The current monthA calendar month in UTC
From / ToShown when the month is clearedISO dates or times, UTC. Without a month, the period defaults to the last 30 days
Group byNo groupingZone, AP group, Switch group or Location
Target %99.9Devices below it are shown in red
WithinEverythingAn 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.

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.

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.

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.

MessageCause
month is 'YYYY-MM'A month in the wrong form
from and to are ISO times or epoch msA 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