Six platforms are supported, and every one of them can be monitored with the agent or agentless over SSH. The agent reads more and keeps reading through a network break; agentless installs nothing on the target. A metric a platform cannot give is shown as unknown (it exists but cannot be read this way) or n/a (it does not exist there), with the reason, and never as zero. An unknown metric never sets a host state.
| Platform | Base system | Agent install | Agentless login | Guide |
| Linux | Any distribution; x86_64, aarch64 and armv7 | Static binary and a systemd unit, or the agent container | sshd, any user; POSIX sh probe | Linux |
| Unraid | x86_64 only; the root file system runs from RAM | Agent container (compose or a container template) | sshd as root; POSIX sh probe | Unraid |
| Synology DSM | DSM 7; x86_64 and aarch64 | Container Manager project, or the binary from a boot-up Task Scheduler task | sshd (Control Panel, Terminal & SNMP) for a member of administrators; POSIX sh probe | Synology DSM |
| UGREEN UGOS Pro | Debian 12 based; DXP series x86_64, DH series aarch64 | Docker project where the model has Docker, otherwise the binary and a systemd unit | sshd (Control Panel, Terminal); POSIX sh probe. Nothing is installed on the box | UGREEN UGOS Pro |
| macOS | arm64 and x86_64 | Native binary and a launchd job | Remote Login (sshd); POSIX sh probe | macOS |
| Windows | Windows 10 1809 or later, Windows 11, Server 2019 or later; x86_64 | yarrix.exe registered as a Windows service (install-agent.ps1) | Built-in OpenSSH Server; PowerShell 5.1 or later | Windows |
Unraid, Synology DSM, UGOS Pro and Windows have not been run on real systems yet. Each guide says what has been exercised.
What each method reads#
A metric the agentless probe does not read is shown as not read. Custom checks can read anything the SSH account can; see custom-checks.md.
The agentless probes are linux.sh (version 1), macos.sh (version 1), windows.ps1 (version 1). Linux, Unraid, Synology and UGOS share linux.sh.
Linux#
| Metric | Agent | Agentless (SSH) |
| CPU | yes | yes |
| Memory and swap | yes | yes |
| Disk usage per volume | yes | yes |
| Disk I/O | yes | yes |
| Network | yes | yes |
| Uptime | yes | yes |
| Load average | yes | yes |
| Temperature | yes, if the kernel exposes hwmon or thermal-zone sensors | yes |
| GPU | needs nvidia-smi (NVIDIA) or amdgpu counters (AMD) | not read |
| SMART | needs smartctl | yes, with ssh.sudo and a NOPASSWD rule; otherwise unknown |
| RAID (md) | yes, if the md driver is loaded (/proc/mdstat) | yes |
| Containers | needs a reachable Docker socket | not read |
| Services | yes, if systemctl is present | not read |
| Sleep detection | yes, if dbus-monitor and systemd-inhibit are present | not read |
Unraid#
| Metric | Agent | Agentless (SSH) |
| CPU | yes | yes |
| Memory and swap | yes | yes |
| Disk usage per volume | yes | yes |
| Disk I/O | yes | yes |
| Network | yes | yes |
| Uptime | yes | yes |
| Load average | yes | yes |
| Temperature | yes, if the kernel exposes hwmon or thermal-zone sensors | yes |
| GPU | needs nvidia-smi (NVIDIA) or amdgpu counters (AMD) | not read |
| SMART | needs smartctl | yes, with ssh.sudo and a NOPASSWD rule; otherwise unknown |
| RAID (md) | yes, if the md driver is loaded (/proc/mdstat) | yes |
| Unraid array | yes, if mdcmd status is readable | yes |
| Containers | needs a reachable Docker socket | not read |
| Services | yes, if systemctl is present | not read |
| Sleep detection | yes, if dbus-monitor and systemd-inhibit are present | not read |
Synology DSM#
| Metric | Agent | Agentless (SSH) |
| CPU | yes | yes |
| Memory and swap | yes | yes |
| Disk usage per volume | yes | yes |
| Disk I/O | yes | yes |
| Network | yes | yes |
| Uptime | yes | yes |
| Load average | yes | yes |
| Temperature | yes, if the kernel exposes hwmon or thermal-zone sensors | yes |
| GPU | needs nvidia-smi (NVIDIA) or amdgpu counters (AMD) | not read |
| SMART | needs smartctl | yes, with ssh.sudo and a NOPASSWD rule; otherwise unknown |
| RAID (md) | yes, if the md driver is loaded (/proc/mdstat) | yes |
| Containers | needs a reachable Docker socket | not read |
| Services | yes, if systemctl is present | not read |
| Sleep detection | yes, if dbus-monitor and systemd-inhibit are present | not read |
UGREEN UGOS Pro#
| Metric | Agent | Agentless (SSH) |
| CPU | yes | yes |
| Memory and swap | yes | yes |
| Disk usage per volume | yes | yes |
| Disk I/O | yes | yes |
| Network | yes | yes |
| Uptime | yes | yes |
| Load average | yes | yes |
| Temperature | yes, if the kernel exposes hwmon or thermal-zone sensors | yes |
| GPU | needs nvidia-smi (NVIDIA) or amdgpu counters (AMD) | not read |
| SMART | needs smartctl | yes, with ssh.sudo and a NOPASSWD rule; otherwise unknown |
| RAID (md) | yes, if the md driver is loaded (/proc/mdstat) | yes |
| Containers | needs a reachable Docker socket | not read |
| Services | yes, if systemctl is present | not read |
| Sleep detection | yes, if dbus-monitor and systemd-inhibit are present | not read |
macOS#
| Metric | Agent | Agentless (SSH) |
| CPU | yes | yes |
| Memory and swap | yes | yes |
| Disk usage per volume | yes | yes |
| Disk I/O | yes | yes |
| Network | yes | yes |
| Uptime | yes | yes |
| Load average | yes | yes |
| Temperature | unknown: IOKit HID temperature sensors are not read yet | unknown: SMC temperature sensors cannot be read over plain ssh on macOS |
| GPU | yes | unknown: GPU utilization needs root-level tooling; not read agentless |
| SMART | needs smartctl | yes, with ssh.sudo and a NOPASSWD rule; otherwise unknown |
| RAID (md) | n/a: md arrays are Linux-only | n/a: md arrays are Linux-only |
| Containers | needs a reachable Docker Desktop socket | not read |
| Services | yes, if launchd label globs are set in agent.yaml (services:) | not read |
| Sleep detection | yes | not read |
Windows#
| Metric | Agent | Agentless (SSH) |
| CPU | yes | yes |
| Memory and swap | yes | yes |
| Disk usage per volume | yes | yes |
| Disk I/O | yes | yes |
| Network | yes | yes |
| Uptime | yes | yes |
| Load average | n/a: Windows has no load average | n/a: Windows has no load average |
| Temperature | unknown: no reliable temperature API without vendor drivers | unknown: no reliable temperature API without vendor drivers |
| GPU | needs nvidia-smi | unknown: GPU utilization is not read agentless |
| SMART | needs smartctl.exe (smartmontools), run as an administrator | unknown: needs smartmontools installed and an Administrators account |
| RAID (md) | n/a: md arrays are Linux-only | n/a: md arrays are Linux-only |
| Containers | needs the docker_engine named pipe | not read |
| Services | yes, if service name globs are set in agent.yaml (services:) | not read |
| Sleep detection | yes, if running as the Windows service | not read |