Skip to content

Commit 6f688b7

Browse files
Merge pull request #293446 from tfitzmac/0122copyedit3
copy edit
2 parents 246f552 + 156ca32 commit 6f688b7

File tree

3 files changed

+46
-45
lines changed

3 files changed

+46
-45
lines changed

articles/azure-resource-manager/management/async-operations.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
title: Status of asynchronous operations
33
description: Describes how to track asynchronous operations in Azure. It shows the values you use to get the status of a long-running operation.
44
ms.topic: conceptual
5-
ms.date: 09/26/2024
5+
ms.date: 01/22/2025
66
---
77

88
# Track asynchronous Azure operations
99

10-
Some Azure REST operations run asynchronously because the operation can't be completed quickly. This article describes how to track the status of asynchronous operations through values returned in the response.
10+
Some Azure REST operations run asynchronously because the operation can't be completed quickly. This article describes how to track the status of asynchronous operations through values returned in the response.
1111

1212
## Status codes for asynchronous operations
1313

@@ -46,7 +46,7 @@ When the `Retry-after` header isn't returned, [implement your own retry logic](/
4646
4747
## Permission for tracking async status
4848

49-
To track the status of an asynchronous operation, you need sufficient permission at the level of the resource group. If you only have permission at the level of the resource, you can start the operation but you can't track its status. Permission at the level of the resource group is required because the URL for tracking status isn't scoped to the resource.
49+
To track the status of an asynchronous operation, you need sufficient permission at the resource group level. If you only have permission at the resource level, you can start the operation but you can't track its status. Resource group-level permission is required because the URL for tracking status isn't scoped to the resource.
5050

5151
For example, to start a virtual machine, you need the Virtual Machine Contributor role for the resource group that contains the virtual machine. The URL for tracking a start request doesn't include the virtual machine in its path.
5252

@@ -87,11 +87,11 @@ The following example shows other values that might be returned from the operati
8787
}
8888
```
8989

90-
The error object is returned when the status is Failed or Canceled. All other values are optional. The response you receive may look different than the example.
90+
The error object is returned when the status is Failed or Canceled. All other values are optional. The response you receive might look different than the example.
9191

9292
## provisioningState values
9393

94-
Operations that create, update, or delete (PUT, PATCH, DELETE) a resource typically return a `provisioningState` value. When an operation completes, one of following three values is returned:
94+
Operations that create, update, or delete (PUT, PATCH, DELETE) a resource typically return a `provisioningState` value. When an operation completes, one of the following three values is returned:
9595

9696
* Succeeded
9797
* Failed
@@ -154,7 +154,7 @@ Among the header values, you see:
154154
Azure-AsyncOperation: https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Resources/deployments/{deployment-name}/operationStatuses/{operation-id}?api-version=2020-06-01
155155
```
156156

157-
To check the status of the asynchronous operation, sending another request to that URL.
157+
To check the status of the asynchronous operation, send another request to the operation URL.
158158

159159
```HTTP
160160
GET
@@ -186,7 +186,7 @@ PUT
186186
https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2019-06-01
187187
```
188188

189-
And the request body contains properties for the storage account:
189+
The request body contains properties for the storage account:
190190

191191
```json
192192
{
@@ -206,7 +206,7 @@ Location: https://management.azure.com/subscriptions/{subscription-id}/providers
206206
Retry-After: 17
207207
```
208208

209-
After waiting for number of seconds specified in Retry-After, check the status of the asynchronous operation by sending another request to that URL.
209+
After waiting for number of seconds specified in `Retry-After`, check the status of the asynchronous operation by sending another request to that URL.
210210

211211
```HTTP
212212
GET

articles/azure-resource-manager/management/monitor-resource-manager.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Monitor Azure Resource Manager
33
description: Start here to learn how to monitor Azure Resource Manager. Learn about Traffic and latency observability for subscription-level control plane requests.
4-
ms.date: 07/25/2024
4+
ms.date: 01/22/2025
55
ms.custom: horz-monitor, devx-track-arm-template
66
ms.topic: conceptual
77
author: mumian
@@ -27,11 +27,12 @@ For more information about the resource types for Resource Manager, see [Azure R
2727

2828
For a list of available metrics for Resource Manager, see [Azure Resource Manager monitoring data reference](monitor-resource-manager-reference.md#metrics).
2929

30-
When you create and manage resources in Azure, your requests are orchestrated through Azure's [control plane](./control-plane-and-data-plane.md), Azure Resource Manager. This article describes how to monitor the volume and latency of control plane requests made to Azure.
30+
When you create and manage resources in Azure, Azure Resource Manager orchestrates your requests through Azure's [control plane](./control-plane-and-data-plane.md). This article describes how to monitor the volume and latency of control plane requests made to Azure.
3131

32-
With these metrics, you can observe traffic and latency for control plane requests throughout your subscriptions. For example, you can now figure out when your requests have been throttled by [examining throttled requests](#examining-throttled-requests). Determine if they failed by filtering for specific status codes and [examining server errors](#examining-server-errors).
32+
With these metrics, you can observe traffic and latency for control plane requests throughout your subscriptions. For example, you can figure out when your requests are throttled by [examining throttled requests](#examining-throttled-requests). Determine if they failed by filtering for specific status codes and [examining server errors](#examining-server-errors).
33+
34+
The metrics are available for up to three months (93 days) and only track synchronous requests. For a scenario like a virtual machine creation, the metrics don't represent the performance or reliability of the long-running asynchronous operation.
3335

34-
The metrics are available for up to three months (93 days) and only track synchronous requests. For a scenario like a virtual machine creation, the metrics don't represent the performance or reliability of the long running asynchronous operation.
3536

3637
### Accessing Azure Resource Manager metrics
3738

@@ -43,7 +44,7 @@ For guidance on how to retrieve a bearer token and make requests to Azure, see [
4344

4445
### Metric definition
4546

46-
The definition for Azure Resource Manager metrics in Azure Monitor is only accessible through the 2017-12-01-preview API version. To retrieve the definition, you can run the following snippet. Replace `00000000-0000-0000-0000-000000000000` with your subscription ID.
47+
The definition for Azure Resource Manager metrics in Azure Monitor is only accessible through the 2017-12-01-preview API version. To retrieve the definition, run the following snippet. Replace `00000000-0000-0000-0000-000000000000` with your subscription ID.
4748

4849
```bash
4950
curl --location --request GET 'https://management.azure.com/subscriptions/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/providers/microsoft.insights/metricDefinitions?api-version=2017-12-01-preview&metricnamespace=microsoft.resources/subscriptions' \
@@ -72,14 +73,14 @@ Then, after selecting **Apply**, you can visualize your Traffic or Latency contr
7273

7374
#### Query traffic and latency control plane metrics with REST API
7475

75-
After you authenticate with Azure, you can make a request to retrieve control plane metrics for your subscription. In the script, replace `00000000-0000-0000-0000-000000000000` with your subscription ID. The script retrieves the average request latency, in seconds, and the total request count for the two day timespan, broken down by one day intervals:
76+
After you authenticate with Azure, make a request to retrieve control plane metrics for your subscription. In the script, replace `00000000-0000-0000-0000-000000000000` with your subscription ID. The script retrieves the average request latency, in seconds, and the total request count for the two-day timespan, broken down by one-day intervals:
7677

7778
```bash
7879
curl --location --request GET "https://management.azure.com/subscriptions/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=average,count&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z" \
7980
--header "Authorization: bearer {{bearerToken}}"
8081
```
8182

82-
For Azure Resource Manager metrics, you can retrieve the traffic count by using the Latency metric and including the 'count' aggregation. You see a JSON response for the request:
83+
For Azure Resource Manager metrics, you can retrieve the traffic count by using the Latency metric and including the `count` aggregation. You see a JSON response for the request:
8384

8485
```Json
8586
{
@@ -121,7 +122,7 @@ For Azure Resource Manager metrics, you can retrieve the traffic count by using
121122
}
122123
```
123124

124-
If you want to retrieve only the traffic count, then you can use the Traffic metric with the `count` aggregation:
125+
To retrieve only the traffic count, use the Traffic metric with the `count` aggregation:
125126

126127
```bash
127128
curl --location --request GET 'https://management.azure.com/subscriptions/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Traffic&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=count&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z' \
@@ -168,13 +169,13 @@ The response for the request is:
168169
}
169170
```
170171

171-
For the metrics supporting dimensions, you need to specify the dimension value to see the corresponding metrics values. For example, if you want to focus on the **Latency** for successful requests to Resource Manager, you need to filter the **StatusCodeClass** dimension with **2XX**.
172+
For the metrics supporting dimensions, you need to specify the dimension value to see the corresponding metrics values. For example, if you want to focus on the **Latency** for successful requests to Resource Manager, filter the **StatusCodeClass** dimension with **2XX**.
172173

173-
If you want to look at the number of requests made in your subscription for Networking resources, like Virtual Networks and Load Balancers, you would need to filter the **Namespace** dimension for **MICROSOFT.NETWORK**.
174+
If you want to look at the number of requests made in your subscription for Networking resources, like Virtual Networks and Load Balancers, filter the **Namespace** dimension for **MICROSOFT.NETWORK**.
174175

175176
#### Examining Throttled Requests
176177

177-
To view only your throttled requests, you need to filter for 429 status code responses only. For REST API calls, filtering is accomplished by using the [$filter property](/rest/api/monitor/Metrics/List#uri-parameters) and the StatusCode dimension by appending: `$filter=StatusCode eq '429'` as seen at the end of the request in the following snippet:
178+
To view only your throttled requests, filter for 429 status code responses. For REST API calls, use the [$filter property](/rest/api/monitor/Metrics/List#uri-parameters) and the StatusCode dimension by appending: `$filter=StatusCode eq '429'`. The following snippet shows this filter at the end of the request:
178179

179180
```bash
180181
curl --location --request GET 'https://management.azure.com/subscriptions/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=count,average&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z&$filter=StatusCode%20eq%20%27429%27' \
@@ -186,14 +187,14 @@ You can also filter directly in portal:
186187

187188
#### Examining Server Errors
188189

189-
Similar to looking at throttled requests, you view *all* requests that returned a server error response code by filtering 5xx responses only. For REST API calls, filtering is accomplished by using the [$filter property](/rest/api/monitor/Metrics/List#uri-parameters) and the StatusCodeClass dimension by appending: $filter=StatusCodeClass eq '5xx' as seen at the end of the request in the following snippet:
190+
Similar to looking at throttled requests, you view *all* requests that returned a server error response code by filtering 5xx responses. To filter REST API calls, use the [$filter property](/rest/api/monitor/Metrics/List#uri-parameters) and the StatusCodeClass dimension by appending: `$filter=StatusCodeClass eq '5xx'` at the end of the request in the following snippet:
190191

191192
```bash
192193
curl --location --request GET 'https://management.azure.com/subscriptions/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=count,average&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z&$filter=StatusCodeClass%20eq%20%275xx%27' \
193194
--header 'Authorization: bearer {{bearerToken}}'
194195
```
195196

196-
You can also accomplish generic server errors filtering within portal by setting the filter property to `StatusCodeClass` and the value to `5xx`, similar to what was done in the throttling example.
197+
You can also filter generic server errors in the portal by setting the filter property to `StatusCodeClass` and the value to `5xx`, similar to what you did in the throttling example.
197198

198199
[!INCLUDE [horz-monitor-no-resource-logs](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-no-resource-logs.md)]
199200

@@ -218,4 +219,4 @@ You can set alerts for any metric, log entry, or activity log entry listed in th
218219
## Related content
219220

220221
- See [Azure Resource Manager monitoring data reference](monitor-resource-manager-reference.md) for a reference of the metrics, logs, and other important values created for Resource Manager.
221-
- See [Monitoring Azure resources with Azure Monitor](/azure/azure-monitor/essentials/monitor-azure-resource) for general details on monitoring Azure resources.
222+
- See [Monitoring Azure resources with Azure Monitor](/azure/azure-monitor/essentials/monitor-azure-resource) for general details on monitoring Azure resources.

0 commit comments

Comments
 (0)