Super Slick Proxmox Grafana Dashboard with InfluxDB and Docker

Want to monitor your Promox server and its resource usage? This cool Proxmox Grafana dashboard using InfluxDB and Docker is a great fit for your needs.

Let's face it, dashboarding is cool. It is one way to show off all the hard work you put into setting up your homelab.

As said in my previous guides, I have been meaning to publish a series of guides on dashboarding. I started with setting up InfluxDB, followed by Grafana Docker guide.

Now, I have all the ingredients in place to share my first guide - Proxmox Grafana flux dashboard, using InfluxDB 2 as the data source.

Prometheus is another common data source, but Proxmox supports InfluxDB from the UI and so I went the Proxmox InfluxDB Grafana route. Let's begin.

Proxmox Grafana Flux Dashboard Setup

Step 1. Requirements for Proxmox Grafana Dashboard

At this point, the assumption is that you have both InfluxDB and Grafana running. If not, follow the guides linked below first:

Once done, let's move on to Grafana Proxmox flux dashboard setup.

Step 2. Setup Proxmox Bucket on InfluxDB

Although this is possible using the commandline, we are going to do this using the InfluxDB 2 web interface.

Log in to your InfluxDB web interface and create a new bucket called proxmox (or whatever). Optionally, set it to automatically purge old data. In this Proxmox Grafana dashboard example, I am picking the default 30 days. Hit create to complete this step.

Proxmox Influxdb Bucket
Proxmox Influxdb Bucket

Next, you will have to create a custom API token for Proxmox to be able to access InfluxDB and write metrics to it. Under Load Data -> API Tokens, create a custom API token, with only write privilege to the proxmox bucket we created previously.

Custom Api Token For Proxmox On Influxdb
Custom Api Token For Proxmox On Influxdb

Hit Generate and note the API token. That's it, we are done with InfluxDB.

Step 3. Setup Proxmox Metric Server

To configure Proxmox metric server, go to Datacenter -> Metric Server on Proxmox web interface. Proxmox has built-in support from the web interface for passing the metrics to two databases: InfluxDB and Graphite.

Since I have also used InfluxDB as the recorder for my Home Assistant, I decided to use the same InfluxDB TSDB.

Proxmox Metric Server Support
Proxmox Metric Server Support

Pick InfluxDB and provide the connection details: Name, Server, Port, HTTP, and Organization (these should be available after following the InfluxDB setup guide). Bucket name and API token are available from the previous steps in this Grafana Proxmox tutorial.

Proxmox Influxdb Metric Server
Proxmox Influxdb Metric Server

Hit Create and proceed.

Step 4. Verify Proxmox Metrics on InfluxDB

Now its time to check if Proxmox is sending metrics to InfluxDB. Head over to InfluxDB Data Explorer, as shown below. Pick the proxmox bucket.

Proxmox Metrics On Influxdb
Proxmox Metrics On Influxdb

If you are able to items in the Select measurement... dropdown then ... jump around a few times ๐Ÿ˜Ž and come back.

Step 5. Create Proxmox Grafana Dashboard

The final step is to consume the Proxmox metrics from InfluxDB database to build kick-ass dashboards. If you followed my Grafana Docker guide, you should already have it setup InfluxDB as a data source in Grafana.

The wonderful thing about Grafana is that there are many pre-built dashboards available that you can reuse in minutes without much work.

At the time of writing this guide, there are over 30 Proxmox InfluxDB Grafana dashboards available.

I stole mephisto's Proxmox Flux dashboard (ID 15356) and modified it to include some dial gauges instead of bar gauges. I just think dial gauges look cooler.

Here is what I came up with:

Proxmox Grafana Dashboard
Proxmox Grafana Dashboard

Now let's see how to add the above dashboard to your Grafana.

Copy Dashboard ID

I have published my Grafana Dashboard for Proxmox in the dashboard repository (ID 18621). What you really need is the ID number, which is 18621.

There are several other dashboards available for InfluxDB. If you use one of the others, be sure that it is compatible with InfluxDB 2 (many are not).

Add Proxmox Dashboard to Grafana

Now back on Grafana, go Dashboards and import a new dashboard as shown below.

Import Proxmox Grafana Dashboard
Import Proxmox Grafana Dashboard

Enter, ID number 18621 and hit Load. Most of the information in the following screen should be pre-populated.

Import Grafana Proxmox Dashboard Id 18621
Import Grafana Proxmox Dashboard Id 18621

Typically, the only thing you will need to do is pick your InfluxDB 2 data source from the drop-down.

Proxmox Grafana Dashboard With Influxdb Data Source
Proxmox Grafana Dashboard With Influxdb Data Source

Hit Import and Voila! Your wonderful Proxmox Grafana InfluxDB dashboard should be ready to go.

FAQ

How do I monitor proxmox with Grafana?

To monitor Proxmox in Grafana, you will first have to configure a Metric Server to send metrics to a database such as InfluxDB. Then, define this database as a data source in Grafana. Finally, you could use one of the pre-built Grafana dashboards available for Proxmox to visualize the data.

Can you embed Grafana?

Yes, you can embed charts/panels from Grafana. Click on any panel and then Share to see what options are available for embedding.

Can I use Grafana without Prometheus?

Definitely. Prometheus is just one of the data source options. Grafana is capable of connecting to various data sources, including InfluxDB, Loki, MariaDB, Elastisearch, Graphite, OpenTSDB, and more.

Does Grafana require license?

Grafana is free to use for homelabs and enthusiasts. An enterprise license is available for larger-scale usage.

How do I integrate Grafana and InfluxDB?

InfluxDB can be integrated with Grafana by adding it as a data source. Once added, use the data explorer to check incoming data and verify the integration.

So You have a Grafana Dashboard for Proxmox, What Next?

Dashboarding is cool but it is also a rabbit hole. If you hardly ever look at a dashboard than the thrill and "cool" factor of setting up one, you get no real benefit out of it.

Personally, in the past, I have sent specific charts over to my Home Assistant view, which is available through my motion-activated Android tablet wall panel for me to see. Grafana also has alerting capabilities, which I will probably explore in a future post. If certain abnormal behaviors are seen, you could alert someone.

You could also combine Grafana with Alert Manager, which is an even more powerful workflow. May be something I will explore in a future guide.

For now, I hope you enjoyed this tutorial on monitoring Proxmox with InfluxDB and Grafana. Feel free to share your ideas with others in the comments.

Be the 1 in 200,000. Help us sustain what we do.
25 / 150 by Dec 31, 2024
Join Us (starting from just $1.67/month)

Anand

Anand is a self-learned computer enthusiast, hopeless tinkerer (if it ain't broke, fix it), a part-time blogger, and a Scientist during the day. He has been blogging since 2010 on Linux, Ubuntu, Home/Media/File Servers, Smart Home Automation, and related HOW-TOs.