Источник: https://bafista.ru/prosmotr-atributov-smart-v-dsm-7-2-1-i-novee/
В самой лучшей на данный момент ОС DSM для NAS от компании Synology было все необходимое для работы с дисками. Но 26.09.2023 вышло обновление DSM 7.2.1 и вместе с ним обновление для диспетчера хранения 1.0.0-0017. В этом обновлении произошло невероятное: Атрибуты S.M.A.R.T. больше не записываются и не отображаются.
При проверке опасения подтвердились. Кнопка просмотров атрибутов SMART пропала со своего места и теперь ее нигде нет. Очень печальная ситуация.
Scrutiny – это инструмент, который собирает данные SMART с жесткого диска и отображает их через веб-интерфейс. Дополнительно ведется логирование полученных данных и есть возможность настроить уведомления.


Для установки нам понадобится Container Manager. Поэтому перед началом найдите его в центре пакетов и установите. Если в центре пакетов его нет, значит ваше устройство его не поддерживает и дальше вам можно не читать данную инструкцию.
Откройте File station и перейдите в папку docker. В этой папке создайте пустой каталог с именем scrutiny, а внутри еще один пустой с именем influxdb как показано на картинке ниже.

Так тут же нужно создать файл collector.yaml следующего содержимого:
version: 1
host:
id: "NAS"
devices:
- device: /dev/sata1
type: 'sat'
# - device: /dev/sata2
# type: 'sat'
# - device: /dev/sata3
# type: 'sat'
- device: /dev/nvme0n1
type: 'nvme'
# - device: /dev/nvme1n1
# type: 'nvme'
Разберем что в этом файле и зачем.
Так же можно добавить диски подключенные по USB, подробнее в комментарии по ссылке
Теперь открываем Container Manager, переходим в проекты и нажимаем создать проект. В открывшемся окне придумываем имя, задаем путь, который мы ранее создали и выбираем создать docker-compose.yml как показано на картинке ниже.

В тактовое поле вставляем такой текст заранее его подредактировав:
services:
scrutiny:
container_name: scrutiny
image: ghcr.io/analogj/scrutiny:master-omnibus
cap_add:
- SYS_RAWIO
- SYS_ADMIN
ports:
- "8095:8080" # webapp
- "8096:8086" # influxDB admin
volumes:
- /run/udev:/run/udev:ro
- ./:/opt/scrutiny/config
- ./influxdb:/opt/scrutiny/influxdb
- ./scrutiny.yaml:/opt/scrutiny/config/scrutiny.yaml
devices:
- /dev/sata1:/dev/sata1
# - /dev/sata2:/dev/sata2
# - /dev/sata3:/dev/sata3
- /dev/nvme0n1:/dev/nvme0n1
# - /dev/nvme1n1:/dev/nvme1n1
environment:
- COLLECTOR_CRON_SCHEDULE='*/5 * * * *'
- SCRUTINY_WEB_INFLUXDB_TOKEN=ANYLONGSTRING
- SCRUTINY_WEB_INFLUXDB_INIT_USERNAME=sadmin
- SCRUTINY_WEB_INFLUXDB_INIT_PASSWORD=6lise-shorter-Direct0
- TZ=Europe/Moscow
restart: unless-stopped
Разберем что в этом файле и зачем.
По умолчанию сбор данных в scrutiny выполняется раз в сутки и этого вполне достаточно почти всегда, но это можно переопределить вставив такую переменную:
Спешу напомнить, что если вы хотите переопределить частоту запуска коллектора, то нужно заново создавать проект с контейнером.
!!! Не делайте часто, это не есть хорошо !!!
- COLLECTOR_CRON_SCHEDULE='*/1 * * * *'
Где:
Далее нигде ничего менять не нужно, просто на заключительном этапе жмите выполнено для создания и запуска проекта scrutiny

Процесс этот весьма небыстрый. Будет скачен образ контейнера docker, затем распакован и создан сам контейнер. Если все сделано правильно, то увидите Exit Code 0, что означает успешное создание проекта с контейнером. Если нет, то увидите в чем проблема, ее нужно будет устранить и начать заново.

Теперь в браузере открываете новую вкладку и вбиваете http://IP-NAS:8095. Естественно, что IP адрес и порт вы вставляете свои.
При создании проекта для него создается отдельная сеть bridge, которую нужно разрешить на фаерволе Synology, если он у вас включен

Для просмотра атрибутов SMART щелкните три точки у нужного диска и нажмите Detail

Тут нужно отметить, что данные обновляются раз в сутки в 6:00 утра или после старта контейнера scrunity.
За образец была взята эта инструкция, но сделано по моему.
Добавочные файлы config.yml
bolt-path: /opt/scrutiny/influxdb/influxd.bolt
engine-path: /opt/scrutiny/influxdb/engine
http-bind-address: ":8086"
reporting-disabled: true
Уведомление через Gotify scrutiny.yml
version: 1
web:
listen:
port: 8080
host: 0.0.0.0
basepath: ''
database:
location: /opt/scrutiny/config/scrutiny.db
src:
frontend:
path: /opt/scrutiny/web
influxdb:
host: 0.0.0.0
port: 8086
retention_policy: true
log:
file: '' #absolute or relative paths allowed, eg. web.log
level: INFO
notify:
urls:
# - "telegram://token@telegram?channels=channel-1[,channel-2,...]"
- "gotify://prodik.ddns.net:8880/token"