首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Vigil监控工具Docker部署指南:实时监控服务器硬盘

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

原创
作者头像
江湖有缘
发布2026-09-19 00:12:33
发布2026-09-19 00:12:33
640
举报
文章被收录于专栏:Docker项目实战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正常运行。

代码语言:bash
复制
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版本

代码语言:bash
复制
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f

3.3 检查docker compose 版本

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

代码语言:bash
复制
root@jeven:~# docker compose version
Docker Compose version v2.39.4

四、拉取Vigil镜像

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

代码语言:bash
复制
docker pull  ghcr.io/pineappledr/vigil:latest
在这里插入图片描述
在这里插入图片描述

五、创建Vigil服务端

5.1 创建部署目录

  • 创建部署目录
代码语言:bash
复制
mkdir -p  /data/vigil/data  && cd  /data/vigil
  • 在测试环境下,设置目录权限。
代码语言:bash
复制
 chmod -R 777 /data/vigil

5.2 创建Vigil服务端

可选:使用docker-cli方式部署,可参考以下命令:

代码语言:bash
复制
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文件,内容如下:

代码语言:bash
复制
vim docker-compose.yaml
代码语言:bash
复制
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服务端容器:

代码语言:bash
复制
docker compose up -d
在这里插入图片描述
在这里插入图片描述

5.3 检查容器状态

检查Vigil服务段容器状态,当看到healthy时候,则容器运行正常。

代码语言:bash
复制
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运行正常。

代码语言:bash
复制
 docker compose logs
在这里插入图片描述
在这里插入图片描述

六、安装Vigil Agent

6.1 安装Vigil Agent容器

我们在需要被监控的机器上创建Vigil Agent容器,进行采集监控数据。其中--server的IP地址替换为Vigil Server端的IP地址。

代码语言:bash
复制
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容器正常启动,如下所示:

代码语言:bash
复制
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 或小型数据中心等需提前预警硬盘故障的场景。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、Vigil介绍
    • 1.1 Vigil 简介
    • 1.2 Vigil主要特点
  • 二、本次实践规划
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、拉取Vigil镜像
  • 五、创建Vigil服务端
    • 5.1 创建部署目录
    • 5.2 创建Vigil服务端
    • 5.3 检查容器状态
    • 5.4 检查容器日志
  • 六、安装Vigil Agent
    • 6.1 安装Vigil Agent容器
    • 6.2 检查Vigil Agent容器状态
  • 七、访问Vigil服务面板
    • 7.1 访问初始页
    • 7.2 登录Vigil面板
    • 7.3 查看监控效果
  • 八、总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档