How to monitor and manage Azure Classic Virtual Machines

On the last post, I talked about why you should use the classic virtual machines. Could be a lot of reasons or could be the way that you already started a few years and all of your deployment process is built on top of the Azure Service Management model. Saying that, now you have to manage and monitor those workloads.

In general, the concepts applicable to managing disks and images of classic virtual machines have not changed significantly with transition to the Azure Resource Manager deployment model. However, there are a few important differences that you must consider:

  • Classic VMs require a classic Azure storage account to host their disks. Similarly, you cannot deploy a classic VM by using an image hosted in an Azure Resource Manager storage account.
  • To identify classic VM images, you need to reference them by the name of the corresponding VHD file. This changed with the Azure Resource Manager model.

Command line management of classic VM disks also differs from managing their Azure Resource Manager counterparts, because they use a different set of Azure PowerShell cmdlets.

Starting with Azure PowerShell 1.0, Azure Resource Manager-cmdlets use the -AzureRm substring in place of the -Azure substring present in the Service Management cmdlets. For example, to add a data disk to a classic VM, you would use Add-AzureVMDataDisk, but to apply the same change to an Azure Resource Manager VM, you would run Add-AzureRmVMDataDisk.

Monitoring options of classic VMs do not differ significantly from the functionality available to Azure Resource Manager VMs. The same capabilities are exposed in the Azure portal, including metrics, diagnostics, and alerting. The only exception is support for boot diagnostics (providing console output and screenshot support) that depend on Azure Resource Manager.

As far as operating system management is concerned, while both Azure Resource Manager and classic deployment models provide matching features in this area, the implementation details of each are different. This is primarily due to the different set of supporting Windows PowerShell cmdlets and lack of support for template-based deployments for classic VMs. In addition, Service Management-based Azure PowerShell scripts are relatively simpler, allowing you, for example, to leverage default storage account of your Azure subscription for storing Custom Script extension scripts or DSC configuration archives.

It is important to note that, just as with Azure Resource Manager VMs, both Custom Script extension and Desired State Configuration–based management are available for classic VMs running both the Windows and Linux operating systems.


Marcos Nogueira
Twitter: @mdnoga


Marcos Nogueira

With more than 18 years experience in Datacenter Architectures, Marcos Nogueira is currently working as a Principal Cloud Solution Architect. He is an expert in Private and Hybrid Cloud, with a focus on Microsoft Azure, Virtualization and System Center. He has worked in several industries, including Aerospace, Transportation, Energy, Manufacturing, Financial Services, Government, Health Care, Telecoms, IT Services, and Gas & Oil in different countries and continents. Marcos was a Canadian MVP in System Center Cloud & Datacenter Managenment and he has +14 years as Microsoft Certified, with more than 100+ certifications (MCT, MCSE, and MCITP, among others). Marcos is also certified in VMware, CompTIA and ITIL v3. He assisted Microsoft in the development of workshops and special events on Private & Hybrid Cloud, Azure, System Center, Windows Server, Hyper-V and as a speaker at several Microsoft TechEd/Ignite and communities events around the world.

Leave a Reply

Your email address will not be published. Required fields are marked *