ITX拿来做PVE服务器已经用了好几个月的时间了,体验还是相当不错的,但是缺乏一个直观的性能看板。早听说PVE的Metric Server特性可以用来监视性能,恰逢最近有看到有人推Grafana,因此准备来体验一下。

前奏

首先参考一下PVE的官方文档关于Metric Server的描述。

别看这文档虽然短小,但也潜藏着不少坑。由于我们的实验是以InfluxDB V2版本进行。首先文档中的配置文件内容是针对InfluxDB V1的,在InfluxDB V2中不再适用。且文档建议使用UDP连接InfluxDB,但是InfluxDB V2中默认已经是http了。幸运的是这文档里对V2的配置提了一嘴。

配置InfluxDB

那么我们创建一个lxc容器部署我们的InfluxDB服务和Grafana服务。

在lxc容器里装好influxdb和influx-cli并启动influxdb

systemctl enable --now influxdb

启动后默认监听http端口是8086,WebUI和API接口都在这个端口上访问

首次启动需要进行Setup,可以从WebUI上Setup,也可以在CLI工具上Setup。可以参考influxdb的文档

这里我们用CLI工具进行setup。

influx setup

这是一个交互式的过程,我们设置一个名为proxmox的organization和一个名为proxmox的bucket/database。

配置PVE侧Metric Server

在proxmox上配置(Datacenter -> Metric Server -> Add -> InfluxDB):

要获得token,运行:

influx config list --json

配置Grafana

安装并启动Grafana

systemctl enable --now grafana

访问WebUI,默认端口是3000

添加InfluxDB作为数据源

接下来连接InfluxDB,在WebUI上选择Add data source

Query Language选择Flux,填写InfluxDB的URL。

关掉Basic auth,剩余的Organization和Default Bucket填proxmox,Token填你的token

设置Proxmox Dashboard

接着Import 这个ID为15356的dashboard就可以了

记得顶上的Bucket选proxmox不然是No Data。