During a recent presentation on Cloud Management with System Center several good questions were asked but one really caught my attention. The client wanted to know why they couldn’t see performance information for their VM’s which are running in Azure. This blog post will dig into the underlying area of confusion as to what is provided in the Azure management pack, discuss what management packs should be used to monitor Azure, and explain what we get with the Azure management pack for IaaS virtuals.

 

What is the underlying issue?

Digging deeper their underlying question was really why they were not getting the full functionality we expect from System Center for virtual machines which are running in Azure IaaS. To explain this, we need to review the graphic below. This graphic shows how the various types of applications are monitored in Operations Manager both on-prem and in Azure. The management pack the client is using is monitoring Azure from a PaaS perspective. This means that it can see information in PaaS. What makes this confusing is that, it can also discover instances which exist in IaaS. However, to fully monitor these VM’s we need to install an Operations Manager agent installed on the IaaS virtual reporting to a management server or a gateway in Operations Manager.

 

What management packs should we be using to monitor Azure?

Sadly, I had some incorrect information on one of my slides in the presentation. I had listed an "Azure Websites" reference on my slide but that was pointed to an older management pack version. All monitoring for Azure (non-IaaS) should be done with the "Microsoft Azure" management pack (the one dated from 2014). The "Microsoft Azure Applications" MP (the one dated from 2011) should not be utilized at this point in time (the following is a current subset from the MPWIKI).

What packs do we need to know about?

Finding management packs:

 

What do we get with the Azure management pack for IaaS virtuals?

Once the Azure management pack has been added and the subscription is configured correctly there are a variety of views which are available as shown below. One of these is "Discovered Virtual Machines".

This view is showing "Windows Azure Persistent VM Role Instances". These are NOT Windows Computer objects, but they do have the same name as the virtual which exists in IaaS.

If we right-click on one of the "Windows Azure Persistent VM Role Instances" and open the performance view, and there are no performance counters for them.

This does make sense as it is not a Windows Computer, it’s a Windows Azure Persistent VM Role Instance as shown below. So the only performance counters which would appear are those which are collected for this class.

If we look at the health model for this object we see that the health model is not anywhere near as comprehensive as what we see for a Windows Computer.

These can be enabled, and do impact the health model as shown below.

However, it is interesting to note the two performance monitors (not enabled by default) which may give a hint towards what Microsoft is looking at providing for this class of object in the future.

There are also some rules which are targeted (but not enabled) for this class.

In my lab environment I enabled each of these rules but performance information did not appear for these objects. However, the existence of these performance rules (not enabled by default) which may give a hint towards what Microsoft is looking at providing in terms of performance metrics for this class of object in the future. Please note, these are a subset of the counters available for a windows computer class but they do represent many of the KPI areas that are relevant to Operating System health (Processor, Memory, Disk and Network).

There are also tasks which are available out of the box for these VM’s to reboot or reimage. The tasks are shown below:

 

Summary: If you want to monitor virtuals running in IaaS you need to install an Operations Manager agent on the VM’s and have them report to your Operations Manager environment. If you have applications running in PaaS use the Microsoft Azure management pack (the one dated from 2014). If you are using the Microsoft Azure management pack you do get knowledge of what VM’s exist in IaaS and a level of health monitoring and performance gathering information but it is not as fully featured as it is with an Operations Manager installed on the VM.