ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

NAS 硬盘监控:Scrutiny 让坏盘提前暴露

NAS 硬盘监控:Scrutiny 让坏盘提前暴露 NAS 硬盘监控Scrutiny 让坏盘提前暴露【免费下载链接】scrutinyHard Drive S.M.A.R.T Monitoring, Historical Trends Real World Failure Thresholds项目地址: https://gitcode.com/GitHub_Trending/sc/scrutiny硬盘丢数据前很少给预兆RAID 卡报警时往往已经来不及。Scrutiny 是一款开源的 NAS 硬盘监控工具定期采集 S.M.A.R.T.硬盘自带自检指标数据画出每个属性的历史趋势越过故障阈值就通过邮件或即时消息推给你。下面按顺序把四个决定讲清楚防什么风险、装哪条路、上线后调什么、出故障先看什么。先定目标你要防的 3 种硬盘故障很多人装监控只是因为NAS 带了个健康检查页但内置页面只回答当前状态。最容易漏掉的场景有三个RAID 静默降级阵列里一块成员盘开始累积读写错误阵列还在正常跑系统只提示有盘降级等你处理时第二块盘也可能在路上了。逐天记录每块成员盘的待处理扇区变化比 RAID 卡报警早得多。单盘缓慢掉速硬盘不是突然坏的往往先是读写速度下滑几个月后才以一次读失败自首。没有历史数据你分不清偶发抖动和长期劣化。温度异常出风口被挡住、机房温度爬升盘温是几天内慢慢涨上去的。只盯当前值永远发现不了。三者的共同点是单次体检只能回答今天病没病回答不了这个月是不是越来越病。这就是要持续监控的原因。对号入座NAS 硬盘监控的部署路怎么选Scrutiny 有三种部署形态Omnibus 一体化采集、Web 仪表板、时序库装一个容器、只装 Collector 的 hub/spoke 模式数据上报到远端中枢、以及通用 Docker 方案。按你的平台对号入座。Synology 部署 Scrutiny两条路Omnibus推荐起步群晖装上 Docker 或 Container Manager拉一体化镜像把磁盘设备路径挂进去即可。Hub/SpokeWeb UI 放在另一台服务器上群晖只装轻量 Collector。官方流程是先经 Entware 装 smartmontools放入 Collector 二进制再用任务计划程序定期执行上报。适合群晖 CPU 吃紧、或想把多台 NAS 统一视图的场景——不同主机靠 host ID 在同一仪表板区分Unraid 硬盘监控方案模板一键装装 Community Applications 插件在模板列表搜 scrutiny填参数启动。镜像有多个维护者版本镜像问题找对应维护者应用行为问题找 Scrutiny 项目本身。其他系统Docker 通用方案任何能跑 Docker 的 x86/ARM Linux、TrueNAS、PFSense 都可以。官方 docker/ 目录提供 Dockerfile 和两套 compose 示例omnibus 与 hub/spokeMakefile 可用于自己构建镜像。不用 Docker 的手动安装见 docs/INSTALL_MANUAL.md。部署完成后必做的三件事1. 确认每块盘都被正确识别启动后先打开设备列表核对每块盘都出现、接口类型ATA/SCSI/NVMe正确。RAID 控制器后面的盘通常不会被自动识别需要在 Collector 配置文件参考 example.collector.yaml里显式声明devices: - device: /dev/bus/0 type: - megaraid,14 - megaraid,15 - device: /dev/sdb type: sat不想监控的盘用ignore: true排除。2. 配通知渠道在 Web UI 或 web 配置文件参考 example.scrutiny.yaml里配支持三类消息平台邮件SMTP、Telegram、Discord、Slack、Pushover、ntfy 等按 Shoutrrr 的 URL 语法每行写一个地址。Webhook指向自己的脚本地址故障时推送含盘名、序列号、故障类型的 JSON。本地脚本script://前缀直接执行脚本故障信息走环境变量传入。保存后先点发送测试通知验证通道别等到真出故障才发现发不出去。3. 校准告警阈值设置页能调三件事告警级别、按哪些 S.M.A.R.T. 属性判定全部还是仅关键属性、数值未变化时是否重复推送。阈值数据来自真实故障案例统计webapp/backend/pkg/thresholds/比只要不 OK 就告警更可信。采集频率默认每天一次cron 条目在 rootfs/etc/cron.d/scrutiny。Scrutiny 跑不起来先查这 4 处盘没出现在机器上跑smartctl --scan看设备本身能否被发现再确认 Collector 进程权限足够。出现了但类型不对对照 collector/pkg/detect/ 的检测逻辑在配置里补显式type声明。有数据但趋势断档确认时序数据库InfluxDB容器在跑官方排查见 docs/TROUBLESHOOTING_INFLUXDB.md。收不到通知先看日志里有没有No notification endpoints configured——九成是配置没写通知问题清单在 docs/TROUBLESHOOTING_NOTIFICATIONS.md。比手动跑 smartctl 多得到什么自己写 smartctl 脚本、或 NAS 内置健康页给你的都是当前状态。给不了的是每块盘每个属性的历史曲线、全网盘的一个聚合视图、以及出事时主动找你的能力。Scrutiny 跑起来之后你每周只需打开仪表板确认趋势线平稳真正的警报会自己发到你的即时工具里。NAS 里放着不可替代的数据时这套东西的搭建时间不到半天换来的是长期安心。顺序照前文走先部署、核对设备列表再配通知即可。【免费下载链接】scrutinyHard Drive S.M.A.R.T Monitoring, Historical Trends Real World Failure Thresholds项目地址: https://gitcode.com/GitHub_Trending/sc/scrutiny创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进