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 StartedRust0153- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112