定期自动扫描所有设备的硬盘 S.M.A.R.T 信息
定期查看硬盘的 S.M.A.R.T 信息,有助于及时发现硬盘问题。
我要介绍一个定期自动扫描所有设备的硬盘 S.M.A.R.T 信息,并汇总到一起的解决方案:scrutiny。
scrutiny 需要部署服务端和客户端。服务端部署在长期开机的设备上比如:小服务器、 NAS 。客户端可以部署在局域网内任何需要监控硬盘 S.M.A.R.T 信息的设备上。然后就可以把所有的硬盘信息汇总到一个看板上。
搭建 scrutiny 服务端
我的 scrutiny 服务端搭建在 Linux 主机上。使用 docker-compose 搭建:
version: '2.4'
services:
influxdb:
image: influxdb:2.2
ports:
- '8086:8086'
volumes:
- './influxdb:/var/lib/influxdb2'
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8086/health"]
interval: 5s
timeout: 10s
retries: 20
web:
image: 'ghcr.io/analogj/scrutiny:master-web'
ports:
- '1002:8080'
volumes:
- './config:/opt/scrutiny/config'
environment:
SCRUTINY_WEB_INFLUXDB_HOST: 'influxdb'
depends_on:
influxdb:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:1002/api/health"]
interval: 5s
timeout: 10s
retries: 20
start_period: 10s
docker-compose up -d
运行 scrutiny 服务后,通过 http://localhost:1002 查看服务端看板。现在还没有部署客户端所以服务端没有信息,所以我们要来部署客户端了。
搭建 scrutiny 客户端
Linux 系统部署scrutiny客户端
下载 scrutiny 的 Linux 客户端放入目录 /home/john/scrutiny,我设置成每天晚上9点收集一次硬盘信息:
#安装必要的程序
sudo apt install smartmontools cron
#程序添加执行权限
chmod +x /home/john/scrutiny/scrutiny
#定时执行
sudo crontab -e
0 0 21 * * * /home/john/scrutiny/scrutiny run --api-endpoint "http://服务端局域网IP:1002"
scrutiny 客户端也可以用 docker 部署(我没有验证是否能定时执行):
docker run -e COLLECTOR_CRON_SCHEDULE="0 21 * * *" -d
--restart=always
-v /run/udev:/run/udev:ro
--cap-add SYS_RAWIO
--device=/dev/sda
-e COLLECTOR_API_ENDPOINT=http://服务端局域网IP:1002
--name scrutiny-collector
ghcr.io/analogj/scrutiny:master-collector
Windows 系统部署scrutiny客户端
下载 scrutiny 的 Windows 客户端,要想客户端工作还需要安装 smartmontools ,然后用脚本定期执行:
@echo on
start D:scrutinyscrutiny.exe run --api-endpoint "http://服务端局域网IP:1002"
在计划任务里建立一个定时执行脚本的任务,这样就可以定时同步数据到服务端了(脚本需要以最高权限执行)。
当我们把所有客户端部署完毕,执行后数据自动汇总到服务端,效果就如下图我的9块硬盘都检测到了(唯一的缺点目前只有英文镜像)。整个过程以后可以每天全自动执行监测,如果健康状态OK则显示为Passed,如果有问题则会显示红色:
点击其中一块硬盘即可查看详细数据:
定期检测硬盘健康情况,可以检测到局域网内所有设备的硬盘,有问题的硬盘记得及时备份数据更换。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~




玻璃水推广员
校验提示文案
kxbs
校验提示文案
YikLiu
校验提示文案
玻璃水推广员
校验提示文案
YikLiu
校验提示文案
kxbs
校验提示文案