Zabbix 监控 Proxmox VE(PVE)完整方案

laoluo
laoluo
laoluo
管理员
145
文章
0
粉丝
教程评论17阅读模式

主流两种方案:

  1. 官方 HTTP 模板(推荐,无需装 Agent,采集宿主机 / VM/LXC/ 存储全量虚拟化指标)
  2. Zabbix Agent 本地监控(侧重宿主机硬件、系统指标,虚拟化数据需脚本扩展)

方案一:官方模板 Proxmox VE by HTTP(最简、原生支持)

一、PVE 后台创建监控专用账号 + API Token

  1. 新建监控用户 数据中心 → 用户 → 添加
    • 用户名:zabbix
    • 域:Proxmox VE Authentication(pve)
    • 设置密码,勾选启用 → 添加Zabbix 监控 Proxmox VE(PVE)完整方案
  2. 分配只读审计权限(最小权限原则) 数据中心 → 权限 → 添加 → 用户权限
    • 路径:/
    • 用户:zabbix@pve
    • 角色:PVEAuditor
    • 勾选传播 → 添加Zabbix 监控 Proxmox VE(PVE)完整方案
  3. 生成 API Token(关键,仅显示一次 Secret) 数据中心 → API Tokens → 添加
    • 用户:zabbix@pve
    • Token ID:zabbix-monitor(自定义)
    • 取消勾选权限分离 Privilege Separation
    • 过期:永不过期 保存弹窗里的 Token ID + Secret,后面 Zabbix 要填。Zabbix 监控 Proxmox VE(PVE)完整方案
  4. 给 Token 分配全局审计权限 数据中心 → 权限 → 添加 → API Token 权限
    • 路径:/
    • API Token:选中刚创建的 token
    • 角色:PVEAuditor,勾选传播Zabbix 监控 Proxmox VE(PVE)完整方案

二、Zabbix 导入官方 PVE 模板

  1. 下载官方模板文件 地址:https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/proxmox/template_app_proxmox.yaml 右键 raw 保存为 template_app_proxmox.yaml
  2. Zabbix Web:数据采集 → 模板 → 导入,选择 yaml 文件导入。
  3. 导入成功后模板名称:Proxmox VE by HTTP

三、Zabbix 添加 PVE 主机并配置宏

Zabbix 监控 Proxmox VE(PVE)完整方案

  1. 数据采集 → 主机 → 创建主机
    • 主机名称:PVE 节点主机名
    • 可见名称:自定义
    • 接口:HTTP 代理接口,地址填 PVE 管理 IP,端口8006(PVE API 默认端口)
  2. 关联模板:搜索 Proxmox VE by HTTP 链接到主机
  3. 主机宏(必须填,模板内置变量)
    宏名称 填入内容
    {$PVE.URL.HOST} PVE 服务器 IP
    {$PVE.URL.PORT} 8006
    {$PVE.TOKEN.ID} 刚才生成的 Token ID
    {$PVE.TOKEN.SECRET} Token Secret 密钥
  4. 保存主机,等待 3-5 分钟自动发现节点、虚拟机、容器、存储。

四、可监控指标(官方模板自带)

  • 宿主机:CPU / 内存 / 磁盘 IO / 网卡 / 温度 / 负载 / 系统状态
  • 虚拟机 VM:CPU、内存、磁盘、网络、开机状态、磁盘使用率
  • LXC 容器:资源占用、运行状态
  • 存储:local、lvm、ceph、nfs 容量 / 使用率
  • 自动发现:节点、VMID、容器 ID、存储池,自动创建监控项与触发器

方案二:PVE 宿主机安装 Zabbix Agent(补充硬件监控)

适合同时监控宿主机系统、硬盘健康、RAID、硬件温度,搭配 HTTP 模板互补。

1. PVE(Debian)安装 Agent

# 导入zabbix源(替换对应zabbix版本,如6.0/7.0)
wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-2+debian12_all.deb
dpkg -i zabbix-release_7.0-2+debian12_all.deb
apt update
apt install zabbix-agent

 2. 配置 Agent

编辑 /etc/zabbix/zabbix_agentd.conf

Server=Zabbix服务端IP
ServerActive=Zabbix服务端IP
Hostname=PVE节点主机名
systemctl enable --now zabbix-agent
systemctl restart zabbix-agent

 

3. Zabbix 主机额外关联模板

  • Template OS Linux by Zabbix agent:系统基础监控
  • 再叠加上面的 Proxmox VE by HTTP 模板,兼顾系统 + 虚拟化指标

常见问题排查

  1. 无法获取 PVE 数据,监控项报错 401 Unauthorized
    • Token Secret 复制错误、权限分离没取消
    • Token 未分配PVEAuditor全局权限
  2. 8006 端口不通 PVE 防火墙放行 Zabbix 服务器 IP:
    pvefirewall add rule in ACCEPT source ZABBIX_IP port 8006 proto tcp
  3. 自动发现不出虚拟机 确认 Token 权限传播到/vms路径,重启 Zabbix 服务。
  4. 测试 API 连通性(PVE 服务器执行)
    curl -H "Authorization: PVEAPIToken=zabbix@pve!zabbix-monitor=你的Secret" https://127.0.0.1:8006/api2/json/nodes

    返回 JSON 即账号 Token 正常。

两种方案对比

方式 优点 缺点 适用场景
官方 HTTP 模板 无需 Agent、原生全虚拟化指标、自动发现 VM/CT 仅虚拟化数据,无底层硬件细粒度指标 只监控虚拟化资源、多集群批量监控
Agent+HTTP 双模板 宿主机硬件 + 虚拟化全覆盖 需要安装 agent、多一层维护 完整服务器运维监控

PVE 防火墙放行 Zabbix的一键脚本,或者 Zabbix 告警触发器(VM 关机、存储使用率 90%、宿主机高负载)

 
laoluo
  • 本文由 laoluo 发表于2026年6月28日 01:11:51
  • 转载请务必保留本文链接:https://www.mydata-api.com/tutorials/329.html
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证