Custom Monitoring for Windows Azure Management Pack

The Windows Azure Application Monitoring Management Pack allows you to specify an application running in Windows Azure and have it automatically discovered and monitored.  Creating custom monitoring for particular events or performance monitors beyond those included in the management pack is different than creating this type of custom monitoring for other kinds of applications. 

I just put a sample management pack in our MP Library on OpsManJam called MPAuthor.Azure that provides various different samples of performing customer monitoring for the following:

  • Windows Events
  • Trace Logs
  • Performance Monitors not included in the standard Azure management pack

The Azure management pack works different than other applications.  Because the information isn’t on the local agent, you need to specify a proxy agent to connect to the Azure application and run the workflows.  You set that up by running the Windows Azure Application template as described in the management pack guide. 

The sample management pack includes configuration for a sample application that obviously won’t match the configuration for your application, so it won’t do you much good to just install the sample MP.  Instead, it’s meant for you to use as a reference.  Create a new management pack and then run the Windows Azure Application template which will setup the custom classes and discoveries for your application.  You will also get all of the standard monitoring that comes with the management pack. 

Once you have basic monitoring working, then open the Authoring Console and bring over the management pack that you created.  Then you can add custom monitors and rules based on the samples.

The other strategy you can use if you really want to see the sample management pack working is to modify the initial discovery with your application’s information.  The discovery is called Microsoft.SystemCenter.Azure.HostedService.InitialDiscovery.699a20bdd3e94374a7e503d4d1a72815.  You change its details on the Configuration tab.  The information there is pretty cryptic, but it should be too tough to figure out the values that need to be changed.  Just find the following and replace the information that’s there with the information for your application.

  • SubscriptionId: GUID for you Azure Subscription (appears twice)
  • ServiceName: Name of the hosted service to discover (appears twice)
  • DisplayName: Display name for your hosted service to include in the Operations Console
  • PrincipalName: FQDN of the agent computer to use as the proxy

Once you you make those changes and save the discovery, you can install it back into the management group.  Note that I’m assuming that you setup your certificates properly as described in the management pack guide.


I realized that I left one step off of that installation.  The sample application references to RunAs accounts that you won't have (because they came from the lab installation where we built it).  You just need to open Windows Azure Application template and select your RunAs accounts.

I also failed to mention something that should really not have to be stated - but I'll do it anyway.  Sample management packs are not ever intended to be installed in production environments.  When I mention installing into your management group, I'm talking about a lab or test management group.  I don't see anything in this sample that's going to cause problems, but it's just a good policy that you should always go by.  You also obviously don't want to bother your support staff with eroneous alerts or muddy up your statistics with a bunch of test data.