Scrutiny :一款基于web端的硬盘状态查看与监控工具

Scrutiny :一款基于web端的硬盘状态查看与监控工具

jupiter
2026-03-15 / 0 评论 / 2 阅读 / 正在检测是否收录...

🔍 Scrutiny 是什么?

Scrutiny 是一个专注于硬盘健康状况的开源监控工具。你可以把它想象成一个为硬盘准备的“健康监测中心”,它通过读取和分析硬盘的 S.M.A.R.T. 数据,为你提供一个清晰、美观的 Web 界面,让你能实时掌握每一块硬盘的状态、性能和潜在风险。

它的核心亮点是:

  • 专业的数据分析:深入分析 S.M.A.R.T. 属性,不仅看当前值,还能追踪历史趋势,帮你判断硬盘是正常老化还是即将故障。
  • 智能预警系统:可以为不同的硬盘类型(如ATA、NVMe)设置告警阈值。一旦发现异常(比如温度过高、坏道增多),它能及时发出警报,让你有机会在数据丢失前采取行动。
  • 美观的可视化界面:它内置的仪表盘非常直观,可以一目了然地看到所有硬盘的健康状态概览,并支持深入查看每一块硬盘的详细报告和历史图表。
  • 灵活的部署方式:支持 Docker 一键部署,也支持在各种操作系统上手动安装,可以轻松实现多台主机的集中监控。

🐳 Docker 部署 Scrutiny(一体化模式)

你希望用 Docker 部署,这是最快、最省心的方式。官方推荐使用“一体化”(Omnibus)Docker 镜像,它把 Web 界面和后端数据收集都打包在了一个容器里,非常适合个人或家庭服务器使用。

1. 准备工作

在你的 Linux 服务器上,确保已经安装了 dockerdocker-compose

2. 创建 docker-compose.yml 文件

在你喜欢的目录下(例如 ~/scrutiny)创建一个名为 docker-compose.yml 的文件,并写入以下内容:

version: '3.5'

services:
  scrutiny:
    container_name: scrutiny
    image: ghcr.io/analogj/scrutiny:master-omnibus
    cap_add:
      - SYS_RAWIO   # 获取机械硬盘的S.M.A.R.T 信息,默认即可
      - SYS_ADMIN    # 获取NVMe硬盘的S.M.A.R.T 信息,没有可以删除
    ports:
      - "8183:8080" # webapp
      - "8184:8086" # influxDB admin(可以不映射)
    volumes:
      - /run/udev:/run/udev:ro
      - ./config:/opt/scrutiny/config
      - ./influxdb:/opt/scrutiny/influxdb
    devices:
      - "/dev/sda"
      - "/dev/sdb"
      - "/dev/sdc"
      - "/dev/sdd"
      - "/dev/sde"

配置关键点说明:

  • ports: 将容器的 8080 端口映射到宿主机的 8183 端口(你可以修改左侧端口避免冲突)。
  • volumes: 挂载了主机的 udev 信息,这是容器正确识别你硬盘设备的关键。同时,也挂载了配置和数据目录到本地,方便备份和修改。
  • devices: 这一步非常关键!你需要在这里列出所有想要监控的硬盘设备。把 /dev/sda/dev/sdb 替换成你机器上实际的设备路径(可以通过 lsblk 命令查看)。
  • cap_add: 添加 SYS_RAWIO 能力,赋予容器读取硬盘 SMART 数据所需的权限。
  • environment: 设置环境变量,让这个容器同时运行 Web 服务和数据收集器(Collector)。

3. 启动服务

docker-compose.yml 文件所在的目录下,运行以下命令来启动服务:

docker-compose up -d

4. 访问 Web 界面

服务启动后,在浏览器里打开 http://<你的Linux服务器IP>:8183(如果你修改了端口,请使用对应的端口)。稍等片刻(数据收集需要点时间),你就能看到一个漂亮的 Scrutiny 仪表盘了。

界面加载后,你会看到所有被识别到的硬盘概览,绿色代表健康,黄色或红色则代表有需要关注的异常。点击任意一块硬盘,就能进入详情页,查看该硬盘完整的 S.M.A.R.T. 属性数据、温度变化曲线和历史故障记录。如果硬盘真的出了问题,这里就是第一手的“诊断报告”。

5 如何实现 Scrutiny 汉化

  1. 获取汉化文件
    你可以从以下网盘链接下载由用户“我是笨蛋小扁担”制作的汉化包:

  2. 在 Docker 部署中应用汉化

    • 准备目录:在与你 Scrutiny 容器映射的 configdata 目录同级的位置,创建一个名为 web 的新目录。
    • 放置文件:将下载的汉化压缩包内的所有文件解压到刚刚创建的 web 目录中。
    • 修改 Docker Compose 配置:在你原来的 docker-compose.yml 文件中,为 scrutiny 服务增加一个卷(volume)映射,将本地的 web 目录挂载到容器内的 /opt/scrutiny/web。添加的配置行如下:

      yaml

      version: '3.5'
      
      services:
        scrutiny:
          container_name: scrutiny
          image: ghcr.io/analogj/scrutiny:master-omnibus
          cap_add:
            - SYS_RAWIO   # 获取机械硬盘的S.M.A.R.T 信息,默认即可
            - SYS_ADMIN    # 获取NVMe硬盘的S.M.A.R.T 信息,没有可以删除
          ports:
            - "8183:8080" # webapp
            - "8184:8086" # influxDB admin(可以不映射)
          volumes:
            - /run/udev:/run/udev:ro
            - ./config:/opt/scrutiny/config
            - ./influxdb:/opt/scrutiny/influxdb
            - ./web:/opt/scrutiny/web   # 👈 新增这一行
          devices:
            - "/dev/sda"
            - "/dev/sdb"
            - "/dev/sdc"
            - "/dev/sdd"
            - "/dev/sde"
    • 重建容器:保存文件后,在 docker-compose.yml 所在目录下执行 docker-compose downdocker-compose up -d 重新创建容器。

    屏幕截图_15-3-2026_144333_nas.inat.top

参考资料

  1. Scrutiny 硬盘 S.M.A.R.T 可视化工具 - 踩坑、简体中文汉化 – 我是笨蛋小扁担
0

评论 (0)

打卡
取消