分享

我的互联网解决方案 篇三十二:定期自动扫描所有设备的硬盘 S.M.A.R.T 信息

 pio9999 2022-09-22 发布于广西

定期查看硬盘的 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'
depend

s_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 smart

montools 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"

在计划任务里建立一个定时执行脚本的任务,这样就可以定时同步数据到服务端了(脚本需要以最高权限执行)。

定期自动扫描所有设备的硬盘 S.M.A.R.T 信息

当我们把所有客户端部署完毕,执行后数据自动汇总到服务端,效果就如下图我的9块硬盘都检测到了(唯一

的缺点目前只有英文镜像)。整个过程以后可以每天全自动执行监测,如果健康状态OK则显示为Passed,如果有问题则会显示红色:

定期自动扫描所有设备的硬盘 S.M.A.R.T 信息

点击其中一块硬盘即可查看详细数据:

定期自动扫描所有设备的硬盘 S.M.A.R.T 信息

定期检测硬盘健康情况,可以检测到局域网内所有设备的硬盘,有问题的硬盘记得及时备份数据更换。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多