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 或小型数据中心等需提前预警硬盘故障的场景。

相关文章
|
19天前
|
人工智能 JSON 定位技术
GEO站内优化深度指南:内容、JSON-LD与知识地图FAQ
本文将围绕于磊老师的这一理论框架,深入探讨GEO站内优化的核心策略,特别是内容设置、JSON-LD应用以及知识地图构建等关键环节,以FAQ形式为读者提供专业、可信、有深度的指导。
108 2
|
17天前
|
存储 Linux SDN
Proxmox Virtual Environment 9.2 发布,引入动态负载均衡器
Proxmox VE 9.2 发布 - 开源虚拟化管理平台
332 1
Proxmox Virtual Environment 9.2 发布,引入动态负载均衡器
|
1月前
|
消息中间件 网络协议 测试技术
socket长连接在手游场景下的技术实践
本文介绍了37手游基于B站goim框架自研长连接系统的实践。系统采用分层设计,支持多协议和发布/订阅机制,用于直播弹幕、实时推送等场景,实现了高性能与业务适配。
163 4
socket长连接在手游场景下的技术实践
|
2月前
|
Ubuntu 算法 关系型数据库
Debian/Ubuntu 环境 PolarDB-X 单机版 DEB 包安装综合指南
本文整合阿里云文档,详解Ubuntu 18.04与Debian 10下PolarDB-X单机版安装:因官方仅提供RPM包,需用alien转DEB,但二者压缩格式不同(Ubuntu用zstd,Debian 10不支持),必须在目标系统本地转换,不可复用。含依赖处理、配置初始化及启动验证全流程。
578 19
|
2月前
|
网络协议 虚拟化 Docker
【Azure Developer】.NET Aspire 启动报错:listen tcp bind: An attempt was made to access a socket in a way forbidden by its access permissions
.NET Aspire在Windows启动时因Hyper-V端口保留机制,导致DCP代理无法绑定53209等端口(报错“访问被拒绝”)。虽端口未被占用,但已被系统保留。推荐方案:修改launchSettings.json,将服务端口改为7xxx等安全范围;或临时重启winnat服务、永久排除指定端口。
445 21
|
2月前
|
弹性计算 人工智能 机器人
阿里云ECS/轻量服务器+本地全平台部署OpenClaw|集成QQ机器人+千问Qwen3.6-Plus+Coding Plan大模型配置保姆级教程
2026年,开源AI自动化框架OpenClaw(曾用名Clawdbot)已成为个人与团队效率提升的核心工具,凭借“行动式AI”能力,可将自然语言指令转化为文件管理、系统控制、数据处理、社交交互等实际任务执行。本文完整覆盖2026年阿里云轻量服务器部署及本地MacOS/Linux/Windows11部署OpenClaw(Clawdbot)步骤流程及阿里云千问Qwen3.6-Plus配置或市场上免费大模型Coding Plan API配置及常见问题解答,同步新增阿里云ECS云服务器专业部署、QQ机器人全流程集成方案,所有操作附可直接复制的代码命令、可视化指引与高频问题排查方案。
520 14
|
2月前
|
安全 Java 索引
java工具:《对Collections.sort排序后我想制定查询几条,比如list有10条,我只想获取前4条》
java工具:《对Collections.sort排序后我想制定查询几条,比如list有10条,我只想获取前4条》
122 12
|
9天前
|
监控 固态存储 Java
Maven 本地仓库优化:SSD+ 目录结构调整最佳实践
本文深入讲解了 Maven 本地仓库优化的完整方案,包含 SSD 迁移、目录结构规划、清理策略、多版本管理等企业级最佳实践。通过真实案例展示了如何将 50GB 仓库优化到 20GB(减少 60%),构建时间从 12 分钟缩短到 2 分钟(提升 6 倍)。提供完整的迁移脚本、清理工具和监控方案,帮助开发者解决磁盘空间不足、I/O 性能瓶颈等问题。适合 Java 开发者、DevOps 工程师阅读。