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

相关文章
|
3月前
|
人工智能 JSON 定位技术
GEO站内优化深度指南:内容、JSON-LD与知识地图FAQ
本文将围绕于磊老师的这一理论框架,深入探讨GEO站内优化的核心策略,特别是内容设置、JSON-LD应用以及知识地图构建等关键环节,以FAQ形式为读者提供专业、可信、有深度的指导。
236 2
|
3月前
|
存储 Linux SDN
Proxmox Virtual Environment 9.2 发布,引入动态负载均衡器
Proxmox VE 9.2 发布 - 开源虚拟化管理平台
742 1
Proxmox Virtual Environment 9.2 发布,引入动态负载均衡器
|
3月前
|
SQL 人工智能 关系型数据库
DBA的AI助手:向量检索与NL2SQL入门
本篇为DBA量身打造的AI入门指南:用最直白语言讲清向量检索(相似搜索、pgvector实战)与NL2SQL(自然语言写SQL)的本质、场景及落地路径。不卷算法,只讲DBA真正需要懂的数据库新能力——技术迭代快,但掌握关键点,你依然不可替代。
|
1月前
|
网络协议 Linux
Linux系统之last命令的基本使用
Linux系统之last命令的基本使用
163 3
|
2月前
|
人工智能 关系型数据库 Linux
Xshell、MobaXterm 之外的新选择:uniTerm 开源终端软件,不到 10MB,覆盖 20+ 协议
uniTerm是一款不到10MB的开源跨平台终端工具(Apache 2.0),集成SSH/Telnet/RDP/VNC/SFTP/SMB/MySQL/Redis等20+协议,内置AI Agent、分屏、云同步与中文支持,一站式替代Xshell、Navicat等多款客户端。
744 7
|
9月前
|
监控 安全 Unix
iOS 崩溃排查不再靠猜!这份分层捕获指南请收好
从 Mach 内核异常到 NSException,从堆栈遍历到僵尸对象检测,阿里云 RUM iOS SDK 基于 KSCrash 构建了一套完整、异步安全、生产可用的崩溃捕获体系,让每一个线上崩溃都能被精准定位。
2988 165
|
3月前
|
存储 监控 开发工具
阿里云日志服务SLS全流程对接与深度使用指南
本文是一篇详尽的阿里云日志服务SLS技术科普文章,从核心概念、服务开通、资源创建、数据采集、SDK集成、查询分析、可视化告警、安全权限到成本优化,全面讲解SLS的对接与使用。文章包含Logtail采集、Python/Java SDK代码示例、SPL与SQL查询等实操内容,帮助用户从零构建企业级日志管理平台,实现日志的统一归集、实时分析与智能运维。
|
3月前
|
安全 网络安全 定位技术
企业IT管理中,如何通过IP地址查询定位快速溯源异常终端?用IP离线库实现
某制造企业安全团队发现,内部服务器在凌晨时段频繁向境外IP发起异常连接,导致数据泄露风险。排查时发现,这些外连IP属于某云服务商的数据中心段,且同一IP在短时间内关联了多台内网终端。
310 1
|
4月前
|
监控 NoSQL 网络安全
管理redis数据使用什么工具
本文对比四大Redis图形化管理工具:yunedit-redis(中文友好、支持跨DB导入导出、SSH隧道及内存泄漏分析)、AnotherRedisDesktopManager(高颜值、易用,支持SSH)、redisInsight(官方出品、功能全面但无SSH隧道)、RedisDesktopManager(老牌工具,新版收费)。
|
9月前
|
Linux Docker 容器
docker下部署 vLLM 启动Qwen3-VL-32B-Instruct模型
本文介绍在CentOS系统、A10 6×24G显卡环境下,通过Docker部署vLLM并启动Qwen3-VL-32B-Instruct大模型的完整流程,涵盖镜像拉取、容器配置、多卡并行与显存优化设置,支持32K上下文,附带启动脚本及调用验证示例。
9491 2