官网
https://github.com/AnalogJ/scrutiny
介绍
Scrutiny 一个硬盘健康仪表和监控解决方案,将制造商提供的 S.M.A.R.T 指标与实际故障率相结合。
如果你不知道什么是 S.M.A.R.T,维基百科有详细的介绍,简单来说 S.M.A.R.T 就是一个可以反映硬盘健康程度的监控系统,这个监控是内置在硬盘中的,一般情况下无法人工修改。
而 Scrutiny 就是一个可以通过读取这些信息来对硬盘监控状态进行分析,并给出人类可读的报告的软件。
安利原因
这个软件非常适合家里有 NAS 的人,毕竟要是硬盘坏了,存在里面的小姐姐数据可就全没了。
并且这个软件的 UI 非常好看,部署起来也非常方便。
简单教程
Scrutiny 目前并没有官方的中文文档,并且软件本身暂时没有中文,因此我还是写了个简单的小教程。
本软件推荐使用 Docker 部署,如果你还完全不了解 Docker,那我建议你看一下 https://www.runoob.com/docker/docker-tutorial.html
本教程仅演示命令行部署,另外此软件已经上架 Unraid 的应用商店了,使用 Unraid 的可以直接从应用商店安装。
Docker 部署命令如下
docker run -it --rm -p 8080:8080 -p 8086:8086 \
-v $PWD/scrutiny:/opt/scrutiny/config \
-v $PWD/influxdb2:/opt/scrutiny/influxdb \
-v /run/udev:/run/udev:ro \
--cap-add SYS_RAWIO \
--device=/dev/sda \
--name scrutiny \
ghcr.io/analogj/scrutiny:master-omnibus
$PWD
可以修改为任意你想要的目录,不修改则为当前目录
8080 是 WebUI 的端口,必须映射
8086 是 influxdb 的端口,可以不映射,看个人需求
映射 /run/udev
是必要的,否则无法获取硬盘的元数据
--cap-add SYS_RAWIO
可以让 smartctl
有权限获取硬盘的 S.M.A.R.T 信息,如果你的硬盘中有 NVMe 硬盘,需要添加 --cap-add SYS_ADMIN
--device
是确保你的设备可以在容器中被访问
如果你想在 Docker 中设置监控的频率,可以添加 COLLECTOR_CRON_SCHEDULE
这个环境变量,例如设置每 15 分钟监控一次就是 -e COLLECTOR_CRON_SCHEDULE="*/15 * * * *"
,这个变量使用的是 Cron 表达式
如果你需要通知,仅需要在 $PWD/scrutiny
,下新建一个 scrutiny.yaml
文件,并填入以下内容
notify:
urls:
- "telegram://token@telegram?channels=channel-1[,channel-2,...]"
更详细的通知配置可以查看 https://github.com/AnalogJ/scrutiny#notifications
结尾
这个软件也是支持 Windows 的,直接在 Releases 里下载了就能用
这次文章也是一个新的尝试吧,打算每周更新一篇,希望不会咕咕咕
确实好看又好用,群晖又看不了 SMART 了,所以我整了个汉化 WebUI(
扁担 06-26