Vigil监控工具Docker部署指南:实时监控服务器硬盘

举报
江湖有缘 发表于 2026/07/23 01:56:47 2026/07/23
【摘要】 Vigil监控工具Docker部署指南:实时监控服务器硬盘

Vigil监控工具Docker部署指南:实时监控服务器硬盘



一、Vigil介绍

1.1 Vigil 简介

Vigil 是一个现代、轻量级、开源的服务器监控系统,专注于实时 S.M.A.R.T. 健康状态跟踪,帮助用户提前发现硬盘故障风险。

1.2 Vigil主要特点

  • 轻量级代理:采用单个 Go 编译的二进制文件,无外部依赖,几秒内即可部署到任意服务器。
  • Docker 服务器支持:中央服务端可通过 Docker 或 Docker Compose 快速容器化部署。
  • 快速网页仪表板:基于现代 HTML5/JavaScript 构建,界面即时加载并实时刷新数据。
  • 深度分析能力:提供原始 S.M.A.R.T. 属性、温度历史记录及详细的驱动器信息。
  • 预测性健康检查:通过高级算法分析硬盘状态,区分正常老化与潜在故障风险。
  • 持续监控机制:支持自定义报告间隔,并具备自动重连功能确保监控不中断。
  • 内置认证系统:集成安全的用户登录与会话管理,保护监控数据访问。
  • 驱动器别名功能:允许为硬盘设置自定义名称(如“Plex Media”或“备份驱动器”),便于识别。
  • HBA 控制器兼容:自动识别连接在 SAS HBA(如 LSI SAS3224)后的 SATA 驱动器。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

hostname IP地址 操作系统版本 Docker版本 部署项目 备注
jeven 192.168.3.88 Ubuntu 24.04.2 LTS 28.5.0 Vigil ——

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Vigil服务器和硬盘监控系统工具。

三、本地环境检查

3.1 检查Docker服务状态

检查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

3.2 检查Docker版本

检查Docker版本

root@jeven:~# docker -v
Docker version 28.5.0, build 887030f

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven:~# docker compose version
Docker Compose version v2.39.4

四、拉取Vigil镜像

下载Vigil镜像,执行以下命令:

docker pull  ghcr.io/pineappledr/vigil:latest

在这里插入图片描述

五、创建Vigil服务端

5.1 创建部署目录

  • 创建部署目录
mkdir -p  /data/vigil/data  && cd  /data/vigil
  • 在测试环境下,设置目录权限。
 chmod -R 777 /data/vigil

5.2 创建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.yaml
version: '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

在这里插入图片描述

5.3 检查容器状态

检查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

5.4 检查容器日志

检查Vigil服务端容器日志,确保Vigil Server运行正常。

 docker compose logs

在这里插入图片描述

六、安装Vigil Agent

6.1 安装Vigil Agent容器

我们在需要被监控的机器上创建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

在这里插入图片描述

6.2 检查Vigil Agent容器状态

确保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

七、访问Vigil服务面板

7.1 访问初始页

浏览器地址: http://<个人的服务器IP>9080,访问Vigil初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

7.2 登录Vigil面板

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

在这里插入图片描述

7.3 查看监控效果

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

在这里插入图片描述

八、总结

Vigil 通过轻量级架构实现了对物理磁盘 S.M.A.R.T. 健康状态的实时监控,部署简洁且资源占用低。服务端与代理分离的设计,兼顾了集中管理和本地硬件访问的需求。实践验证了其在物理机环境下的有效性,而虚拟机因缺乏真实磁盘支持无法采集数据。该方案适用于家庭服务器、NAS 或小型数据中心等需提前预警硬盘故障的场景。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。