The “Monitoring Azure applications” series:
Ok, so at this point you’ve got an application deployed to Windows Azure, you’ve setup that application with some instrumentation and you setup the necessary components to allow authentication between the OpsMgr environment and Azure. Now it’s time to put the Azure management pack to work.
Import the MP for Windows Azure Applications
The first thing to do is get the Windows Azure management pack. You can either search the pinpoint catalog for “Azure” to get the download link (this ensures that even if I don’t update my blog, you’ll get the latest and greatest), or you can go directly to the download page here. Once you complete the management pack MSI, import the management pack into your management group. Note: The Management Pack for Windows Azure Applications works in both OpsMgr 2007 R2 (CU3 and beyond) as well as Operations Manager 2012.
What does the MP provide?
Once the management pack is imported, you’ll see two new things that you can see in the operations console and a number of other components that will come in use down the road (aka in a future blog post).
The first is a new set of views in the monitoring section of the console. These views provide one place for reviewing state and performance of your Azure applications that you monitoring with operations manager. While each application that you discover will also have a distinct view folder, these are the views that you will use to view state across all of your Windows Azure applications.
The second new thing that you will see in the console is under the Authoring section. With the Management Pack Templates section of the UI, a new template will be added for Windows Azure Applications. This is really nice because it means that we don’t have to do any real MP authoring to get monitoring of our Azure applications setup and running. Granted, there are some complex monitoring scenarios that need further development, but the out of the box model is a great starting point, especially while your application is in test or still under development.
There are two more things that are provided within the management pack, which you do not see as features in the UI, but are important to briefly note here.
The first is the class model. The Azure MP defines a lightweight and, in my opinion, clever class model which defines the generic structure of Windows Azure applications. What makes the model clever is that it is succinct and that all other Azure application instances inherit from this one class model. This allows for both the “one view for all” view and allows for very easy addition of new workflows, which apply to all Azure applications.
The second is a set of module type definitions, which will come in handy later when we go to create custom monitoring for our Azure applications.
Discovering the Windows Azure Application…almost
Before we jump into the Azure MP template wizard, there are a few details we need to collect:
Discovering the Windows Azure Application…for real this time!
Ok. All of your details are in order and now you can use the new template to discover your Azure application with Operations Manager. This is what you do:
So now what?
First things first, discovery has to happen. The MP that you just created via the template has a discovery built into it which will run on the root management server (RMS). That discovery in turn puts an object under the ownership of the proxy agent that you selected. When the proxy agent realizes it was just handed a new object it will update its configuration and then run another discovery to get at the balance of the details for the Azure application. It sounds involved, but in most cases it should take 2-5 minutes to complete. So go grab a coffee, stretch, walk around the building, browse <insert your favorite social site>, check email, whatever. Now switch over to the Monitoring section of the console and scroll down to the Windows Azure set of views, and more specifically the Hosted Service State view. Once the RMS discovery completes a new instance will show up here, but it will not have state yet. Once the full discovery on the proxy agent runs, state will be populated here and you can then start browsing into the other state views to see the rest of the application. You can also right-click on the row in the Hosted Service State view and select Open -> Diagram View. With this view, you can watch the whole application get discovered and see how the objects relate to each other.
Now that the objects are discovered, the monitoring and collection workflows can start. As I mentioned before, there is a set of rudimentary monitoring and performance collection that comes with the Azure template. The following images show this better than I can explain it.
Lastly, if you ever need to revisit how your Azure application monitoring template is setup of you want to change something (i.e. deployment(s) or proxy agent), you can return to the Authoring section of the console, navigate to Authoring -> Management Pack Templates -> Windows Azure Application and then open the properties of the template from there.
So that’s it! Now you have discovered you Azure application with Operations manager and you’ve been given a rudimentary set of monitoring and performance collections to boot. But what if something went wrong in the discovery process? That will be the subject of my next post on this topic.