Skip to content

Commit 827f28e

Browse files
authored
Merge pull request #206173 from paulth1/four-autoscale-articles
edit pass: Four autoscale articles
2 parents 3b8602f + d7197a5 commit 827f28e

File tree

4 files changed

+236
-204
lines changed

4 files changed

+236
-204
lines changed

articles/azure-monitor/autoscale/autoscale-common-metrics.md

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Autoscale common metrics
3-
description: Learn which metrics are commonly used for autoscaling your Cloud Services, Virtual Machines and Web Apps.
3+
description: Learn which metrics are commonly used for autoscaling your cloud services, virtual machines, and web apps.
44
ms.topic: conceptual
55
ms.date: 04/22/2022
66
ms.subservice: autoscale
@@ -13,32 +13,32 @@ ms.reviewer: riroloff
1313

1414
[!INCLUDE [updated-for-az](../../../includes/updated-for-az.md)]
1515

16-
Azure Monitor autoscaling allows you to scale the number of running instances up or down, based on telemetry data (metrics). This document describes common metrics that you might want to use. In the Azure portal, you can choose the metric of the resource to scale by. However, you can also choose any metric from a different resource to scale by.
16+
Azure Monitor autoscaling allows you to scale the number of running instances up or down, based on telemetry data, also known as metrics. This article describes common metrics that you might want to use. In the Azure portal, you can choose the metric of the resource to scale by. You can also choose any metric from a different resource to scale by.
1717

18-
Azure Monitor autoscale applies only to [Virtual Machine Scale Sets](https://azure.microsoft.com/services/virtual-machine-scale-sets/), [Cloud Services](https://azure.microsoft.com/services/cloud-services/), [App Service - Web Apps](https://azure.microsoft.com/services/app-service/web/), and [API Management services](../../api-management/api-management-key-concepts.md). Other Azure services use different scaling methods.
18+
Azure Monitor autoscale applies only to [Azure Virtual Machine Scale Sets](https://azure.microsoft.com/services/virtual-machine-scale-sets/), [Azure Cloud Services](https://azure.microsoft.com/services/cloud-services/), [Azure App Service - Web Apps](https://azure.microsoft.com/services/app-service/web/), and [Azure API Management](../../api-management/api-management-key-concepts.md). Other Azure services use different scaling methods.
1919

2020
## Compute metrics for Resource Manager-based VMs
2121

22-
By default, Resource Manager-based Virtual Machines and Virtual Machine Scale Sets emit basic (host-level) metrics. In addition, when you configure diagnostics data collection for an Azure VM and VMSS, the Azure diagnostic extension also emits guest-OS performance counters (commonly known as "guest-OS metrics"). You use all these metrics in autoscale rules.
22+
By default, Azure Resource Manager-based virtual machines and virtual machine scale sets emit basic (host-level) metrics. In addition, when you configure diagnostics data collection for an Azure VM and virtual machine scale sets, the Azure Diagnostics extension also emits guest-OS performance counters. These counters are commonly known as "guest-OS metrics." You use all these metrics in autoscale rules.
2323

24-
You can use the `Get MetricDefinitions` API/PoSH/CLI to view the metrics available for your VMSS resource.
24+
You can use the `Get MetricDefinitions` API/PoSH/CLI to view the metrics available for your Virtual Machine Scale Sets resource.
2525

26-
If you're using VM scale sets and you don't see a particular metric listed, then it is likely *disabled* in your diagnostics extension.
26+
If you're using virtual machine scale sets and you don't see a particular metric listed, it's likely *disabled* in your Diagnostics extension.
2727

28-
If a particular metric is not being sampled or transferred at the frequency you want, you can update the diagnostics configuration.
28+
If a particular metric isn't being sampled or transferred at the frequency you want, you can update the diagnostics configuration.
2929

30-
If either preceding case is true, then review [Use PowerShell to enable Azure Diagnostics in a virtual machine running Windows](../../virtual-machines/extensions/diagnostics-windows.md) about PowerShell to configure and update your Azure VM Diagnostics extension to enable the metric. That article also includes a sample diagnostics configuration file.
30+
If either preceding case is true, see [Use PowerShell to enable Azure Diagnostics in a virtual machine running Windows](../../virtual-machines/extensions/diagnostics-windows.md) to configure and update your Azure VM Diagnostics extension to enable the metric. The article also includes a sample diagnostics configuration file.
3131

3232
### Host metrics for Resource Manager-based Windows and Linux VMs
3333

34-
The following host-level metrics are emitted by default for Azure VM and VMSS in both Windows and Linux instances. These metrics describe your Azure VM, but are collected from the Azure VM host rather than via agent installed on the guest VM. You may use these metrics in autoscaling rules.
34+
The following host-level metrics are emitted by default for Azure VM and virtual machine scale sets in both Windows and Linux instances. These metrics describe your Azure VM but are collected from the Azure VM host rather than via agent installed on the guest VM. You can use these metrics in autoscaling rules.
3535

3636
- [Host metrics for Resource Manager-based Windows and Linux VMs](../essentials/metrics-supported.md#microsoftcomputevirtualmachines)
37-
- [Host metrics for Resource Manager-based Windows and Linux VM Scale Sets](../essentials/metrics-supported.md#microsoftcomputevirtualmachinescalesets)
37+
- [Host metrics for Resource Manager-based Windows and Linux virtual machine scale sets](../essentials/metrics-supported.md#microsoftcomputevirtualmachinescalesets)
3838

3939
### Guest OS metrics for Resource Manager-based Windows VMs
4040

41-
When you create a VM in Azure, diagnostics is enabled by using the Diagnostics extension. The diagnostics extension emits a set of metrics taken from inside of the VM. This means you can autoscale off of metrics that are not emitted by default.
41+
When you create a VM in Azure, diagnostics is enabled by using the Diagnostics extension. The Diagnostics extension emits a set of metrics taken from inside of the VM. This means you can autoscale off of metrics that aren't emitted by default.
4242

4343
You can generate a list of the metrics by using the following command in PowerShell.
4444

@@ -48,7 +48,7 @@ Get-AzMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,U
4848

4949
You can create an alert for the following metrics:
5050

51-
| Metric Name | Unit |
51+
| Metric name | Unit |
5252
| --- | --- |
5353
| \Processor(_Total)\% Processor Time |Percent |
5454
| \Processor(_Total)\% Privileged Time |Percent |
@@ -80,7 +80,7 @@ You can create an alert for the following metrics:
8080

8181
### Guest OS metrics Linux VMs
8282

83-
When you create a VM in Azure, diagnostics is enabled by default by using Diagnostics extension.
83+
When you create a VM in Azure, diagnostics is enabled by default by using the Diagnostics extension.
8484

8585
You can generate a list of the metrics by using the following command in PowerShell.
8686

@@ -90,7 +90,7 @@ Get-AzMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,U
9090

9191
You can create an alert for the following metrics:
9292

93-
| Metric Name | Unit |
93+
| Metric name | Unit |
9494
| --- | --- |
9595
| \Memory\AvailableMemory |Bytes |
9696
| \Memory\PercentAvailableMemory |Percent |
@@ -131,21 +131,21 @@ Get-AzMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,U
131131
| \NetworkInterface\TotalTxErrors |Count |
132132
| \NetworkInterface\TotalCollisions |Count |
133133

134-
## Commonly used App Service (Server Farm) metrics
134+
## Commonly used App Service (server farm) metrics
135135

136-
You can also perform autoscale based on common web server metrics such as the Http queue length. Its metric name is **HttpQueueLength**. The following section lists available server farm (App Service) metrics.
136+
You can also perform autoscale based on common web server metrics such as the HTTP queue length. Its metric name is **HttpQueueLength**. The following section lists available server farm (App Service) metrics.
137137

138138
### Web Apps metrics
139139

140-
You can generate a list of the Web Apps metrics by using the following command in PowerShell.
140+
You can generate a list of the Web Apps metrics by using the following command in PowerShell:
141141

142142
```
143143
Get-AzMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,Unit
144144
```
145145

146146
You can alert on or scale by these metrics.
147147

148-
| Metric Name | Unit |
148+
| Metric name | Unit |
149149
| --- | --- |
150150
| CpuPercentage |Percent |
151151
| MemoryPercentage |Percent |
@@ -156,19 +156,19 @@ You can alert on or scale by these metrics.
156156

157157
## Commonly used Storage metrics
158158

159-
You can scale by Storage queue length, which is the number of messages in the storage queue. Storage queue length is a special metric and the threshold is the number of messages per instance. For example, if there are two instances and if the threshold is set to 100, scaling occurs when the total number of messages in the queue is 200. That can be 100 messages per instance, 120 and 80, or any other combination that adds up to 200 or more.
159+
You can scale by Azure Storage queue length, which is the number of messages in the Storage queue. Storage queue length is a special metric, and the threshold is the number of messages per instance. For example, if there are two instances and if the threshold is set to 100, scaling occurs when the total number of messages in the queue is 200. That amount can be 100 messages per instance, 120 plus 80, or any other combination that adds up to 200 or more.
160160

161-
Configure this setting in the Azure portal in the **Settings** blade. For VM scale sets, you can update the Autoscale setting in the Resource Manager template to use *metricName* as *ApproximateMessageCount* and pass the ID of the storage queue as *metricResourceUri*.
161+
Configure this setting in the Azure portal in the **Settings** pane. For virtual machine scale sets, you can update the autoscale setting in the Resource Manager template to use `metricName` as `ApproximateMessageCount` and pass the ID of the storage queue as `metricResourceUri`.
162162

163-
For example, with a Classic Storage Account the autoscale setting metricTrigger would include:
163+
For example, with a Classic Storage account, the autoscale setting `metricTrigger` would include:
164164

165165
```
166166
"metricName": "ApproximateMessageCount",
167167
"metricNamespace": "",
168168
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.ClassicStorage/storageAccounts/STORAGE_ACCOUNT_NAME/services/queue/queues/QUEUE_NAME"
169169
```
170170

171-
For a (non-classic) storage account, the metricTrigger would include:
171+
For a (non-classic) Storage account, the `metricTrigger` setting would include:
172172

173173
```
174174
"metricName": "ApproximateMessageCount",
@@ -178,9 +178,9 @@ For a (non-classic) storage account, the metricTrigger would include:
178178

179179
## Commonly used Service Bus metrics
180180

181-
You can scale by Service Bus queue length, which is the number of messages in the Service Bus queue. Service Bus queue length is a special metric and the threshold is the number of messages per instance. For example, if there are two instances and if the threshold is set to 100, scaling occurs when the total number of messages in the queue is 200. That can be 100 messages per instance, 120 and 80, or any other combination that adds up to 200 or more.
181+
You can scale by Azure Service Bus queue length, which is the number of messages in the Service Bus queue. Service Bus queue length is a special metric, and the threshold is the number of messages per instance. For example, if there are two instances and if the threshold is set to 100, scaling occurs when the total number of messages in the queue is 200. That amount can be 100 messages per instance, 120 plus 80, or any other combination that adds up to 200 or more.
182182

183-
For VM scale sets, you can update the Autoscale setting in the Resource Manager template to use *metricName* as *ApproximateMessageCount* and pass the ID of the storage queue as *metricResourceUri*.
183+
For virtual machine scale sets, you can update the autoscale setting in the Resource Manager template to use `metricName` as `ApproximateMessageCount` and pass the ID of the storage queue as `metricResourceUri`.
184184

185185
```
186186
"metricName": "ApproximateMessageCount",
@@ -189,5 +189,4 @@ For VM scale sets, you can update the Autoscale setting in the Resource Manager
189189
```
190190

191191
> [!NOTE]
192-
> For Service Bus, the resource group concept does not exist but Azure Resource Manager creates a default resource group per region. The resource group is usually in the 'Default-ServiceBus-[region]' format. For example, 'Default-ServiceBus-EastUS', 'Default-ServiceBus-WestUS', 'Default-ServiceBus-AustraliaEast' etc.
193-
192+
> For Service Bus, the resource group concept doesn't exist, but Azure Resource Manager creates a default resource group per region. The resource group is usually in the Default-ServiceBus-[region] format. Examples are Default-ServiceBus-EastUS, Default-ServiceBus-WestUS, and Default-ServiceBus-AustraliaEast.

0 commit comments

Comments
 (0)