Veeam Integration with vRealize Operations Manager

To keep control of a complex Datacenter good monitoring tools are necessary. In my opinion one of the major feature of a good monitoring solution is the capability to correlate data from different sources. VMware vRealize Operations Manager is a great solution if you run a VMware based SDDC with a mix of VMware and Partner Products. You can out of the box correlate metrics from VMware NSX, VMware vSphere, VMware VSAN and a lot of other VMware Products. But also integration of Third-Party solutions like the Blue Medora NetApp Storage Management Pack are possible. In most VMware SDDC`s also Veeam Backup & Replication is in use, so I tried to create a Veeam Integration with vRealize Operations Manager. I need to mention that Veeam offers with Veeam ONE also their own monitoring solution with a deep VMware vSphere and Veeam Integration. But in complex datacenter designs with a wide range of products that need to be integrated VMware vRealize Operations Manager is more flexible at this point.

Top vBlog 2018 Voting

Nehmen Sie an der Umfrage teil, um Ihre Stimme abzugeben und belohnen Sie die besten Blogger für ihre harte Arbeit und ihr Engagement, indem Sie sie wissen lassen, dass Sie sie schätzen.

My concept of a Veeam Integration with vRealize Operations Manager is only a proof of concept at this point. And even if it works is it not ready for production yet!

Veeam Protection View

The main goal of the proof of concept was to create a view that shows the Veeam protection state of the virtual machines.  The gathered data is identical to the data I have collected with an earlier PowerShell project – Veeam vSphere Interactions with PowerShell.

Veeam Integration with vRealize Operations Manager - View

The View has only my custom properties as Data with shorter Metric Labels.

Veeam Integration with vRealize Operations Manager - View Data

Group of Veeam Protected VMs

With the additional properties regarding the Veeam protection status I am also able to create new groups. The groups can be used to apply other Policies or to limit the permissions of users.

Veeam Integration with vRealize Operations Manager - Group Criteria

vRealize Operations Manager API

An easy possibility to add additional properties to resources (in my case virtual machine) in VMware vRealize Operations Manager is the API. wrote a great Blog Post how to add properties with the Suite-API. My Veeam Integration with vRealize Operations Manager is essentially a PowerShell Script that pushes collected data to the vRealize Operations Manager API.

The documentation of the Suite-API can accessed on every vRealize Operations Manager Appliance: https://<FQDN>/suite-api/

This is the sample request how to add custom properties with XML as payload:

Veeam Integration with vRealize Operations Manager - API Documentation addProperties

Name Description Type Required
statKey Stat Key for which the data is being posted xs:string yes
timestamps The array of timestamps at which the data is being posted xs:long yes
data The numeric data that is being posted (optional) xs:double no
values The string values that are being posted (optional) xs:string no

My real live example of a XML Body:

You can also use your Browser or even better, Tools like Postman the leverage the Suite-API:

Veeam Integration with vRealize Operations Manager - Postman

Veeam Integration with vRealize Operations Manager PowerShell Script

My PowerShell script uses a modification of an older Veeam Project to get the protection details about the vSphere virtual machines from Veeam, I have only added some additional output to the function (Get-VeeamProtectionEnhanced). This data can now be used to create the API Request.

In difference to the API-Only solution from I have used the PowerCLI Cmdlet Get-OMResource to find the correct resource to add the properties.

This script is also available as a GitHub Gist.

Script Details:

  • 4 – 16 : Accept Self Signed Certificates and force TLS 1.2
  • 20 – 89 : Function Get-VeeamProtectionEnhanced
    • 39 – 50 : Make sure vCenter is connected and with the same name available in Veeam
    • 58 – 67 : Collect per VM details
    • 69 – 82 : Build return
  • 93 – 94 : Load Modules and SnapIns
  • 99 – 105 : Load global definitions and saved credential
    (See also: Import-Clixml and Export-Clixml)
  • 109 – 111 : Connect vCenter, Veeam and Operations Manager
  • 115 – 118 : Get vSphere VMs and their protection details
  • 123 – 156 : Build XML for the API Post
  • 160 : Get Operations Manager Ressource from vSphere VM
  • 162 – 169 : Invoke API Post
  • 175 – 177 : Disconnect vCenter, Veeam and Operations Manager

Known Problems

As I started playing with the custom properties I was wondering why the new properties were not available as a filter option in Views or Groups. But John Dias was able to clarify the situation (Many thanks!):

That means it can take while until the new properties pop up in all Filters. The more objects have this properties the faster it will work.

Leave a Reply