Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXXII (Monitoring Veeam ONE – experimental)

Greetings friends, today I bring you a new post about Grafana, today’s post is also one of the most special that I have written, since it is an experimental version, and we do not know if this will come to some port, or will be changed in the future.

I am talking about nothing more and nothing less than a Grafana Dashboard for Veeam ONE! Yes, imagine combining all the potential that Veeam ONE has, which already analyzes VMware, Veeam, gives us recommendations, consumption, capacity planning, etc. And put all that data in a beautiful Grafana Dashboard, well that’s what we are going to do today.

Before we start, and in case the experimental is not enough, I want to remind you that this RESTful API of Veeam ONE is considered internal, so its use is not supported by Veeam, use this Dashboard at your own risk.

Veeam ONE Dashboard (experimental)

When we finish the entry we will have something similar to that Dashboard that will allow you to visualize:

Dashboard – Summary

This first dashboard of the series, because I intend to create all the Dashboards that Veeam ONE gives us, contains:

  • Backup Infrastructure Inventory – How many Veeam components we have added to this Veeam ONE.
  • Backup Window – A graph where we find the last 7 days with the Backup, Replica, and NAS job windows.
  • Job Status – A graph where we find the last 7 days with the jobs that have been successful, or that have had a warning or error.
  • Protected VMs Overview – A very complete table showing all our VMs, those that are protected, those that are not, the size of the copies, etc.
  • Top Jobs by Duration – A very complete table where we find our jobs, and the duration of them, with additional information if it is taking more time than normal or not.
  • Top Repositories by Used Space – A very complete table where we find our jobs, and the duration of them, with additional information if it is taking more time than normal or not.

Diagram with all logical components

This post is similar to the previous ones as in this case, we will use a combination of a shell script to collect Veeam ONE metrics using RESTful API and InfluxDB. The design would look something similar to this:As we can see, the shell script will download the metrics from Veeam ONE using the RESTful API, which will send all the data to InfluxDB, from where we can conveniently view them with Grafana.

Download, and configure the veeam_one.sh script

We have almost everything ready, we have one last step, the script that will make all this work, we will download the latest version from the Github repository:

This shell script can be downloaded and executed from the telegraf server, or influxDB, or any other Linux. We will have to edit the configuration parameters:

veeamInfluxDBURL="YOURINFLUXSERVER" ##Use https://fqdn or https://IP in case you use SSL
veeamInfluxDBPort="8086" #Default Port
veeamInfluxDB="YOURINFLUXDB" #Default Database
veeamInfluxDBUser="YOURINFLUXUSER" #User for Database
veeamInfluxDBPassword="YOURINFLUXPASS" #Password for Database

# Endpoint URL for login action
veeamUsername="YOURVEEAMONEUSER" #Usually domain\user or [email protected]
veeamPassword="YOURVEEAMONEPASS"
veeamONEServer="https://YOURVEEAMONEIP" #You can use FQDN if you like as well
veeamONEPort="1239" #Default Port

Once the changes are made, make the script executable with chmod:

chmod +x veeam_one.sh

We run it, and the output of the command should look something like the following, with no errors:

Writing veeam_ONE_repositories to InfluxDB
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 9e9c517e-7a11-11eb-8acb-0050569017a8
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.8.4
X-Request-Id: 9e9c517e-7a11-11eb-8acb-0050569017a8
Date: Sun, 28 Feb 2021 22:09:25 GMT

If so, please now add this script to your crontab, like for example every 30 minutes, I don’t think our Dashboards are updated more often, but good to download it if so:

*/30 * * * * /home/oper/veeam_one.sh >> /var/log/veeamone.log 2>&1

We are ready to go to the next step.

Grafana Dashboards

I created a Dashboard from scratch by selecting the best requests to the database, finalizing the colors, thinking about the graphics and how to display them, and everything is automated to fit our environment without any problems and without having to edit anything manually. The Dashboard can be found here, once imported, you can use the top drop-down menus to select between Veeam ONE Servers, etc:

Importing the Grafana Dashboard in a simple way

So that you don’t have to waste hours configuring a new Dashboard, and ingesting and debugging what you want, I have already created a wonderful Dashboard with everything you need to monitor our environment in a very simple way, it will look like the image I showed you above. Select the name you want and enter the ID: 13986, which is the unique ID of the Dashboard, or the URL:

With the menus above, we can move between Veeam ONE Servers (yes, this is intended for Service Providers as well): Please leave your comments here, or on GitHub – thanks so much for reading!

That’s all folks, if you want to follow the full Blog series about Grafana, InfluxDB, Telegraf, please click on the next links:

Author: jorgeuk

Father, writing in https://www.jorgedelacruz.es and https://jorgedelacruz.uk Blogger, Systems Engineer @veeam - vExpert 2014/2020 & NTC 2018/19

2 Thoughts

  1. Hi , this is quite interesting. is there a way we could use prometheus instead of influx ?

  2. Hello,
    My bash shell reads the data from the API, and sends it to Influx. So you can probably change that last part and send it to Prometheus on the format you expect. For the dashboard, I am afraid it uses Influx queries, so you will need to redo all the queries 🙂

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.