Greetings friends, almost a year ago I launched the Dashboard for Veeam Backup for Microsoft Office 365, in that case, it was the Dashboard for the product v3. With the arrival of the new version of Veeam Backup for Microsoft Office 365 v4, the time has come to update the Dashboard too. I have told you on numerous occasions all the advantages that a monitoring and the dashboarding system has.

In fact, you can find all the entries about InfluxDB, Telegraf, and Grafana here. Remember that there is a Community Edition with up to 10 free users, without paying anything).Veeam Backup for Microsoft Office 365 Dashboard

Grafana Dashboard for Veeam Backup for Microsoft Office 365



What’s new in this new Dashboard for Veeam Backup for Microsoft Office 365 v4

I already told you that among the great new functionalities we found Object Storage and at-rest encryption of what we stored in this Object Storage, which is why the new Dashboard shows us the local repositories, vs Object Storage: Besides showing us the detail of each object storage repository, such as the size over time, name, service point, and whether or not it has encryption: These are very subtle improvements but I hope you like them.

How to Enable the RestAPI in Veeam Backup for Microsoft Office 365

We’ll have to run several steps before we start downloading anything, or even touching Grafana, from our Veeam Backup for Microsoft Office 365, we’ll go in the Console to the menu icon, and then General options: We will go to the sub-menu called REST API and enable the REST service, also here we could install our own SSL, and change the timeout of the tokens and the port of SSL, in my case I have not changed anything: With this, we can go to our browser and explore the SWAGGER that Veeam Backup for Microsoft Office 365 brings as standard, we will find it at https://VBOURL:4443/swagger and must look like this: Now with this we are ready to continue towards the Perfect Dashboard for Veeam Backup for Microsoft Office 365 v4.

Veeam Backup for Microsoft Office 365 RestAPI Script

The script that can be downloaded directly from GitHub requires a brief configuration with certain parameters of our environments, but before we see this configuration, let’s see what this script gathers from RestAPI:

Number of Licensed Users

Number of new Users recently added to VBO

Total number of threads of the Proxies

Total number of objects processed in the backups

Summary of the latest Backup status – by job

Summary of the latest restoration – by job and by component

Statistics on reading and writing in MB/s – per job

Statistics on information processed in MB/s and data written in MB – per job

Statistics on the time it has taken each Backup – per job

Summary table with the status of each Backup – by job

Summary table with the consumption of each Backup Repository

Summary table with the consumption of each Object Storage

Disk Capacity Meter for each Backup Repository

Disk Capacity Meter for each Object Storage

We will make sure we have jq installed, an apt-get install jq or yum install jq if we use CentOS:

sudo apt-get install jq 1 sudo apt - get install jq

Once we download the script to our InfluxDB server, we’ll edit it and change the following:

## # Configurations ## # Endpoint URL for InfluxDB veeamInfluxDBURL="YOURINFLUXSERVERIP" veeamInfluxDBPort="8086" #Default Port veeamInfluxDB="telegraf" #Default Database veeamInfluxDBUser="USER" #User for Database veeamInfluxDBPassword="PASSWORD" #Password for Database # Endpoint URL for login action veeamUsername="YOURVBOUSER" veeamPassword="YOURVBOPASSWORD" veeamRestServer="https://YOURVBOSERVERIP" veeamRestPort="4443" #Default Port 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ## # Configurations ## # Endpoint URL for InfluxDB veeamInfluxDBURL = "YOURINFLUXSERVERIP" veeamInfluxDBPort = "8086" #Default Port veeamInfluxDB = "telegraf" #Default Database veeamInfluxDBUser = "USER" #User for Database veeamInfluxDBPassword = "PASSWORD" #Password for Database # Endpoint URL for login action veeamUsername = "YOURVBOUSER" veeamPassword = "YOURVBOPASSWORD" veeamRestServer = "https://YOURVBOSERVERIP" veeamRestPort = "4443" #Default Port

Once we edit these parameters, make the script executable:

chmod +x veeam_office365.sh 1 chmod + x veeam_office365 .sh

We will be able to execute it manually if we want to see what it does, we would have to observe an output like the next one repeated many times:

HTTP/1.1 204 No Content Content-Type: application/json Request-Id: c1c18f61-10b2-11ea-909a-000000000000 X-Influxdb-Build: OSS X-Influxdb-Version: 1.6.3 X-Request-Id: c1c18f61-10b2-11ea-909a-000000000000 Date: Wed, 27 Nov 2019 01:10:52 GMT 1 2 3 4 5 6 7 HTTP / 1.1 204 No Content Content - Type : application / json Request - Id : c1c18f61 - 10b2 - 11ea - 909a - 000000000000 X - Influxdb - Build : OSS X - Influxdb - Version : 1.6.3 X - Request - Id : c1c18f61 - 10b2 - 11ea - 909a - 000000000000 Date : Wed , 27 Nov 2019 01 : 10 : 52 GMT

This is fine, and that’s what has to come out, now we have to program our script to launch automatically as often as we want, in my case every 30 minutes, we will use crontab -e to add it to cron, use your own path:

*/30 * * * * * /home/oper/veeam_office365.sh >> /var/log/veeamvbo.log 2>&1 1 */ 30 * * * * * / home / oper / veeam_office365 .sh > > / var / log / veeamvbo .log 2 > &1

Verifying that we are ingesting information with Chronograf

The normal thing at this point, if we have done all the steps well, is that we are already sending information compiled by the script to InfluxDB, if we do a search using the wonderful Chronograf, we can see that we have information: All the variables of this new Veeam script for VBO are stored in veeam_office365_* so it is really easy to find them.

Grafana Dashboards

I have created a Dashboard from scratch selecting the best requests to the database, finishing off colors, thinking what graphic and how to show it, and everything is automated so that it fits our environment without any problem and without having to edit anything manually. You can find the Dashboard here, once imported, you can use the top dropdown menus to select between organizations, backups, repositories, and proxies:

How to Import easily the Grafana Dashboard

So that you don’t have to waste hours configuring a new Dashboard, and ingesting and debugging queries, I’ve already created four 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 Create Dashboard – Import

Select the name you want and enter the ID: 11286, which is the unique ID of the Dashboard, or the URL:

With the menus above you can deploy and adjust the Dashboard to your organization, backup jobs, object storage, and so on: Please leave your feedback in the comments, or in GitHub. If you want to see them working without installing anything, here is the link to my environment:

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

Like this: Like Loading...