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
See [Monitor Azure Resource Manager](monitor-resource-manager.md) for details on the data you can collect for Azure Resource Manager and how to use it.
| Method | The HTTP method used in the request made to Azure Resource Manager. Possible values are: <br/>- GET<br/>- HEAD<br/>- PUT<br/>- POST<br/>- PATCH<br/>- DELETE |
37
+
| Namespace | The namespace for the Resource Provider, in all caps, like *MICROSOFT.COMPUTE*. |
38
+
| RequestRegion | The Azure Resource Manager region where your control plane requests land, like *EastUS2*. This region isn't the resource's location. |
39
+
| ResourceType | Any resource type in Azure that you created or sent a request to, in all caps, like *VIRTUALMACHINES*. |
40
+
| StatusCode | Response type from Azure Resource Manager for your control plane request. Possible values are (but not limited to): <br/>- 0<br/>- 200<br/>- 201<br/>- 400<br/>- 404<br/>- 429<br/>- 500<br/>- 502 |
41
+
| StatusCodeClass | The class for the status code returned from Azure Resource Manager. Possible values are: <br/>- 2xx<br/>- 4xx<br/>- 5xx |
Copy file name to clipboardExpand all lines: articles/azure-resource-manager/management/monitor-resource-manager.md
+70-40Lines changed: 70 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,54 +1,64 @@
1
1
---
2
-
title: Control plane metrics in Azure Monitor
3
-
description: Azure Resource Manager metrics in Azure Monitor | Traffic and latency observability for subscription-level control plane requests
2
+
title: Monitor Azure Resource Manager
3
+
description: Start here to learn how to monitor Azure Resource Manager. Learn about Traffic and latency observability for subscription-level control plane requests.
For more information about the resource types for Resource Manager, see [Azure Resource Manager monitoring data reference](monitor-resource-manager-reference.md).
For a list of available metrics for Resource Manager, see [Azure Resource Manager monitoring data reference](monitor-resource-manager-reference.md#metrics).
29
+
10
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.
11
31
12
-
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 or failed by filtering for specific status codes by [examining throttled requests](#examining-throttled-requests) 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 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).
13
33
14
-
The metrics are available for up to three months (93 days) and only track synchronous requests. For a scenario like a VM creation, the metrics do not represent the performance or reliability of the long running asynchronous operation.
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.
15
35
16
-
## Accessing Azure Resource Manager metrics
36
+
###Accessing Azure Resource Manager metrics
17
37
18
-
You can access control plane metrics via the Azure Monitor REST APIs, SDKs, and the Azure portal (by selecting the "Azure Resource Manager" metric). For an overview on Azure Monitor, see [Azure Monitor Metrics](../../monitoring-and-diagnostics/monitoring-overview-metrics.md).
38
+
You can access control plane metrics by using the Azure Monitor REST APIs, SDKs, and the Azure portal by selecting the **Azure Resource Manager** metric. For an overview on Azure Monitor, see [Azure Monitor Metrics](../../azure-monitor/data-platform.md).
19
39
20
-
There is no opt-in or sign-up process to access control plane metrics.
40
+
There's no opt-in or sign-up process to access control plane metrics.
21
41
22
42
For guidance on how to retrieve a bearer token and make requests to Azure, see [Azure REST API reference](/rest/api/azure/#create-the-request).
23
43
24
-
## Metric definition
44
+
###Metric definition
25
45
26
-
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, with your subscription ID replacing "00000000-0000-0000-0000-000000000000":
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.
27
47
28
48
```bash
29
49
curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metricDefinitions?api-version=2017-12-01-preview&metricnamespace=microsoft.resources/subscriptions' \
30
50
--header 'Authorization: bearer {{bearerToken}}'
31
51
```
32
52
33
-
This snippet returns the definition for the metrics schema. Notably, this schema includes the dimensions you can filter on with the Monitor API:
53
+
This snippet returns the definition for the metrics schema. Notably, this schema includes [the dimensions you can filter on with the Monitor API](monitor-resource-manager-reference.md#metric-dimensions).
34
54
35
-
| Dimension Name | Description |
36
-
| ------------------- | ----------------- |
37
-
|**ResourceUri**| The full Resource ID for a particular resource. |
38
-
|**RequestRegion**| The Azure Resource Manager region where your control plane requests land, like "EastUS2". This region is not the resource's location. |
39
-
|**StatusCode**| Response type from Azure Resource Manager for your control plane request. Possible values are (but not limited to): <br/>- 0<br/>- 200<br/>- 201<br/>- 400<br/>- 404<br/>- 429<br/>- 500<br/>- 502|
40
-
|**StatusCodeClass**| The class for the status code returned from Azure Resource Manager. Possible values are: <br/>- 2xx<br/>- 4xx<br/>- 5xx|
41
-
|**Namespace**| The namespace for the Resource Provider, in all caps, like "MICROSOFT.COMPUTE"|
42
-
|**ResourceType**| Any resource type in Azure that you have created or sent a request to, in all caps, like "VIRTUALMACHINES" |
43
-
|**Method**| The HTTP method used in the request made to Azure Resource Manager. Possible values are: <br/>- GET<br/>- HEAD<br/>- PUT<br/>- POST<br/>- PATCH<br/>- DELETE|
55
+
### Metrics examples
44
56
45
-
## Examples
57
+
Here are some scenarios that can help you explore Azure Resource Manager metrics.
46
58
47
-
Now, let's look at some scenarios that can help you exploring Azure Resource Manager metrics.
59
+
#### Query traffic and latency control plane metrics with Azure portal
48
60
49
-
### Query traffic and latency control plane metrics via Azure portal
50
-
51
-
First, navigate to the Azure Monitor blade within the [portal](https://portal.azure.com):
61
+
First, navigate to the Azure Monitor page within the [portal](https://portal.azure.com):
52
62
53
63
:::image type="content" source="./media/view-arm-monitor-metrics/explore-metrics-portal.png" alt-text="Screenshot of navigating to the Azure portal's Monitor page with Explore Metrics highlighted.":::
54
64
@@ -60,16 +70,16 @@ Then, after selecting **Apply**, you can visualize your Traffic or Latency contr
60
70
61
71
:::image type="content" source="./media/view-arm-monitor-metrics/arm-metrics-view.png" alt-text="Screenshot of the metrics visualization in the Azure portal, showing options to filter and split by dimensions.":::
62
72
63
-
### Query traffic and latency control plane metrics via REST API
73
+
####Query traffic and latency control plane metrics with REST API
64
74
65
-
After you are authenticated 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 will retrieve the average request latency (in seconds) and the total request count for the two day timespan, broken down by one day intervals:
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:
66
76
67
77
```bash
68
78
curl --location --request GET "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/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" \
69
79
--header "Authorization: bearer {{bearerToken}}"
70
80
```
71
81
72
-
In the case of Azure Resource Manager metrics, you can retrieve the traffic count by using the Latency metric and including the 'count' aggregation. You'll see a JSON response for the request:
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:
73
83
74
84
```Json
75
85
{
@@ -111,7 +121,7 @@ In the case of Azure Resource Manager metrics, you can retrieve the traffic coun
111
121
}
112
122
```
113
123
114
-
If you want to retrieve only the traffic count, then you can utilize the Traffic metric with the 'count' aggregation:
124
+
If you want to retrieve only the traffic count, then you can use the Traffic metric with the `count` aggregation:
115
125
116
126
```bash
117
127
curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/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' \
@@ -158,13 +168,13 @@ The response for the request is:
158
168
}
159
169
```
160
170
161
-
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 ARM, you need to filter the **StatusCodeClass** dimension with **2XX**.
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**.
162
172
163
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**.
164
174
165
-
### Examining Throttled Requests
175
+
####Examining Throttled Requests
166
176
167
-
To view only your throttled requests, you need to filter for 429 status code responses only. For REST API calls, filtering is accomplished via 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:
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:
168
178
169
179
```bash
170
180
curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/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' \
@@ -174,18 +184,38 @@ curl --location --request GET 'https://management.azure.com/subscriptions/000000
174
184
You can also filter directly in portal:
175
185
:::image type="content" source="./media/view-arm-monitor-metrics/throttling-filter-portal.png" alt-text="Screenshot of filtering HTTP Status Code to 429 responses only in the Azure portal.":::
176
186
187
+
#### Examining Server Errors
177
188
178
-
### Examining Server Errors
179
-
180
-
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 via 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:
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:
181
190
182
191
```bash
183
192
curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/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' \
184
193
--header 'Authorization: bearer {{bearerToken}}'
185
194
```
186
195
187
-
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.
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.
You can set alerts for any metric, log entry, or activity log entry listed in the [Azure Resource Manager monitoring data reference](monitor-resource-manager-reference.md).
- 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.
0 commit comments