Repolode
AnalogJ

AnalogJ/scrutiny

为 smartd/smartctl 提供 Web 仪表盘的硬盘 S.M.A.R.T 健康监控工具,支持历史趋势与故障告警。

Star
8,407
Fork
311
未关闭 Issue
42
最近提交
前天

这是什么?

Scrutiny 是基于 smartctl 构建的硬盘健康仪表盘。它会采集所有检测到的硬盘的 S.M.A.R.T 属性并长期保存,让缓慢退化的趋势清晰可见,并在 Web 界面中展示关键指标,适合没有图形界面的服务器。

除了展示厂商提供的数值,Scrutiny 还会基于真实世界的故障率设置自定义阈值,因此硬盘可能在达到厂商上限之前就被标记出来。它同时记录温度,并可在 S.M.A.R.T 故障、采集器错误或设备停止上传数据时,通过邮件、Slack、Telegram、Discord、ntfy、Webhook 等多种服务发送通知。

项目提供一体化 Docker 镜像,也支持将采集器、Web 服务和 InfluxDB 拆分为独立容器的 Hub/Spoke 部署方式,并可手动安装。支持 Linux(amd64、arm64)、macOS 及 FreeBSD 等平台。

核心功能

  • 01Web 仪表盘聚焦关键 S.M.A.R.T 指标
  • 02通过 smartctl --scan 自动检测已连接硬盘
  • 03长期记录 S.M.A.R.T 属性与温度变化趋势
  • 04基于真实故障率设置阈值,而不仅依赖厂商数值
  • 05在硬盘故障、采集器错误或上传中断时发送通知

适用场景

  • 监控家庭或小型企业 NAS、服务器中的硬盘
  • 在数据丢失前发现逐渐退化的硬盘
  • 在 Hub/Spoke 模式下通过单一面板监控多台服务器

快速上手

  1. 1

    使用设备和权限参数运行 omnibus Docker 镜像

    docker run -p 8080:8080 -p 8086:8086 --restart unless-stopped -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 --device=/dev/sdb --name scrutiny ghcr.io/analogj/scrutiny:latest-omnibus
  2. 2

    在浏览器中打开 localhost:8080 查看仪表板

  3. 3

    若仪表板为空,手动触发一次采集器运行

    docker exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run

使用前须知

  • 需要 smartctl 访问硬盘,因此在 Docker 中需要额外权限或设备直通。
  • 项目自述仍处于开发中,存在一些粗糙之处。
  • Windows 的 Docker 支持仍在开发中。

收录于专题

标签

常见问题

scrutiny 是什么?
为 smartd/smartctl 提供 Web 仪表盘的硬盘 S.M.A.R.T 健康监控工具,支持历史趋势与故障告警。 Scrutiny 是基于 smartctl 构建的硬盘健康仪表盘。它会采集所有检测到的硬盘的 S.M.A.R.T 属性并长期保存,让缓慢退化的趋势清晰可见,并在 Web 界面中展示关键指标,适合没有图形界面的服务器。
scrutiny 可以免费使用吗?用的什么许可证?
scrutiny 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
scrutiny 还在维护吗?
活跃维护中。scrutiny 最近一次提交是在 2026年11月4日。
scrutiny 适合用来做什么?
监控家庭或小型企业 NAS、服务器中的硬盘 在数据丢失前发现逐渐退化的硬盘 在 Hub/Spoke 模式下通过单一面板监控多台服务器
scrutiny 怎么安装和运行?
使用设备和权限参数运行 omnibus Docker 镜像: docker run -p 8080:8080 -p 8086:8086 --restart unless-stopped -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 --device=/dev/sdb --name scrutiny ghcr.io/analogj/scrutiny:latest-omnibus 在浏览器中打开 localhost:8080 查看仪表板 若仪表板为空,手动触发一次采集器运行: docker exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run
在哪里获取 scrutiny?
源代码和安装说明在 GitHub 上:https://github.com/AnalogJ/scrutiny

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目