Last Update: Sep 04, 2024 | Published: Sep 08, 2017
This post will show you how to use Azure virtual machine performance threshold alerts to trigger email alerts or start automated-response actions.
A pre-requisite to creating alerts is that you have enabled metrics monitoring for your virtual machines. By default, we get guest-level metrics from the Azure Hyper-V hosts. However, more interesting information is available from the guest OS, such as SQL Server, memory available, and so forth. You can enable guest level monitoring in each virtual machine’s Diagnostics Settings and either stick with the default set of collected Basic metrics or customize the metrics that are gathered.
You can view metrics and create alerts in two ways:
It would be good to get into the habit of using Azure Monitor for centralized management of virtual machines, so I will use the latter option.
I opened Monitor from the navigation bar in the Azure Portal and clicked Alerts. Each alert that you create is associated with a virtual machine, so I then selected:
The +Add Metric Alert button was then enabled, so I clicked it. The Add Rule blade appears. This is a long blade with tons of options. I want to create an alert to respond to when processor utilization is over 80 percent for 10 minutes, so I enter the following configuration:
Note that the diagram below Metric is updated. A light-blue line shows the current measurements and the dark-blue line shows the threshold of the alert.
Now, I configured the threshold:
That is the threshold part of the alert done. Now we must configure the response. The following options are available:
The ability to trigger Automation runbooks based on metrics being above or below a certain level creates some interesting possibilities. For example:
The alert will be saved if you click OK. You will get emails in the event of the alert being triggered but you can also view the status of this alert and all alerts in Monitor > Alerts.
Now, you should be able to be proactive about the quality of service that your virtual machines are providing.