Machines
Deployment monitoring lives on Reports > Machines (/reports) - the roster of active and
completed deployments - with per-machine detail one click away at /machines/{id}. The old
/devices and /machines addresses redirect to the roster.
There is no separate live-console page. Everything a machine has to say is either a row on the roster or a panel on its own detail page.
The roster
Reports > Machines opens with a summary strip (total, completed, failed, in progress, and the success rate across finished deployments) and a 30-day deployments-per-day trend line. An Autopilot row of registered / pending / failed counts appears only when at least one machine has an Autopilot status.
Filter bar
- Search - hostname, MAC address or serial number
- Status - Pending, In Progress, Completed, Failed
- Recipe - the assigned deployment recipe
- Manufacturer and Model - both populated from what agents actually reported, so the lists only ever contain hardware you own
The counter on the right of the bar states how many machines match. It mentions the 100-row display cap only when the list is genuinely truncated ("Showing 100 of 243").
Table
| Column | Contents |
|---|---|
| Machine | Hostname over MAC address, linking to the machine's detail page. MAC alone when the hostname is not known yet. |
| Make/Model | Manufacturer, with the model and then the serial number stacked underneath - one hardware-identity column rather than three. |
| RAM / Disk | Reported by the agent, in GB. |
| Recipe | The assigned deployment recipe. |
| Status | Colour-coded badge. |
| Progress | An animated bar for deployments in flight, 100% once complete. |
| Last Seen | Last contact from the agent. |
Fleet-wide hardware distribution - manufacturers, models, RAM and disk buckets - is its own tab, Reports > Hardware, because the roster's filters do not apply to it and mixing the two made both harder to read.
Machine detail
/machines/{id} is read-only. Deployments are driven entirely by the PXE agent, so there is no
retry, reassign or cancel here.
- Summary - MAC, last check-in, deployment status, assigned recipe, source site, deployment start and completion timestamps, and an Autopilot status row that appears only for machines that actually went through Autopilot.
- Hardware - manufacturer, model, serial, RAM (GB), disk size, applied drivers.
- Recent Deployment Logs - the last 50 log entries for this machine, newest first, colour-coded by level.
Get logs (relay-deployed machines)
Machines deployed through a relay carry a SourceSiteId. For those, the Get logs action in the
page header fetches the relay's own log trail for the machine and shows it in a searchable,
copyable dialog. The relay is identified from SourceSiteId and authenticated with its API key;
the MAC address is the join key, because machine IDs differ between the Core and relay databases.
The button explains itself when it cannot run: for a Core-deployed machine it is disabled with "This machine was deployed directly by Core - no relay to pull logs from."
How logs get here
The agent's Serilog pipeline includes a ServerConsoleSink that batches log output and posts it
back roughly once a second during deployment. Those entries are what the Recent Deployment Logs
panel reads. They persist, so the panel is just as useful after a deployment finishes as during one.
Retention
Machines are purged automatically after a configurable number of days (default 7, set in
Settings > General > Data Retention). MachineCleanupService runs daily and deletes machines
not seen since the retention cutoff that are not actively deploying. Set retention to 0 to disable
auto-purge.
A machine's deployment history (the list of past deployments on its page) is kept separately under Deployment History on the same tab: entries older than that many days are removed by the same daily cleanup, 365 by default, 0 to keep forever. The rows also go with the machine when the machine itself is purged. Finished ISO detection jobs follow the Job History retention, like driver downloads and WIM jobs.