Ir al contenido

Unraid

Un servidor Unraid a través de su API GraphQL: un array que no está iniciado, discos desactivados, ausentes o reportando errores de lectura, comprobaciones de paridad que encontraron errores o no se han ejecutado en semanas, pools de caché que se llenan, contenedores que deberían estar en ejecución y no lo están, y el estado de las VMs.

DumbMonit envía una clave de API con el rol Viewer en la cabecera x-api-key a /graphql. El rol Viewer lee todo y no puede cambiar nada. La API viene integrada en Unraid desde la 7.2; en la 6.12 a 7.1 viene con el plugin Unraid Connect.

Cada minuto DumbMonit envía una consulta obligatoria (versión, array, paridad, discos de datos y caché) y cuatro opcionales, cada una por su cuenta para que un campo que una versión más antigua de la API no tenga, o las VMs apagadas, solo omitan esa parte: la comprobación de paridad, los contenedores Docker, las VMs y las notificaciones no leídas.

Todas las métricas tienen el prefijo dumbmonit_unraid_.

MétricaEtiquetasSignificado
version_infoversionValor 1: la versión de Unraid.
array_started1 cuando el array está iniciado.
array_state_infostateValor 1: started, stopped, new_array, recon_disk, disable_disk…
array_size_bytes, array_used_bytes, array_free_bytes, array_used_percentCapacidad del array.
disk_okdisk, role (parity, data, cache)1 cuando el estado del disco es DISK_OK. Las ranuras vacías se omiten.
disk_status_infodisk, role, statusValor 1: el estado de Unraid (disk_ok, disk_dsbl, disk_np_missing, disk_invalid…).
disk_errorsdisk, roleErrores de lectura desde que arrancó el array (la columna Errors).
disk_temperature_celsiusdisk, roleSolo mientras el disco gira: Unraid no reporta ninguna para un disco dormido.
disk_spinningdisk, role1 cuando el disco gira.
disk_size_bytes, disk_fs_size_bytes, disk_used_percentdisk, roleTamaño, tamaño del sistema de archivos y llenado, para discos con un sistema de archivos.
disks, disks_problem, disks_with_errorsRecuentos.
parity_check_status_infostatusValor 1: completed, running, paused, cancelled, failed, never_run.
parity_check_running, parity_check_progress_percentUna comprobación en curso.
parity_check_okTras una comprobación terminada: 1 sin errores de sincronización, 0 con errores o si falló. Una comprobación cancelada no demuestra nada y no fija nada.
parity_check_errors, parity_check_age_seconds, parity_check_duration_secondsLa última comprobación.
containers, containers_running, containers_autostart_stoppedContenedores Docker.
container_running, container_autostart_stoppedcontainerPor contenedor; el segundo es 1 cuando un contenedor configurado para iniciarse con el array no está en ejecución.
vms, vms_runningVMs.
vm_state_info, vm_crashedvm (y state)Por VM.
notifications_unreadimportance: alert, warning, infoNotificaciones no leídas.

Las reglas integradas que se aplican:

  • Unraid array stopped: el array no está iniciado durante diez minutos (Warning).
  • Unraid disk disabled or missing: el estado de un disco no es DISK_OK durante cinco minutos (Warning). El array funciona degradado.
  • Unraid disk read errors: un disco reporta errores de lectura (Advisory).
  • Unraid disk too hot: un disco de datos o paridad por encima de 55 °C durante quince minutos (Advisory). Los discos de caché, a menudo NVMe, se excluyen.
  • Unraid parity check found errors (Advisory).
  • Unraid parity check overdue: la última comprobación tiene más de 40 días (Advisory).
  • Unraid cache nearly full: un disco de caché con más del 90 % de llenado durante treinta minutos (Advisory).
  • Unraid container stopped: un contenedor configurado para iniciarse con el array no ha estado en ejecución durante diez minutos (Advisory).

El panel Array indica en una frase qué va mal, muestra el llenado del array, la última comprobación de paridad, los contenedores y VMs en ejecución, y luego lista cada disco — paridad primero, luego datos, luego caché — con su estado, temperatura y llenado, y los contenedores que deberían estar en ejecución.

Crear una clave de API de solo lectura para DumbMonit

Sección titulada «Crear una clave de API de solo lectura para DumbMonit»
  1. En Unraid 7.2 o posterior la API viene integrada. En Unraid 6.12 a 7.1, instala primero el plugin Unraid Connect desde la pestaña Apps: trae la misma API, y no se necesita ningún inicio de sesión en Unraid Connect para uso local.

  2. Crea una clave de API con el rol Viewer, que lee todo y no puede cambiar nada: en Settings > Management Access > API Keys, o desde la terminal de Unraid.

    unraid-api apikey --create --name dumbmonit --roles VIEWER --description "DumbMonit monitoring" --json
  3. Copia la clave. En DumbMonit, introduce la dirección del servidor Unraid, por ejemplo «tower.lan», y pega la clave como API key. Si la interfaz web se sirve por HTTPS, elige https como protocolo.

CredencialCampos
Clave de APIUna clave con el rol Viewer, enviada como x-api-key.

Dirección: el nombre de host o IP del servidor Unraid, host:puerto, o una URL. Opciones:

  • Protocol (http) y Port (80): los de la interfaz web. Con SSL definido como Strict en Settings > Management Access, usa https, y la dirección myunraid.net si ese es el certificado.
  • Accept an unverifiable certificate: para un certificado autofirmado.
  • Timeout per request (15 s).

«Unraid refused the API key (401)»: la clave es incorrecta o fue eliminada.

«Unraid accepted the API key but refused to answer (403)»: la clave no tiene ningún rol, o un rol más limitado que Viewer.

Sin cifras de contenedor, VM o paridad: esa consulta opcional falló (VMs apagadas, una versión más antigua de la API sin el campo); el resto se sigue leyendo. El motivo está en el registro del servidor a nivel debug.