Physical Disks & Disk Health Inventory
For every managed machine, Athena inventories the physical drives installed in it — model and serial number, media type (SSD, HDD or NVMe), the interface the drive is attached through, capacity, firmware version, how many partitions it carries, and a reported health status. That gives you a fleet-wide view of your storage estate — for example which machines still run spinning disks, which drives are near end of life, or which report a warning — without opening a case or logging in to each device.
Physical disks are the hardware; storage devices are the volumes. This section reports the physical drives themselves. The separate Storage Devices section reports the logical drives/volumes and their free space. Use physical disks to reason about the hardware (media, health, capacity); use Storage Devices when you care about how full a volume is.
What's collected#
Each physical disk record captures the following:
| Field | Meaning |
|---|---|
| Disk # | The disk's ordinal number on the machine, used to tell multiple drives apart. |
| Model | The drive's model / friendly name as reported by the hardware. |
| Serial Number | The manufacturer serial of the drive — useful for warranty lookups and tracking a specific unit. |
| Type (media) | The media class of the drive: SSD, HDD, or Unknown when it can't be determined. NVMe drives are shown with a solid-state style. |
| Interface | The bus the drive is attached through — for example NVMe, SATA, SAS, USB, RAID or SCSI. |
| Total Size | The drive's capacity, shown in a human-readable form (GB / TB). |
| Health | The drive's reported health: Healthy, Warning, Unhealthy, or Unknown when the machine doesn't expose a health signal. See Reading the health status. |
| Partitions | How many partitions exist on the drive. |
| Firmware Version | The drive's firmware revision, where the hardware reports it — handy for spotting drives on firmware known to need updating. |
This is read-only discovery. Athena reports what each drive already reports about itself; it does not run a surface scan, initialise, partition, format, or otherwise write to the disk.
Reading the health status#
The Health value is a normalized summary of what the drive itself reports, so you can scan a fleet for trouble without interpreting raw diagnostics per machine:
| Health | What it means |
|---|---|
Healthy | The drive reports itself as good / passing. |
Warning | The drive reports a degraded or at-risk condition — worth planning a replacement. |
Unhealthy | The drive reports a failing / failed condition — treat as an urgent replacement candidate. |
Unknown | The machine did not expose a usable health signal for this drive (see below). It is not a statement that the drive is bad. |
A drive can legitimately report Unknown — for example on hardware or drivers that
don't surface a health value, or where the reading requires privileges the agent doesn't have.
Treat Warning and Unhealthy as your action list, and use
Unknown as a signal to check that specific machine more closely if the drive
matters.
Platform coverage#
Physical disks are inventoried on both Windows and Linux endpoints, using each operating system's own native facilities, so a mixed fleet answers the same questions consistently. The exact fields a given machine can populate depend on what its hardware and drivers expose.
| Aspect | Windows | Linux |
|---|---|---|
| Model, serial, size, interface, partitions | Reported. | Reported. |
| Media type (SSD/HDD) | Reported where the platform exposes it. | Derived from whether the device is rotational. |
| Health | Reported from the platform's storage health signal where available. | Read from the drive's self-test health where the standard SMART tooling is present and permitted; otherwise Unknown. |
| Firmware version | Reported where available. | Reported where available. |
On Linux, drive health comes from the drive's own SMART self-assessment. If a Linux machine
shows Unknown health for drives you expect to report, confirm that the standard
SMART command-line tooling is installed on that endpoint and that the agent can read the drive
with the privileges it runs under.
Where to see it#
Open a machine from the Agents list, then in the agent detail view's left-hand navigation choose Physical Disks. The section lists every drive in a table with its media type and health shown as coloured badges, so a machine with a warning or an ageing spinning disk stands out at a glance.
As with the rest of inventory, the values reflect the machine's last successful collection on its regular reporting cadence rather than a live query at open time. For the wider inventory surface and refresh behaviour, see Inventory.
Auditing across the fleet#
Physical-disk fields are a per-machine readout rather than machine-filter fields, so you won't find them in the collection or automatic-tagging field pickers. To answer a fleet-wide question — "which machines have a drive reporting Warning or Unhealthy?", "which still run HDDs?", or "which drives are on old firmware?" — the practical approaches are:
- Open the machines you care about and read the Physical Disks section directly for a quick, targeted check.
- Run a scan or use a compliance rule to evaluate a disk condition on the endpoint and surface the result — which you can then use in collections, tagging and reports like any other scan-derived field.
- Pull the data over the API and filter or export it with your own tooling.
Reading it over the API#
Physical disks are part of an agent's full inventory. Fetch the complete inventory document and
read the physicalDisks array:
# Fetch the full inventory for one agent, then inspect its physical drives
$headers = @{ Authorization = "Bearer $token" }
$inv = Invoke-RestMethod `
-Uri "https://athena.example.com:8443/api/agents/$agentId/inventory" `
-Headers $headers `
-SkipCertificateCheck
# List each drive with its media type, health and firmware
$inv.data.physicalDisks |
Select-Object diskNumber, model, mediaType, interfaceType, healthStatus, firmwareVersion
# Flag any drive not reporting Healthy
$inv.data.physicalDisks |
Where-Object { $_.healthStatus -ne "Healthy" }
Reading inventory requires the Helpdesk role or higher. The
physicalDisks array is empty (or the parent inventory is null) when a
machine has not yet reported this data. There is no dedicated per-category endpoint for physical
disks — they arrive with the full inventory document above. For the full inventory surface and
the PowerShell module used to script against the server, see
Inventory and the
PowerShell Module reference.