Greetings, friends! The excitement in the data protection community has been brewing, and for a very good reason. After being inundated with inquiries, it’s finally time to lift the veil on the next big thing in the Grafana blog series – a freshly minted Grafana Dashboard for Veeam Backup & Replication, now leveraging the power of the novel VBR API.
For those familiar with the data protection scene, you might recall that we’ve already got a Grafana Dashboard dedicated to the Veeam Enterprise Manager API since 2020. A vanguard of its time, the pioneering tool offered impressive capabilities and has seen its fair share of success with more than 1000 downloads.
However, this cutting-edge dashboard catapults us into a new era. Breaking away from the reliance on Enterprise Manager, this new dashboard gets down to brass tacks, focusing solely on the Veeam Backup & Replication REST API. Not only does this ensure seamless interplay with various Veeam Servers, but it also paves the way for a larger community engagement, propelling us into an innovative frontier of data protection visibility using OSE tools like Grafana.
With this new dashboard at your fingertips, I am eagerly looking forward to fostering a vibrant community around it. I am inviting all of you to start utilizing this state-of-the-art tool, bring forth your feedback, and spark discussions in the comments, or GitHub, for enhancements and improvements.
Grafana Dashboard for Veeam Backup & Replication API
When you finish the entry you will have something similar to this. It might be different according to your environment, number of days you select, protected workloads, jobs, etc.
Dashboard – Summary
- Job Historical Information – The very first graph. The most important one in my opinion. Grouped by 24 hours, get to know the status of your policies per day, on a range in time.
- Job Historical Information Table – Very similar to the previous panel, but this time with more details about job name, status, date, etc.
- Job Historical Information Duration – Very similar to previous panels, but this time showing in a bubble way, how much every job has taken to execute. A very cool way to see what jobs are taking the longer, trends, etc.
- Job Last Result – BIG COLORED PANELS, what everyone I talk about is asking for. Get to know the last status across all jobs, and focus only on the ones are yellow/red.
- Infrastructure – A few tables that shows some Infrastructure data across the Veeam Backup & Replication. A lot to improve here, but so far the VBR API doesn’t give us much more details.
- Restore Points – More big panels in colors. The more points, the darker the green becomes. This is a list of all your workloads, or the selected workload on top, with the amount of restore points to date.
Topology with all logical components
This entry is very similar to the previous ones, we will use a bash shell script that connects to our Veeam Backup & Replication Servers, using the REST API, and then will send the metrics to InfluxDB, and visualize them with Grafana . The design would be something similar to this:
Download and configure the veeam_backup_and_replication.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:
You will need jq, so please go ahead and install it first (apt-get install jq, or yum install jq)
This shell script can be downloaded and run from the telegraf server, InfluxDB, or any other Linux. We will have to edit the configuration parameters:
## # Configurations ## # Endpoint URL for InfluxDB veeamInfluxDBURL="http://YOURINFLUXSERVERIP" #Your InfluxDB Server, http://FQDN or https://FQDN if using SSL veeamInfluxDBPort="8086" #Default Port veeamInfluxDBBucket="veeam" # InfluxDB bucket name (not ID) veeamInfluxDBToken="TOKEN" # InfluxDB access token with read/write privileges for the bucket veeamInfluxDBOrg="ORG NAME" # InfluxDB organisation name (not ID) # Endpoint URL for login action veeamJobSessions="1000" veeamUsername="YOURVBRUSER" veeamPassword="YOURVBRPASSWORD" veeamBackupServer="YOURVBRAPIPORT" veeamBackupPort="9419" #Default Port
Once the changes are done, make the script executable with chmod:
chmod +x veeam_backup_and_replication.sh
The output of the command should be something like the next, without errors:
Writing veeam_vbr_info to InfluxDB Writing veeam_vbr_sessions to InfluxDB Writing veeam_vbr_sessions to InfluxDB Writing veeam_vbr_sessions to InfluxDB Writing veeam_vbr_sessions to InfluxDB Writing veeam_vbr_sessions to InfluxDB
If so, please now add this script to your crontab, like for example every 30 minutes:
*/30 * * * * /home/oper/veeam_backup_and_replication.sh >> /var/log/veeam_backup_and_replication.log 2>&1
Grafana Dashboards
I created a Dashboard from scratch by selecting the best requests to the database, finishing off colors, thinking about graphics, and how to display them, and everything is automated so that it fits our environment without any problem 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 Servers, Workloads, Jobs, etc.:
Import Grafana Dashboards easily
So that you don’t have to waste hours configuring a new Dashboard, and ingesting and debugging what you want, I have already a wonderful Dashboard with everything you need to monitor our environment in a very simple way, you will be like the image I showed you above. Select the name you want and enter the ID: 18854, which is the unique ID of the Dashboard, or the URL:
With the menus above you can display and adjust the Dashboard to your different choices:
Please leave your feedback in the comments, or on GitHub.
I hope you like it, and I would like to leave you the complete series here, so you can start playing with the plugins that I have been telling you about all these years:
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part I (Installing InfluxDB, Telegraf, and Grafana on Ubuntu 20.04 LTS)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte II (Instalar agente Telegraf en Nodos remotos Linux)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte III Integración con PRTG
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IV (Instalar agente Telegraf en Nodos remotos Windows)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte V (Activar inputs específicos, Red, MySQL/MariaDB, Nginx)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VI (Monitorizando Veeam)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VII (Monitorizar vSphere)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VIII (Monitorizando Veeam con Enterprise Manager)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IX (Monitorizando Zimbra Collaboration)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte X (Grafana Plugins)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XI – (Monitorizando URL e IPS con Telegraf y Ping)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XII (Native Telegraf Plugin for vSphere)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XIII (Veeam Backup for Microsoft Office 365 v4)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XIV – Veeam Availability Console
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XV (IPMI Monitoring of our ESXi Hosts)
- Looking for Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XVI (Performance and Advanced Security of Veeam Backup for Microsoft Office 365)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XVII (Showing Dashboards on Two Monitors Using Raspberry Pi 4)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVIII – Monitorizar temperatura y estado de Raspberry Pi 4
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XIX (Monitoring Veeam with Enterprise Manager) Shell Script
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXIV (Monitoring Veeam Backup for Microsoft Azure)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXV (Monitoring Power Consumption)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXVI (Monitoring Veeam Backup for Nutanix)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXVII (Monitoring ReFS and XFS (block-cloning and reflink)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXVIII (Monitoring HPE StoreOnce)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXIX (Monitoring Pi-hole)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXIX (Monitoring Veeam Backup for AWS)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXXI (Monitoring Unifi Protect)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXXII (Monitoring Veeam ONE – experimental)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXXIII (Monitoring NetApp ONTAP)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXXIV (Monitoring Runecast)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXXV (GPU Monitoring)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXXVI (Monitoring Goldshell Miners – JSONv2)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XXXVII (Monitoring Veeam Backup for Google Cloud Platform)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXVIII (Monitorizando Temperatura y Humedad con Xiaomi Mijia)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XL (Veeam Backup for Microsoft 365 – Restore Audit)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XLI (Veeam Backup for Salesforce)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XLII (Veeam ONE v12 Audit Events)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XLIII (Monitoring QNAP using SNMP v3)
- Looking for the Perfect Dashboard: InfluxDB, Telegraf, and Grafana – Part XLIV (Monitoring Veeam Backup & Replication API)
Dennis Faucher says
Beautiful as always. I’m here for the REST and the Roman Numerals.
jorgeuk says
Thank you so much mate, if you give this a try, let me know.
cNone says
Hello it will be tremendous addition to our monitoring system but I couldn’t get it to work. I have opened an issue on github about the issue. Basically, script can gather the info but it struggles to write on influxdb. Can you please check?:
https://github.com/jorgedlcruz/veeam-backup-and-replication-grafana/issues/1
Thanks in advance
Leandro Torres says
Hola Jorge, muchas gracias por tus aportes.
Estoy teniendo el mismo error reportado por CNone, el entorno de Grafana, Influx, Telegraf, está en K8s. Apliqué la solución aplicada por el post pero sigue idem. Me recomendarías instalar el entorno en un Linux u alguna otra recomendación? Gracias de nuevo.
jorgeuk says
Saludos Leandro, tendria que funcionar sin problema, el script que error te da?
Saludos
Leandro Torres says
Hola Jorge. Idem a https://github.com/jorgedlcruz/veeam-backup-and-replication-grafana/issues/1
Shw says
I received this erros… Veeam 11 Enterprise Plus with Influx DB 2.x
jq: error (at :1): Cannot iterate over null (null)
jq: error (at :1): Cannot iterate over null (null)
jq: error (at :1): Cannot iterate over null (null)
jq: error (at :1): Cannot iterate over null (null)
jq: error (at :1): Cannot iterate over null (null)
jorgeuk says
Hello,
What licensing you have? Enterprise Plus, VUL?
Juanjo Cruz says
Hola Jorge,
He descargado el script en una VM Linux. Decir que en esa VM no tengo InfluxDB instalado, tengo el cli de Influx.
Cuando trato de lanzar el script, veo que no me está cogiendo la URL.
Error: failed to write data: Post “http://localhost:8086/api/v2/write?bucket=veeam&org=test&precision=s”: dial tcp [::1]:8086: connect: connection refused
Por probar, he añadido el parámetro –host cada vez que haces un influx write pero también me da error.
Writing veeam_vbr_info to InfluxDB
Error: failed to write data: 400 Bad Request: failed to parse line protocol: errors encountered on line(s):
error parsing line 1 (1-based): Tag Set Malformed
¿Se te ocurre qué puede ser?
Gracias
Abdull says
Hello Jorge,
thank you very much, it’s great…
jorgeuk says
Hola, parece que el script intenta escribir en localhost, donde no tienes InfluxDB, que tiene tu config al principio, sin passwords?
Heverton says
Hello Jorge!
The entire backend part is working, but it does not display the data in grafana.
MaroonK says
Hi Jorge,
First of all thank you very much.
I am trying to setup grafana dashboard for veeam.
I have veeam b&r version 12.
I install grafana v10.4.2.0 on windows server.
I install influxdb v2.7.6 on same windows server
I am running a Ubuntu desktop vm v24.04.
I am trying to run the sh script from this vm but I it’s not working. I m getting an error message,
./veeam.sh: line 43: curl: command not found
./veeam.sh: line 45: Responce.json: No Such file or directory
rm: cannot remove ‘respince.json’: No Such file or directory
An unexpected error occurred with HTTP status code:.
Thanks.
Michele says
Hi!
I get this error:
root@veeamdashboard:~# ./veeam_backup_and_replication.sh
./veeam_backup_and_replication.sh: line 45: response.json: No such file or directory
rm: cannot remove ‘response.json’: No such file or directory
An unexpected error occurred with HTTP status code: 000.
Any idea on how to find the problem?
jorgeuk says
Are you running the script from some folder that requires special permissions? Try to save the script to the user folder, non root, some /home/user, etc.
Thank you
mustafa says
Hello
great work
every think is okay regarding api but can written in influx db and hsow to me this error
jorgeuk says
Hello, what is the error you see?