You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-resource-manager/management/async-operations.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,12 +2,12 @@
2
2
title: Status of asynchronous operations
3
3
description: Describes how to track asynchronous operations in Azure. It shows the values you use to get the status of a long-running operation.
4
4
ms.topic: conceptual
5
-
ms.date: 09/26/2024
5
+
ms.date: 01/22/2025
6
6
---
7
7
8
8
# Track asynchronous Azure operations
9
9
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.
11
11
12
12
## Status codes for asynchronous operations
13
13
@@ -46,7 +46,7 @@ When the `Retry-after` header isn't returned, [implement your own retry logic](/
46
46
47
47
## Permission for tracking async status
48
48
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.
50
50
51
51
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.
52
52
@@ -87,11 +87,11 @@ The following example shows other values that might be returned from the operati
87
87
}
88
88
```
89
89
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.
91
91
92
92
## provisioningState values
93
93
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:
95
95
96
96
* Succeeded
97
97
* Failed
@@ -154,7 +154,7 @@ Among the header values, you see:
Copy file name to clipboardExpand all lines: articles/azure-resource-manager/management/monitor-resource-manager.md
+15-14Lines changed: 15 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Monitor Azure Resource Manager
3
3
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
5
5
ms.custom: horz-monitor, devx-track-arm-template
6
6
ms.topic: conceptual
7
7
author: mumian
@@ -27,11 +27,12 @@ For more information about the resource types for Resource Manager, see [Azure R
27
27
28
28
For a list of available metrics for Resource Manager, see [Azure Resource Manager monitoring data reference](monitor-resource-manager-reference.md#metrics).
29
29
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.
31
31
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.
33
35
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.
35
36
36
37
### Accessing Azure Resource Manager metrics
37
38
@@ -43,7 +44,7 @@ For guidance on how to retrieve a bearer token and make requests to Azure, see [
43
44
44
45
### Metric definition
45
46
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.
47
48
48
49
```bash
49
50
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
72
73
73
74
#### Query traffic and latency control plane metrics with REST API
74
75
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 twoday timespan, broken down by oneday 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:
76
77
77
78
```bash
78
79
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®ion=global&aggregation=average,count×pan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z" \
79
80
--header "Authorization: bearer {{bearerToken}}"
80
81
```
81
82
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:
83
84
84
85
```Json
85
86
{
@@ -121,7 +122,7 @@ For Azure Resource Manager metrics, you can retrieve the traffic count by using
121
122
}
122
123
```
123
124
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:
125
126
126
127
```bash
127
128
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®ion=global&aggregation=count×pan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z' \
@@ -168,13 +169,13 @@ The response for the request is:
168
169
}
169
170
```
170
171
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**.
172
173
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**.
174
175
175
176
#### Examining Throttled Requests
176
177
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:
178
179
179
180
```bash
180
181
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®ion=global&aggregation=count,average×pan=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:
186
187
187
188
#### Examining Server Errors
188
189
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:
190
191
191
192
```bash
192
193
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®ion=global&aggregation=count,average×pan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z&$filter=StatusCodeClass%20eq%20%275xx%27' \
193
194
--header 'Authorization: bearer {{bearerToken}}'
194
195
```
195
196
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.
@@ -218,4 +219,4 @@ You can set alerts for any metric, log entry, or activity log entry listed in th
218
219
## Related content
219
220
220
221
- 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