1. Home
  2. Training Library
  3. Microsoft Azure
  4. Courses
  5. Azure Resource Manager Virtual Machines

Demo - Configure Diagnostics and Alerts for an Azure VM


Overview of the course
Course Intro
Course Overview
Start course
2h 17m

Azure Resource Manager Virtual Machines

Virtual Machines are a very foundational and fundamental resource in Cloud Computing. Deploying virtual machines gives you more flexibility and control over your cloud infrastructure and services, however, it also means you have more responsibility to maintain and configure these resources. This course gives you an overview of why use virtual machines as well as how to create, configure, and monitor VMs in Azure Resource Manager.

Azure Resource Manager Virtual Machines: What You'll Learn

Lesson What you'll learn
Overview Overview of the course and the Learning Objectives
What is a Virtual Machine? Understand what are Azure Virtual Machines and what workloads are ideal for VMs
Creating and Connecting to Azure VMs Learn to deploy Windows and Linux VMs as well as how to connect to these VMs
Scaling Azure Virtual Machines Understand VM scaling, load-balancing, and Availability Sets in Azure Resource Manager
Configuration Management Understand the basic concepts of Desired State Configuration and the options available to Azure VMs
Design and Implement VM Storage Gain an understanding of the underlying Storage options available to VMs as well as Encryption
Configure Monitoring & Alerts for Azure VMs Learn to monitor VMs in Azure Resource Manager as well as configure alerts.
Summary Course summary and conclusion


GitHub Code Repository



Let’s jump right into the portal and take a look at these options. Here I have a VM which is up and running and right away as we’ve seen, we’re presented with a section in the middle with graphs showing up cpu, network, and disk utilization. We can view the data from the past hour, 6 hours, past 30 days, etc. On the left panel, under “Monitoring” we can click on Metrics, or we can just click one of the graphs on the screen to get a more detailed view. Here we can select the basic available metrics to construct a custom graph as long as the metrics we select are based on the same units like “Disk Read bytes” and “Disk Write Bytes.”

You’ll notice at the top we get an option for adding a “metric alert.” Once we click this option we can add an alert rule. We can give it a name, description, and we can filter on resource group or resource. We can specify a “Metric” such as Percentage CPU and set a condition “Greater than or equal to” a “Threshold” of 95 during a period of “over the last 5 minutes” and notify email owners, contributors, etc or additional emails and even webhooks. We even get the option of executing an Azure Automation Runbook or even Azure Logic App. This is how we setup alerts based on metrics.

These are basic metrics we get out of the box on Azure VMs. But if you notice the message at the bottom-left of the Portal page, it says we may enable app metrics to access additional metrics. These are the metrics that are enabled by deploying the Azure Diagnostic Extension. Let’s come back to the VM “Overview” screen. Back under the “Monitoring” section we see an option called “Diagnostic settings.” When we choose this option, we can see that diagnostics is not currently enabled for our VM. Let’s click on the “Enable guest-level monitoring” button. This will deploy our Azure diagnostics Extension.

Let’s click on “Extensions.” Once completed you see that the Microsoft Diagnostic extension called IaaSDiagnostics has been successfully provisioned. So what do we get this extension? Well let’s click back on “Diagnostic Settings.” Here we see that we have the basic and custom Performance counters, but we also get Event log data for Application, Security, and System logs. We get Crash dump data and more. At the bottom you can view boot diagnostics or even from the left pane under “Support + Troubleshooting.” Let’s click Boot diagnostics. Basic boot diagnostics gives you a screenshot of what your VM looks like. If this were a Linux VM you would see the last bootup messages that are typically found in /var/log/messages aka dmesg.

Let’s return to Diagnostic settings. Clicking on Performance counters we can see the basic performance counters in addition to application level performance counters. But you also get an option for Custom performance counters. So your application developers can write their own .NET performance counters which are accessible here. The Logs menu gives us different levels of logging and again with custom logging. Let’s click on “Agent.” Here we can view the storage account that our Diagnostic extension uses to write Diagnostic data. We can also specify a Disk quota to control the amount of disk storage used. You also get the option to remove the Diagnostic agent from this view. This concludes this demo on configuring Azure VM diagnostics and alerts.

About the Author
Learning Paths

Chris has over 15 years of experience working with top IT Enterprise businesses.  Having worked at Google helping to launch Gmail, YouTube, Maps and more and most recently at Microsoft working directly with Microsoft Azure for both Commercial and Public Sectors, Chris brings a wealth of knowledge and experience to the team in architecting complex solutions and advanced troubleshooting techniques.  He holds several Microsoft Certifications including Azure Certifications.

In his spare time, Chris enjoys movies, gaming, outdoor activities, and Brazilian Jiu-Jitsu.