Grafana 配置 Prometheus Proxmox VE Exporter

Search for a command to run...

No comments yet. Be the first to comment.
众所周知,IPv6 和 IPv4 不同,IPv6 的地址池更加丰富,也摒弃了 IPv4 中目前常见的 NAT 做法(虽然有 NAT6 的存在,但这终究是一种不受推荐的选择)。对于如果 WireGuard 中的一个 Peer 存在 IPv6 前缀(即 IP 地址不是/128),该设备就可以作为 Server,将前缀下的一部分地址分配给 VPN 中的其他设备的。 本文以 WireGuard 为例进行展示,IP地址均为静态指定,不涉及 DHCPv6。 首先给出网络拓扑图: 1. 更改 Linux 配...
💡 本文写于 2026 年 7 月,Cloudflare API 配置部分为当时界面,后续可能调整,请以实际情况为准。 此方案本身要求域名托管在 Cloudflare (即 NS 指向 Cloudflare)。 本着安全和最小权限的原则,本方案我们使用 User API Token + Zone ID(区域 ID) 的方式进行授权。 1. Cloudflare 配置 API Token Cl

导语:在美国和西方发达国家,经济繁荣、衰退、复苏、繁荣周而复始,有其周期性和相应的经济对策。但中国是政治挂帅,政治凌驾经济,而且习惯只算政治账,不算经济账。当前中国经济盛极而衰,正是由于中共只搞局部经济体制改革,迟迟不启动政治体制改革带来的恶果。 当前中国经济面临私企倒闭潮、外企撤离潮、投资大幅萎缩潮、出生人口下降潮、消费严重不足潮、债务连环爆煲潮,员工大规模失业潮,政府财税失血潮……投资、出口、消费三大经济引擎全部动力不足乃至死火。中国国家统计局日前公布的7月份经济数据,不是疲弱下挫就是远...

众所周知,IPv6 和 IPv4 不同,IPv6 的地址池更加丰富,也摒弃了 IPv4 中目前常见的 NAT 做法(虽然有 NAT6 的存在,但这终究是一种不受推荐的选择)。对于如果 WireGuard 中的一个 Peer 存在 IPv6 前缀(即 IP 地址不是/128),该设备就可以作为 Server,将前缀下的一部分地址分配给 VPN 中的其他设备的。 本文以 WireGuard 为例进行展示,IP地址均为静态指定,不涉及 DHCPv6。 首先给出网络拓扑图: 1. 更改 Linux 配...

我平时比较懒,不愿意手工安装系统,而是使用官方的 VMware 镜像,但官方镜像的语言支持只提供了 English。对于偶尔需要输入个中文的我来说,还是有些困扰的。 1、 换源 从官网下载 deb 包:https://pinyin.sogou.com/linux/?r=pinyin 推荐使用 apt install ./sogouxxxxx.deb,自动解决依赖问题,省心。 2、左上角图标,所有程序中输入input,找到 Input Method。 在一堆弹窗之后,将输入法切换到 Fcitx。...

Xiaoxk's Blog
28 posts
你看那通天的巨塔,每时每刻都有人往下跳。我小时候不懂,以为那是雪花。
本文不做基础知识的扫盲。
我一直想将 PVE 上全量的虚拟机纳入 Grafana 中展示,然而又不想一台台的配置 node_exporter。偶然的机会听说了 Prometheus Proxmox VE Exporter 插件,索性配置一下这个插件,将 PVE 的数据接入 Grafana。
整体架构如下图:

网上的很多教程都是直接拿 root@pam 账户来进行操作,但特权账号用作监控其实是安全风险蛮高的一件事情。这里我们单独建立一个审计(PVEAuditor)账户来执行操作。
建立账户很简单,登录网页控制台,在数据中心(Datacenter) → 权限(Permissions) → 用户(Users)中,直接添加一个用户即可。我这里使用的用户名是 monitor,鉴权方式(Realm)选择的是 PVE 鉴权。

之后要给用户配置审计角色(Role),这里很搞的是,PVE 没有办法通过 WebUI 来配置,需要登录到控制台执行命令:pveum aclmod / -user monitor@pve -role PVEAuditor 来实现。
命令执行成功后没有任何回显,但可以在 WebUI 中点击 Permissions 按钮就可以看到用户对应的权限。

在本地创建一个 pve.yml 文件,用于保存 PVE 的访问凭证。
可以使用密码或者 token,我这里使用的是密码,Token 的配置可参考项目官方 Github:https://github.com/prometheus-pve/prometheus-pve-exporter?tab=readme-ov-file#authentication

最开始我其实是希望在本地直接用 Python 虚拟环境启动的,结果在使用 pip install prometheus-pve-exporter 的过程中,有一个依赖始终找不到,后面懒得去找了,索性直接拉 Docker 镜像。

拉镜像也很简单,直接命令执行 docker run --init --name prometheus-pve-exporter -d -p 127.0.0.1:9221:9221 -v /root/pve.yml:/etc/prometheus/pve.yml prompve/prometheus-pve-exporter 即可。
拉起来之后可以通过命令 curl http://localhost:9221/pve?target=<PVE IP地址> 试一下,看看能不能读取到 metrics。

这一步直接跟着官网的操作,在Prometheus 的配置文件 scrape_configs 下新增一项即可(注意不要出现两个 scrape_configs: ,同时记得调整 Proxmox VE node 的地址)。
scrape_configs:
- job_name: 'pve'
static_configs:
- targets:
- 192.168.1.2 # Proxmox VE node.
- 192.168.1.3 # Proxmox VE node.
metrics_path: /pve
params:
module: [default]
cluster: ['1']
node: ['1']
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9221 # PVE exporter.
如果是部署在 PVE 上,则无需配置 relabel_configs 相关字段,具体可参考官方 Github:https://github.com/prometheus-pve/prometheus-pve-exporter?tab=readme-ov-file#prometheus-configuration
添加完成后,执行 systemctl restart prometheus 重启 Prometheus。
后续可以访问 Prometheus 网页,通过 Status → Target health 查看配置项的运行状态。

一方面传统的 Dashboard 依然可以使用,同时也可以添加针对 PVE 定制的 Dashboard,个人比较推荐:https://grafana.com/grafana/dashboards/10347-proxmox-via-prometheus/
添加完成后即可在仪表盘中查看对应的监控信息。
