Skip to content

Unraid

This content is not available in your language yet.

An Unraid server through its GraphQL API: an array that is not started, disks disabled, missing or reporting read errors, parity checks that found errors or have not run for weeks, cache pools filling up, containers that should be running and are not, and the state of the VMs.

From the DumbMonit server (or its relay agent) to the device:

PortProtocolPurpose
80TCPWeb UI and GraphQL API (HTTP, default)
443TCPOnly with the HTTPS protocol option

DumbMonit sends an API key with the Viewer role in the x-api-key header to /graphql. The Viewer role reads everything and can change nothing. The API is built into Unraid from 7.2; on 6.12 to 7.1 it comes with the Unraid Connect plugin.

Every minute DumbMonit sends one required query (version, array, parity, data and cache disks) and four optional ones, each on its own so that a field an older API version lacks, or VMs turned off, only leaves out that part: the parity check, the Docker containers, the VMs and the unread notifications.

All metrics are prefixed dumbmonit_unraid_.

MetricLabelsMeaning
version_infoversionValue 1: the Unraid version.
array_started1 when the array is started.
array_state_infostateValue 1: started, stopped, new_array, recon_disk, disable_disk…
array_size_bytes, array_used_bytes, array_free_bytes, array_used_percentArray capacity.
disk_okdisk, role (parity, data, cache)1 when the disk’s status is DISK_OK. Empty slots are left out.
disk_status_infodisk, role, statusValue 1: Unraid’s status (disk_ok, disk_dsbl, disk_np_missing, disk_invalid…).
disk_errorsdisk, roleRead errors since the array started (the Errors column).
disk_temperature_celsiusdisk, roleOnly while the disk spins: Unraid reports none for a sleeping disk.
disk_spinningdisk, role1 when the disk spins.
disk_size_bytes, disk_fs_size_bytes, disk_used_percentdisk, roleSize, file system size and fill, for disks with a file system.
disks, disks_problem, disks_with_errorsCounts.
parity_check_status_infostatusValue 1: completed, running, paused, cancelled, failed, never_run.
parity_check_running, parity_check_progress_percentA check under way.
parity_check_okAfter a finished check: 1 without sync errors, 0 with errors or when it failed. A cancelled check proves nothing and sets nothing.
parity_check_errors, parity_check_age_seconds, parity_check_duration_secondsThe last check.
containers, containers_running, containers_autostart_stoppedDocker containers.
container_running, container_autostart_stoppedcontainerPer container; the second is 1 when a container set to start with the array is not running.
vms, vms_runningVMs.
vm_state_info, vm_crashedvm (and state)Per VM.
notifications_unreadimportance: alert, warning, infoUnread notifications.

The built-in rules that apply:

  • Unraid array stopped: the array is not started for ten minutes (Warning).
  • Unraid disk disabled or missing: a disk’s status is not DISK_OK for five minutes (Warning). The array runs degraded.
  • Unraid disk read errors: a disk reports read errors (Advisory).
  • Unraid disk too hot: a data or parity disk above 55 °C for fifteen minutes (Advisory). Cache disks, often NVMe, are left out.
  • Unraid parity check found errors (Advisory).
  • Unraid parity check overdue: the last check is more than 40 days old (Advisory).
  • Unraid cache nearly full: a cache disk more than 90 % full for thirty minutes (Advisory).
  • Unraid container stopped: a container set to start with the array has not been running for ten minutes (Advisory).

The Array panel says what is wrong in a sentence, shows the array fill, the last parity check, the running containers and VMs, then lists every disk — parity first, then data, then cache — with its status, temperature and fill, and the containers that should be running.

  1. On Unraid 6.12 to 7.1, install the Unraid Connect plugin from the Apps tab first. Unraid 7.2 or later has the API built in.

  2. Open Settings → Management Access → API Keys and create a key named as follows, with the Viewer role.

    dumbmonit
  3. Copy the key: Unraid shows it only once.

  4. In DumbMonit, enter the Unraid address (for example tower.lan), paste the key as API key and choose https if the web interface is served over HTTPS.

  • Viewer role — Reads everything, changes nothing

Vendor documentation: Using the Unraid API.

The Viewer role reads everything and can change nothing. No Unraid Connect sign-in is needed for local use.

CredentialFields
API keyA key with the Viewer role, sent as x-api-key.

Address: the host name or IP of the Unraid server, host:port, or a URL. Options:

  • Protocol (http) and Port (80): those of the web interface. With SSL set to Strict under Settings > Management Access, use https, and the myunraid.net address if the certificate is that one.
  • Accept an unverifiable certificate: for a self-signed certificate.
  • Timeout per request (15 s).

“Unraid refused the API key (401)”: the key is wrong or was deleted.

“Unraid accepted the API key but refused to answer (403)”: the key has no role, or a role narrower than Viewer.

No container, VM or parity figure: that optional query failed (VMs turned off, an older API version without the field); the rest is still read. The reason is in the server log at debug level.