
Vigil 是一个现代、轻量级、开源的服务器监控系统,专注于实时 S.M.A.R.T. 健康状态跟踪,帮助用户提前发现硬盘故障风险。
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。
hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|
jeven | 192.168.3.88 | Ubuntu 24.04.2 LTS | 28.5.0 | Vigil | —— |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Vigil服务器和硬盘监控系统工具。
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Thu 2026-02-05 00:27:40 CST; 1s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 841698 (dockerd)
Tasks: 65
Memory: 73.5M (peak: 77.1M)
CPU: 975ms
CGroup: /system.slice/docker.service检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4下载Vigil镜像,执行以下命令:
docker pull ghcr.io/pineappledr/vigil:latest
mkdir -p /data/vigil/data && cd /data/vigil chmod -R 777 /data/vigil可选:使用docker-cli方式部署,可参考以下命令:
docker run -d \
--name vigil-server \
--restart unless-stopped \
-p 9080:9080 \
-v /data/vigil/data:/data \
-e ADMIN_PASS=your-secure-password \
ghcr.io/pineappledr/vigil:latest新建及编辑docker-compose.yaml文件,内容如下:
vim docker-compose.yamlversion: '3.8'
services:
vigil-server:
image: ghcr.io/pineappledr/vigil:latest
container_name: vigil-server
restart: unless-stopped
ports:
- "9080:9080"
volumes:
- /data/vigil/data:/data
environment:
- ADMIN_PASS=your-secure-password创建Vigil服务端容器:
docker compose up -d
检查Vigil服务段容器状态,当看到healthy时候,则容器运行正常。
root@jeven:/data/vigil# docker compose ps
WARN[0000] /data/vigil/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
vigil-server ghcr.io/pineappledr/vigil:latest "./vigil-server" vigil-server About a minute ago Up About a minute (healthy) 0.0.0.0:9080->9080/tcp, [::]:9080->9080/tcp检查Vigil服务端容器日志,确保Vigil Server运行正常。
docker compose logs
我们在需要被监控的机器上创建Vigil Agent容器,进行采集监控数据。其中--server的IP地址替换为Vigil Server端的IP地址。
docker run -d \
--name vigil-agent \
--net=host \
--privileged \
--restart unless-stopped \
-v /dev:/dev \
ghcr.io/pineappledr/vigil-agent:latest \
--server http://192.168.3.88:9080 \
--interval 60
确保Vigil Agent容器正常启动,如下所示:
root@jeven:/data/vigil# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fdc15bf2218d ghcr.io/pineappledr/vigil-agent:latest "./vigil-agent --ser…" About a minute ago Up About a minute浏览器地址:
http://<个人的服务器IP>9080,访问Vigil初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

使用默认用户名 admin 和在部署文件中通过 ADMIN_PASS 设置的密码,即可登录 Vigil 监控面板。

Vigil Agent 必须部署在物理主机上才能监控磁盘健康状态;若在虚拟机中运行,由于虚拟磁盘通常不支持 S.M.A.R.T. 功能,监控面板将显示 “No drives found”。

Vigil 通过轻量级架构实现了对物理磁盘 S.M.A.R.T. 健康状态的实时监控,部署简洁且资源占用低。服务端与代理分离的设计,兼顾了集中管理和本地硬件访问的需求。实践验证了其在物理机环境下的有效性,而虚拟机因缺乏真实磁盘支持无法采集数据。该方案适用于家庭服务器、NAS 或小型数据中心等需提前预警硬盘故障的场景。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。