Scrutiny Docker部署完全教程:从零到生产环境
想要全面监控硬盘健康状况,预测潜在故障?Scrutiny 是业界领先的硬盘S.M.A.R.T监控工具,提供历史趋势分析和真实故障阈值预警。本终极指南将带你从零开始,完成Scrutiny Docker部署的完整流程。🚀
为什么选择Scrutiny硬盘监控?
Scrutiny通过Docker容器化部署,让你轻松获得专业的硬盘健康监控能力:
- 📊 实时S.M.A.R.T数据采集 - 自动检测ATA、NVMe、SCSI设备
- 📈 历史趋势可视化 - 温度、读写错误率等关键指标追踪
- 🔔 智能告警系统 - 基于真实故障数据的阈值预警
- 🐳 容器化部署 - 支持Omnibus和Hub-Spoke两种架构模式
- 🔧 多平台支持 - 兼容Linux、Windows WSL、各种NAS系统
准备工作与环境要求
在开始部署之前,请确保你的系统满足以下要求:
- Docker 和 Docker Compose 已安装
- 至少 1GB可用内存
- 硬盘设备访问权限(需要SYS_RAWIO能力)
- 网络端口8080和8086可用
快速部署:Omnibus一体化模式
Omnibus模式是最简单的部署方式,适合单机环境:
创建部署目录结构
mkdir -p scrutiny/{config,influxdb}
cd scrutiny
配置docker-compose.yml
创建 docker-compose.yml 文件,使用官方提供的 example.omnibus.docker-compose.yml 作为模板:
version: '3.5'
services:
scrutiny:
container_name: scrutiny
image: ghcr.io/analogj/scrutiny:master-omnibus
cap_add:
- SYS_RAWIO
ports:
- "8080:8080" # webapp
- "8086:8086" # influxDB admin
volumes:
- /run/udev:/run/udev:ro
- ./config:/opt/scrutiny/config
- ./influxdb:/opt/scrutiny/influxdb
devices:
- "/dev/sda"
- "/dev/sdb"
启动Scrutiny服务
docker-compose up -d
等待几分钟后,访问 http://localhost:8080 即可看到Scrutiny的监控界面。🎉
高级部署:Hub-Spoke分布式架构
对于多主机环境,推荐使用Hub-Spoke模式:
配置中心节点(Hub)
中心节点运行InfluxDB数据库和Web应用:
version: '2.4'
services:
influxdb:
image: influxdb:2.2
ports:
- '8086:8086'
volumes:
- './influxdb:/var/lib/influxdb2'
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=Admin
- DOCKER_INFLUXDB_INIT_PASSWORD=your-password
- DOCKER_INFLUXDB_INIT_ORG=scrutiny
- DOCKER_INFLUXDB_INIT_BUCKET=scrutiny
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=your-secret-token
配置采集节点(Spoke)
采集节点负责收集本地硬盘数据:
collector:
image: 'ghcr.io/analogj/scrutiny:master-collector'
cap_add:
- SYS_RAWIO
volumes:
- '/run/udev:/run/udev:ro'
environment:
COLLECTOR_API_ENDPOINT: 'http://web:8080'
COLLECTOR_HOST_ID: 'your-hostname'
关键配置详解
设备权限配置
确保Docker容器能够访问硬盘设备:
cap_add:
- SYS_RAWIO
devices:
- "/dev/sda"
- "/dev/sdb"
数据持久化配置
防止数据丢失,配置数据卷挂载:
volumes:
- /run/udev:/run/udev:ro
- ./config:/opt/scrutiny/config
- ./influxdb:/opt/scrutiny/influxdb
常见问题与故障排除
设备检测问题
如果硬盘设备无法被检测到:
- 检查设备权限 - 确保设备路径正确
- 验证smartctl - 在宿主机运行
smartctl --scan确认设备可见性 - 调整设备映射 - 在docker-compose.yml中正确配置devices列表
网络连接问题
确保各服务间网络连通:
- Web应用与InfluxDB之间的连接
- Collector与Web API之间的通信
- 防火墙规则配置
性能优化建议
- 定期清理旧数据 - 配置InfluxDB数据保留策略
- 监控资源使用 - 关注内存和CPU使用情况
- 备份配置文件 - 定期备份 config目录 中的重要设置
生产环境最佳实践
安全性配置
- 修改默认的管理员密码和API令牌
- 配置反向代理和SSL加密
- 限制网络访问权限
监控与告警
- 集成到现有监控系统(如Prometheus)
- 配置邮件或Webhook告警
- 设置定期健康检查
结语
通过本教程,你已经掌握了Scrutiny Docker部署的完整流程。无论选择简单的Omnibus模式还是灵活的Hub-Spoke架构,都能为你的硬盘健康提供专业级的监控保护。💪
记住定期检查Scrutiny的监控面板,及时发现潜在问题,让你的数据存储更加安全可靠!🔒
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






