External Metrics Server for Proxmox

If you are familiar with the Proxmox WebUI1, you’ll know, that it provides several metrics that are not available using telegraf plugins. Espacially LXC Guests are hard to monitor. Since Proxmox Release 4.0, it’s possible to use an external metrics server. Currently Graphite2 and InfluxDB3 are supported.

The following example will demonstrate, how to send data from Proxmox into your InfluxDB and visualize it in Grafana4. Although the information you get from telegraf plugins is nice, they are not reliable for e.g. LXC Guest in Proxmox.

Configuration

First you have to configure your InfluxDB server in Proxmox’s etc/pve/status.cfg. If the file does not exist, create it.

influxdb:
  server 192.168.0.5
	port 8089

Next you have to enable UDP in InfluxDB (/etc/influxdb/influxdb.conf).

[[udp]]
  enabled = true
  bind-address = "0.0.0.0:8089"
  database = "proxmox"

Proxmox will send the data without a restart required, so you should see the following output in influx.

InfluxDB shell version: 1.1.0
> use proxmox
Using database proxmox
> show series
key
---
ballooninfo,host=kvm.dev-eth0.test,object=qemu,vmid=101
blockstat,host=kvm.dev-eth0.test,instance=ide0,object=qemu,vmid=101
blockstat,host=proxmox,object=nodes
cpustat,host=proxmox,object=nodes
memory,host=proxmox,object=nodes
nics,host=kvm.dev-eth0.test,instance=tap101i0,object=qemu,vmid=101
nics,host=proxmox,instance=eth0,object=nodes
nics,host=proxmox,instance=lo,object=nodes
nics,host=proxmox,instance=tap101i0,object=nodes
nics,host=proxmox,instance=tap101i1,object=nodes
system,host=lxc1.dev-eth0.test,object=lxc,vmid=112
system,host=lxc2.dev-eth0.test,object=lxc,vmid=106
system,host=proxmox,object=nodes
system,host=isos,nodename=proxmox,object=storages,type=dir

Depending on your requirements, you can now design Grafana Dashboards that display the same data as Proxmox enriched with more specific information.

Footnotes

Related Posts