Pular para o conteúdo

Unraid

Um servidor Unraid através da sua API GraphQL: um array que não está iniciado, discos desativados, em falta ou a reportar erros de leitura, verificações de paridade que encontraram erros ou não correm há semanas, pools de cache a enchê-se, contentores que deveriam estar em execução e não estão, e o estado das VMs.

O DumbMonit envia uma chave de API com a função Viewer no cabeçalho x-api-key para /graphql. A função Viewer lê tudo e não pode alterar nada. A API está incorporada no Unraid a partir da 7.2; na 6.12 a 7.1 vem com o plugin Unraid Connect.

A cada minuto, o DumbMonit envia uma consulta obrigatória (versão, array, paridade, discos de dados e cache) e quatro opcionais, cada uma por si só para que um campo que uma versão mais antiga da API não tenha, ou VMs desligadas, só deixe essa parte de fora: a verificação de paridade, os contentores Docker, as VMs e as notificações não lidas.

Todas as métricas têm o prefixo dumbmonit_unraid_.

MétricaEtiquetasSignificado
version_infoversionValor 1: a versão do Unraid.
array_started1 quando o 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_percentCapacidade do array.
disk_okdisk, role (parity, data, cache)1 quando o estado do disco é DISK_OK. Ranhuras vazias são deixadas de fora.
disk_status_infodisk, role, statusValor 1: o estado do Unraid (disk_ok, disk_dsbl, disk_np_missing, disk_invalid…).
disk_errorsdisk, roleErros de leitura desde que o array arrancou (a coluna Errors).
disk_temperature_celsiusdisk, roleSó enquanto o disco gira: o Unraid não reporta nenhuma para um disco em suspensão.
disk_spinningdisk, role1 quando o disco gira.
disk_size_bytes, disk_fs_size_bytes, disk_used_percentdisk, roleTamanho, tamanho do sistema de ficheiros e ocupação, para discos com um sistema de ficheiros.
disks, disks_problem, disks_with_errorsContagens.
parity_check_status_infostatusValor 1: completed, running, paused, cancelled, failed, never_run.
parity_check_running, parity_check_progress_percentUma verificação em curso.
parity_check_okDepois de uma verificação terminada: 1 sem erros de sincronização, 0 com erros ou quando falhou. Uma verificação cancelada não prova nem define nada.
parity_check_errors, parity_check_age_seconds, parity_check_duration_secondsA última verificação.
containers, containers_running, containers_autostart_stoppedContentores Docker.
container_running, container_autostart_stoppedcontainerPor contentor; o segundo é 1 quando um contentor definido para iniciar com o array não está em execução.
vms, vms_runningVMs.
vm_state_info, vm_crashedvm (e state)Por VM.
notifications_unreadimportance: alert, warning, infoNotificações não lidas.

As regras incorporadas que se aplicam:

  • Unraid array stopped: o array não está iniciado há dez minutos (Warning).
  • Unraid disk disabled or missing: o estado de um disco não é DISK_OK há cinco minutos (Warning). O array corre degradado.
  • Unraid disk read errors: um disco reporta erros de leitura (Advisory).
  • Unraid disk too hot: um disco de dados ou paridade acima de 55 °C durante quinze minutos (Advisory). Os discos de cache, frequentemente NVMe, são deixados de fora.
  • Unraid parity check found errors (Advisory).
  • Unraid parity check overdue: a última verificação tem mais de 40 dias (Advisory).
  • Unraid cache nearly full: um disco de cache com mais de 90% de ocupação durante trinta minutos (Advisory).
  • Unraid container stopped: um contentor definido para iniciar com o array não está em execução há dez minutos (Advisory).

O painel Array diz o que está mal numa frase, mostra a ocupação do array, a última verificação de paridade, os contentores e VMs em execução, depois lista cada disco — paridade primeiro, depois dados, depois cache — com o seu estado, temperatura e ocupação, e os contentores que deveriam estar em execução.

Criar uma chave de API só de leitura para o DumbMonit

Seção intitulada “Criar uma chave de API só de leitura para o DumbMonit”
  1. No Unraid 7.2 ou posterior a API está incorporada. No Unraid 6.12 a 7.1, instale primeiro o plugin Unraid Connect a partir do separador Apps: traz a mesma API, e não é necessário nenhum início de sessão no Unraid Connect para uso local.

  2. Crie uma chave de API com a função Viewer, que lê tudo e não pode alterar nada: em Settings > Management Access > API Keys, ou a partir do terminal do Unraid.

    unraid-api apikey --create --name dumbmonit --roles VIEWER --description "DumbMonit monitoring" --json
  3. Copie a chave. No DumbMonit, introduza o endereço do servidor Unraid, por exemplo «tower.lan», e cole a chave como API key. Se a interface web for servida via HTTPS, escolha https como protocolo.

CredencialCampos
Chave de APIUma chave com a função Viewer, enviada como x-api-key.

Endereço: o nome de anfitrião ou IP do servidor Unraid, anfitrião:porta, ou um URL. Opções:

  • Protocol (http) e Port (80): os da interface web. Com SSL definido como Strict em Settings > Management Access, use https, e o endereço myunraid.net se for esse o certificado.
  • Accept an unverifiable certificate: para um certificado autoassinado.
  • Timeout per request (15 s).

«Unraid refused the API key (401)»: a chave está errada ou foi eliminada.

«Unraid accepted the API key but refused to answer (403)»: a chave não tem função, ou uma função mais restrita do que Viewer.

Nenhum valor de contentor, VM ou paridade: essa consulta opcional falhou (VMs desligadas, uma versão mais antiga da API sem o campo); o resto continua a ser lido. O motivo está no registo do servidor ao nível de depuração.