3步构建Proxmox虚拟化平台监控中心:从分散管理到集中监控的实践指南
在现代IT基础设施管理中,Proxmox VE作为开源虚拟化平台被广泛应用于家庭实验室和企业环境。然而,随着节点数量和虚拟机规模的增长,管理员常常面临Proxmox监控分散、状态查看繁琐、资源告警不及时等问题。本文将通过3个核心步骤,教你使用Dashy构建一站式Proxmox监控中心,实现多节点状态聚合、资源使用可视化和异常情况实时告警,让虚拟化管理效率提升70%。
认识Proxmox监控的核心痛点与解决方案
传统管理方式的三大挑战
在没有集中监控的环境中,管理员通常需要通过以下方式管理Proxmox集群:
- 频繁登录不同节点的Web界面切换查看
- 手动记录虚拟机运行状态和资源占用
- 依赖系统自带告警工具,缺乏自定义阈值设置
这些方式导致管理效率低下、故障响应延迟,尤其在节点数量超过3个时,管理复杂度呈指数级增长。
Dashy监控方案的核心优势
Dashy作为开源自托管仪表盘工具,通过专用的Proxmox Widget实现与虚拟化平台的深度集成,带来三大核心价值:
📊 全局状态可视化:将多个Proxmox节点的虚拟机状态集中展示,运行/停止/暂停状态通过颜色编码直观呈现
🔄 实时数据同步:通过Proxmox API直接获取数据,支持自定义刷新间隔(最低10秒)
⚙️ 轻量化部署:无需在Proxmox节点安装代理,通过API令牌实现安全访问

图1:包含Proxmox节点监控的Dashy仪表盘,显示多节点状态和服务健康度
准备工作:配置Proxmox API访问环境
安装Dashy基础环境
在开始配置前,请确保已完成Dashy的基础部署。通过以下命令克隆官方仓库并启动服务:
# 克隆项目仓库
git clone https://gitcode.com/GitHub_Trending/da/dashy
cd dashy
# 安装依赖并启动服务
yarn install
yarn build
yarn start
⚠️ 注意事项:Dashy需要Node.js 14+环境,推荐使用Ubuntu 20.04+或Debian 11+系统以获得最佳兼容性。服务默认运行在3000端口,可通过
PORT环境变量修改。
创建Proxmox API访问令牌
为确保安全访问Proxmox API,需要创建具有适当权限的API令牌:
- 登录Proxmox Web管理界面,导航至
数据中心 > 权限 > API令牌 - 点击"添加"按钮,设置以下参数:
- 用户名:选择具有只读权限的用户(建议创建专用监控用户)
- 令牌名称:如
dashy-monitor - 有效期:根据安全策略设置(建议90天)
- 记录生成的令牌UUID和集群URL(格式:
https://proxmox-ip:8006)
🔧 权限配置:为安全起见,建议仅授予
PVEVMAdmin角色的只读权限,避免赋予修改虚拟机状态的权限。
验证API连接性
使用curl命令测试API连接是否正常:
# 替换为实际的Proxmox信息
curl -k -H "Authorization: PVEAPIToken=root@pam!dashy-monitor=你的令牌UUID" \
https://proxmox-ip:8006/api2/json/nodes
成功响应应返回节点列表JSON数据。如遇连接失败,请检查:
- Proxmox节点的8006端口是否开放(可通过
ufw allow 8006/tcp命令配置) - API令牌权限是否正确设置
- SSL证书是否被正确信任(测试环境可使用
-k参数忽略证书验证)
配置Proxmox监控组件
编辑Dashy配置文件
Dashy的所有配置都存储在user-data/conf.yml文件中。添加Proxmox监控组件需在sections节点下添加以下内容:
sections:
- name: 虚拟化平台监控
icon: server
widgets:
- type: proxmox
options:
cluster_url: "https://proxmox-node-1:8006" # 替换为实际Proxmox地址
user_name: "root" # API访问用户名
token_name: "dashy-monitor" # 创建的令牌名称
token_uuid: "00000000-0000-0000-0000-000000000000" # 替换为实际UUID
title: "Proxmox集群状态"
hide_templates: true # 隐藏模板虚拟机
refreshInterval: 30 # 数据刷新间隔(秒)
node_data: "resources" # 显示资源使用数据
title_as_link: true # 标题链接到Proxmox界面
⚠️ 注意事项:配置文件采用YAML格式,缩进必须使用空格(不支持Tab),字符串值需用双引号括起。修改后需重启Dashy服务使配置生效。
多节点监控配置
对于包含多个Proxmox节点的集群,可通过添加多个widget实现全面监控:
# 在同一sections下添加第二个Proxmox widget
- type: proxmox
options:
cluster_url: "https://proxmox-node-2:8006" # 第二个节点地址
user_name: "root"
token_name: "dashy-monitor"
token_uuid: "第二个节点的令牌UUID"
title: "备用节点状态"
hide_templates: true
refreshInterval: 30
node: "pve-node-2" # 指定节点名称
配置资源告警阈值
通过添加statusCheck参数实现资源使用超限告警:
options:
# 其他配置...
statusCheck:
field: cpu
threshold: 85
operator: ">"
color: "#ff4444" # 超过阈值时显示红色
此配置将在CPU使用率超过85%时,以红色高亮显示对应虚拟机或节点。
验证与优化监控效果
查看监控面板
访问Dashy仪表盘(默认地址:http://服务器IP:3000),在"虚拟化平台监控" section下应能看到Proxmox监控组件,显示以下信息:
- 节点状态指示灯(绿色=正常,红色=异常)
- 虚拟机列表及运行状态(🟢运行中、🟡暂停、🔴停止)
- CPU/内存/磁盘资源使用百分比
- 集群整体健康状态

图2:多节点Proxmox监控的网格布局,按功能分区显示不同服务状态
常见问题排查
- 数据不显示:检查API令牌权限是否正确,可通过
journalctl -u dashy查看应用日志 - 刷新缓慢:降低refreshInterval值(最小值10秒),避免过于频繁的API请求
- SSL错误:在Proxmox中导入有效SSL证书,或在配置中添加
verify_ssl: false(仅测试环境使用)
界面优化建议
根据实际使用场景调整以下配置参数优化显示效果:
appConfig:
layout: grid # 网格布局更适合多节点监控
itemSize: medium # 中等图标大小平衡信息密度
iconSize: 24 # 图标尺寸建议24-32px
theme: material-dark # 深色主题适合长时间监控
实际应用场景与进阶技巧
家庭实验室监控方案
对于家庭实验室用户,可将Proxmox监控与其他服务(如NAS、智能家居)整合,典型配置示例:
sections:
- name: 家庭实验室总览
widgets:
- type: proxmox # Proxmox虚拟机监控
- type: gl-cpu-history # CPU使用趋势图
options:
hostname: "proxmox-node-1"
port: 61208
- type: weather # 环境监控
这种配置实现了IT基础设施与环境数据的集中展示,适合家庭用户的一站式管理需求。
企业级集群监控策略
企业环境可利用Dashy的多页面功能,按业务线创建独立监控页面:
pages:
- name: 生产环境
path: /prod
sections:
- name: 生产Proxmox集群
widgets:
- type: proxmox
options:
cluster_url: "https://prod-proxmox-1:8006"
# 其他配置...
- name: 测试环境
path: /test
sections:
- name: 测试Proxmox集群
widgets:
- type: proxmox
options:
cluster_url: "https://test-proxmox-1:8006"
# 其他配置...
通过页面切换实现不同环境的隔离监控,同时保持统一的管理入口。
数据持久化与备份
为防止配置丢失,建议定期备份Dashy配置文件:
# 创建配置备份
cp user-data/conf.yml user-data/conf-$(date +%Y%m%d).yml
# 通过Dashy界面备份:设置 > 数据管理 > 导出配置
常见问题与解决方案
Q1: API连接提示401 Unauthorized
原因:API令牌权限不足或格式错误
解决:
- 验证令牌格式是否为
用户名@pam!令牌名称=令牌UUID - 检查Proxmox用户权限是否包含
VM.Audit权限 - 重新生成令牌并确保复制完整的UUID
Q2: 虚拟机状态显示延迟
原因:网络延迟或刷新间隔设置过大
解决:
- 将refreshInterval调整为15-30秒
- 在Proxmox节点上执行
pvesm status检查存储状态 - 确保Dashy服务器与Proxmox节点之间网络延迟<100ms
Q3: 中文显示乱码
原因:系统字体不支持中文字符
解决:
- 安装中文字体:
apt install fonts-noto-cjk - 在
user-data/conf.yml中添加字体配置:
appConfig:
customCss: |
body { font-family: 'Noto Sans SC', sans-serif; }
扩展资源
官方文档
- Dashy Widget配置指南:docs/widgets.md
- Proxmox API文档:docs/development-guides.md
社区实践案例
- 家庭实验室监控方案:docs/showcase.md
通过本文介绍的方法,你已掌握使用Dashy构建Proxmox监控中心的核心技能。这种轻量级集成方案不仅保留了Proxmox的原生功能,还通过集中可视化大幅提升了管理效率。随着业务需求变化,可进一步探索Dashy的自定义CSS、多语言支持等高级功能,打造更符合个人或企业需求的监控平台。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00