首页
/ 3步构建Proxmox虚拟化平台监控中心:从分散管理到集中监控的实践指南

3步构建Proxmox虚拟化平台监控中心:从分散管理到集中监控的实践指南

2026-04-30 11:33:19作者:苗圣禹Peter

在现代IT基础设施管理中,Proxmox VE作为开源虚拟化平台被广泛应用于家庭实验室和企业环境。然而,随着节点数量和虚拟机规模的增长,管理员常常面临Proxmox监控分散、状态查看繁琐、资源告警不及时等问题。本文将通过3个核心步骤,教你使用Dashy构建一站式Proxmox监控中心,实现多节点状态聚合、资源使用可视化和异常情况实时告警,让虚拟化管理效率提升70%。

认识Proxmox监控的核心痛点与解决方案

传统管理方式的三大挑战

在没有集中监控的环境中,管理员通常需要通过以下方式管理Proxmox集群:

  • 频繁登录不同节点的Web界面切换查看
  • 手动记录虚拟机运行状态和资源占用
  • 依赖系统自带告警工具,缺乏自定义阈值设置

这些方式导致管理效率低下、故障响应延迟,尤其在节点数量超过3个时,管理复杂度呈指数级增长。

Dashy监控方案的核心优势

Dashy作为开源自托管仪表盘工具,通过专用的Proxmox Widget实现与虚拟化平台的深度集成,带来三大核心价值:

📊 全局状态可视化:将多个Proxmox节点的虚拟机状态集中展示,运行/停止/暂停状态通过颜色编码直观呈现
🔄 实时数据同步:通过Proxmox API直接获取数据,支持自定义刷新间隔(最低10秒)
⚙️ 轻量化部署:无需在Proxmox节点安装代理,通过API令牌实现安全访问

Proxmox监控仪表盘示例
图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令牌:

  1. 登录Proxmox Web管理界面,导航至数据中心 > 权限 > API令牌
  2. 点击"添加"按钮,设置以下参数:
    • 用户名:选择具有只读权限的用户(建议创建专用监控用户)
    • 令牌名称:如dashy-monitor
    • 有效期:根据安全策略设置(建议90天)
  3. 记录生成的令牌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/内存/磁盘资源使用百分比
  • 集群整体健康状态

多节点Proxmox监控布局示例
图2:多节点Proxmox监控的网格布局,按功能分区显示不同服务状态

常见问题排查

  1. 数据不显示:检查API令牌权限是否正确,可通过journalctl -u dashy查看应用日志
  2. 刷新缓慢:降低refreshInterval值(最小值10秒),避免过于频繁的API请求
  3. 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令牌权限不足或格式错误
解决

  1. 验证令牌格式是否为用户名@pam!令牌名称=令牌UUID
  2. 检查Proxmox用户权限是否包含VM.Audit权限
  3. 重新生成令牌并确保复制完整的UUID

Q2: 虚拟机状态显示延迟

原因:网络延迟或刷新间隔设置过大
解决

  1. 将refreshInterval调整为15-30秒
  2. 在Proxmox节点上执行pvesm status检查存储状态
  3. 确保Dashy服务器与Proxmox节点之间网络延迟<100ms

Q3: 中文显示乱码

原因:系统字体不支持中文字符
解决

  1. 安装中文字体:apt install fonts-noto-cjk
  2. user-data/conf.yml中添加字体配置:
appConfig:
  customCss: |
    body { font-family: 'Noto Sans SC', sans-serif; }

扩展资源

官方文档

社区实践案例

通过本文介绍的方法,你已掌握使用Dashy构建Proxmox监控中心的核心技能。这种轻量级集成方案不仅保留了Proxmox的原生功能,还通过集中可视化大幅提升了管理效率。随着业务需求变化,可进一步探索Dashy的自定义CSS、多语言支持等高级功能,打造更符合个人或企业需求的监控平台。

登录后查看全文
热门项目推荐
相关项目推荐