Unraid
Сервер Unraid через его GraphQL API: неначатый массив, диски отключённые, отсутствующие или сообщающие об ошибках чтения, проверки паритета, нашедшие ошибки или не выполнявшиеся неделями, пулы кэша, заполняющиеся контейнеры, которые должны работать и не работают, и состояние ВМ.
DumbMonit отправляет ключ API с ролью Viewer в заголовке x-api-key на
/graphql. Роль Viewer читает всё и не может ничего изменить. API встроен в
Unraid начиная с 7.2; на версиях 6.12–7.1 он идёт с плагином Unraid Connect.
Каждую минуту DumbMonit отправляет один обязательный запрос (версия, массив, паритет, диски данных и кэша) и четыре опциональных, каждый отдельно, так что поле, которого нет в более старой версии API, или выключенные ВМ, убирают только эту часть: проверку паритета, контейнеры Docker, ВМ и непрочитанные уведомления.
Что отслеживается
Заголовок раздела «Что отслеживается»Все метрики с префиксом dumbmonit_unraid_.
| Метрика | Метки | Значение |
|---|---|---|
version_info | version | Значение 1: версия Unraid. |
array_started | 1, когда массив запущен. | |
array_state_info | state | Значение 1: started, stopped, new_array, recon_disk, disable_disk… |
array_size_bytes, array_used_bytes, array_free_bytes, array_used_percent | Ёмкость массива. | |
disk_ok | disk, role (parity, data, cache) | 1, когда статус диска — DISK_OK. Пустые отсеки не учитываются. |
disk_status_info | disk, role, status | Значение 1: статус Unraid (disk_ok, disk_dsbl, disk_np_missing, disk_invalid…). |
disk_errors | disk, role | Ошибки чтения с момента запуска массива (колонка Errors). |
disk_temperature_celsius | disk, role | Только пока диск вращается: Unraid не сообщает температуру для спящего диска. |
disk_spinning | disk, role | 1, когда диск вращается. |
disk_size_bytes, disk_fs_size_bytes, disk_used_percent | disk, role | Размер, размер файловой системы и заполнение, для дисков с файловой системой. |
disks, disks_problem, disks_with_errors | Счётчики. | |
parity_check_status_info | status | Значение 1: completed, running, paused, cancelled, failed, never_run. |
parity_check_running, parity_check_progress_percent | Проверка в процессе. | |
parity_check_ok | После завершённой проверки: 1 без ошибок синхронизации, 0 с ошибками или при отказе. Отменённая проверка ничего не доказывает и ничего не устанавливает. | |
parity_check_errors, parity_check_age_seconds, parity_check_duration_seconds | Последняя проверка. | |
containers, containers_running, containers_autostart_stopped | Контейнеры Docker. | |
container_running, container_autostart_stopped | container | На контейнер; второе равно 1, когда контейнер, настроенный на запуск с массивом, не работает. |
vms, vms_running | ВМ. | |
vm_state_info, vm_crashed | vm (и state) | На ВМ. |
notifications_unread | importance: alert, warning, info | Непрочитанные уведомления. |
Применяемые встроенные правила:
- Массив Unraid остановлен: массив не запущен уже десять минут (Warning).
- Диск Unraid отключён или отсутствует: статус диска не
DISK_OKуже пять минут (Warning). Массив работает в деградировавшем режиме. - Ошибки чтения диска Unraid: диск сообщает об ошибках чтения (Advisory).
- Диск Unraid перегрет: диск данных или паритета выше 55 °C в течение пятнадцати минут (Advisory). Диски кэша, часто NVMe, не учитываются.
- Проверка паритета Unraid нашла ошибки (Advisory).
- Проверка паритета Unraid просрочена: последняя проверка старше 40 дней (Advisory).
- Кэш Unraid почти заполнен: диск кэша заполнен более чем на 90 % в течение тридцати минут (Advisory).
- Контейнер Unraid остановлен: контейнер, настроенный на запуск с массивом, не работает уже десять минут (Advisory).
Страница монитора
Заголовок раздела «Страница монитора»Панель Array сообщает, что не так, в одном предложении, показывает заполнение массива, последнюю проверку паритета, работающие контейнеры и ВМ, затем перечисляет каждый диск — сначала паритет, затем данные, затем кэш — с его статусом, температурой и заполнением, и контейнеры, которые должны работать.
Создание ключа API только для чтения для DumbMonit
Заголовок раздела «Создание ключа API только для чтения для DumbMonit»-
На Unraid 7.2 или новее API встроен. На Unraid 6.12–7.1 сначала установите плагин Unraid Connect из вкладки Apps: он даёт тот же API, и для локального использования вход в Unraid Connect не нужен.
-
Создайте ключ API с ролью Viewer, которая читает всё и не может ничего изменить: в Settings > Management Access > API Keys, или из терминала Unraid.
unraid-api apikey --create --name dumbmonit --roles VIEWER --description "DumbMonit monitoring" --json -
Скопируйте ключ. В DumbMonit введите адрес сервера Unraid, например «tower.lan», и вставьте ключ как API key. Если веб-интерфейс обслуживается по HTTPS, выберите https как протокол.
Учётные данные
Заголовок раздела «Учётные данные»| Учётные данные | Поля |
|---|---|
| Ключ API | Ключ с ролью Viewer, отправляется как x-api-key. |
Адрес: имя хоста или IP сервера Unraid, host:port, или URL. Опции:
- Protocol (
http) и Port (80): те, что у веб-интерфейса. С SSL, установленным на Strict в Settings > Management Access, используйтеhttps, и адресmyunraid.net, если сертификат именно такой. - Accept an unverifiable certificate: для самоподписанного сертификата.
- Timeout per request (15 с).
Диагностика
Заголовок раздела «Диагностика»«Unraid refused the API key (401)»: ключ неверен или был удалён.
«Unraid accepted the API key but refused to answer (403)»: у ключа нет роли, либо роль более узкая, чем Viewer.
Нет данных по контейнерам, ВМ или паритету: этот опциональный запрос не удался (ВМ выключены, более старая версия API без этого поля); остальное всё равно читается. Причина — в журнале сервера на уровне debug.