If you’ve followed along with some of my previous posts (i.e. Azure Backup Now Has Reports or How-To Create Custom Azure Backup Reports Using the Data Model, then you should already have Azure Backup configured to send Log data to an Azure Storage account, and are using the PowerBI content pack for visualization of that data.
As was mentioned in the first referenced article, in addition to using an Azure Storage account, you can also send Azure Backup log data into Log Analytics (aka OMS).
Today we’re going to look at this data as it is presented in OMS, and work with it to create a custom OMS solution.
To start, you need to integrate the Azure Backup logs into an OMS Workspace. To do this, follow along with the introduction and Step 1 of my Azure Backup Now Has Reports article, and select the Send to Log Analytics option.
After the integration is complete, to confirm that data is being sent to OMS, use the following search query: AzureDiagnostics | where (Category == “AzureBackupReport”)
Provided sufficient time has passed (Note: The recommended wait time is 24 hours) since you integrated the Backup Logs with Azure Log Analytics, you should see some results returned.
Important: Please note that all examples and queries are based on the new OMS query language. If your Workspace has not been upgraded yet, the provided queries will not work for you.
For further information on the new Azure Log Analytics query language, please see the official documentation found here.
Create a Custom OMS Solution
Now that we’ve verified that we have data available in OMS, we can start to create our own custom solution to monitor and visualize our backup jobs. We will be using the OMS View Designer to create this solution.
Note: We are creating a custom OMS solution using the available Log data, since the current OMS Azure Backup solution only works with ASM-based Vaults, and not the new ARM-based Recovery Services Vaults.
If and/or when Microsoft officially releases an updated OMS Backup solution, our custom solution may become obsolete, or need further customization based on our organization’s specific needs (which may or may not be satisfied through an official solution).
If we’re creating a custom OMS solution, the first “view” is the Overview tile, and it will be the first thing we see in the OMS (and/or Azure) portal. So we need to think about what is the most important piece of information we need to be able to check easily and quickly first thing. The answer (in my mind) is the Backup Job Status since we would want to see if any backups failed overnight.
So, in our query editor, we can retrieve this information via the following query: AzureDiagnostics | where (Category == “AzureBackupReport”) | where (OperationName == “Job”) | summarize count() by JobStatus_s
And we can use that as our query in our overview tile.
Drill Down Views
Now that we have an overview tile that quickly and easily shows us job statuses, we want to be able to drill down into this, especially if there are any failed jobs.
Within the View Designer, we will add a View Dashboard to list the individual protected systems and their backup status.
In the list query I used the following: AzureDiagnostics | where Category == “AzureBackupReport” | where OperationName == “Job” | project ProtectedServerUniqueId_s, JobStatus_s
You may notice that the Computer field isn’t quite useful. If you run the query in the Log Search, this is what the results look like:
You see that the ProtectedServerUniqueId_s field contains the system name, but also includes the region, a GUID, etc.
Using the new query language guide (specifically the String Operators), I found several methods for retrieving just the element I want in the view (i.e. the Computer Name); namely the Extract, and Split operators. Unfortunately, I have not had any success getting either of those to work with the View Designer. When I do, I will come back and update this article.
Just take note that you can create custom views based on retrieving the fields you want to visualize/list as part of the custom solution.
In conclusion, I hope this shows you what you can do with the Backup log data being integrated with OMS, as well as how you can create custom views. If you’re interested in creating custom dashboards and reports, then check out my complimentary article: How-To Create Custom Azure Backup Reports Using the Data Model.