Skip to content

Commit 4deb469

Browse files
authored
Merge pull request #280770 from TimShererWithAquent/us248136k
User Story 248136 Azure Monitor horizontal articles: Azure Resource Manager
2 parents ef25ffc + 1284db0 commit 4deb469

File tree

4 files changed

+129
-42
lines changed

4 files changed

+129
-42
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4868,6 +4868,11 @@
48684868
"redirect_document_id": false
48694869
},
48704870
{
4871+
"source_path_from_root": "/articles/azure-resource-manager/management/control-plane-metrics.md",
4872+
"redirect_url": "/azure/azure-resource-manager/management/monitor-resource-manager",
4873+
"redirect_document_id": false
4874+
},
4875+
{
48714876
"source_path_from_root": "/articles/expressroute/expressroute-monitoring-metrics-alerts.md",
48724877
"redirect_url": "/azure/expressroute/monitor-expressroute-reference",
48734878
"redirect_document_id": false
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: Monitoring data reference for Azure Resource Manager
3+
description: This article contains important reference material you need when you monitor Azure Resource Manager.
4+
ms.date: 07/25/2024
5+
ms.custom: horz-monitor, devx-track-arm-template
6+
ms.topic: reference
7+
author: mumian
8+
ms.author: jgao
9+
ms.service: azure-resource-manager
10+
---
11+
12+
# Azure Resource Manager monitoring data reference
13+
14+
[!INCLUDE [horz-monitor-ref-intro](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-ref-intro.md)]
15+
16+
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.
17+
18+
[!INCLUDE [horz-monitor-ref-metrics-intro](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-ref-metrics-intro.md)]
19+
20+
### Supported metrics for microsoft.resources/subscriptions
21+
22+
The following table lists the metrics available for the microsoft.resources/subscriptions resource type.
23+
24+
[!INCLUDE [horz-monitor-ref-metrics-tableheader](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-ref-metrics-tableheader.md)]
25+
26+
[!INCLUDE [microsoft.resources/subscriptions](~/reusable-content/ce-skilling/azure/includes/azure-monitor/reference/metrics/microsoft-resources-subscriptions-metrics-include.md)]
27+
28+
[!INCLUDE [horz-monitor-ref-metrics-dimensions-intro](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-ref-metrics-dimensions-intro.md)]
29+
30+
[!INCLUDE [horz-monitor-ref-metrics-dimensions](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-ref-metrics-dimensions.md)]
31+
32+
| Dimension name | Description |
33+
|:-------------- |:----------- |
34+
| IsCustomerOriginated | |
35+
| Microsoft.SubscriptionId | |
36+
| 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 |
42+
43+
[!INCLUDE [horz-monitor-ref-activity-log](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-ref-activity-log.md)]
44+
45+
- [Microsoft.Resources resource provider operations](/azure/role-based-access-control/resource-provider-operations#management-and-governance)
46+
47+
## Related content
48+
49+
- See [Monitor Azure Resource Manager](monitor-resource-manager.md) for a description of monitoring Resource Manager.
50+
- See [Monitor Azure resources with Azure Monitor](/azure/azure-monitor/essentials/monitor-azure-resource) for details on monitoring Azure resources.

articles/azure-resource-manager/management/control-plane-metrics.md renamed to articles/azure-resource-manager/management/monitor-resource-manager.md

Lines changed: 70 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,64 @@
11
---
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.
4+
ms.date: 07/25/2024
5+
ms.custom: horz-monitor, devx-track-arm-template
46
ms.topic: conceptual
5-
ms.custom: devx-track-arm-template
6-
ms.date: 03/19/2024
7+
author: mumian
8+
ms.author: jgao
9+
ms.service: azure-resource-manager
710
---
811

9-
# Azure Resource Manager metrics in Azure Monitor
12+
# Monitor Azure Resource Manager
13+
14+
[!INCLUDE [horz-monitor-intro](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-intro.md)]
15+
16+
[!INCLUDE [horz-monitor-insights](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-insights.md)]
17+
18+
For more information, see [Monitor Azure Monitor Resource Group insights](resource-group-insights.md).
19+
20+
[!INCLUDE [horz-monitor-resource-types](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-resource-types.md)]
21+
22+
For more information about the resource types for Resource Manager, see [Azure Resource Manager monitoring data reference](monitor-resource-manager-reference.md).
23+
24+
[!INCLUDE [horz-monitor-data-storage](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-data-storage.md)]
25+
26+
[!INCLUDE [horz-monitor-platform-metrics](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-platform-metrics.md)]
27+
28+
For a list of available metrics for Resource Manager, see [Azure Resource Manager monitoring data reference](monitor-resource-manager-reference.md#metrics).
29+
1030
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.
1131

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).
1333

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.
1535

16-
## Accessing Azure Resource Manager metrics
36+
### Accessing Azure Resource Manager metrics
1737

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).
1939

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.
2141

2242
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).
2343

24-
## Metric definition
44+
### Metric definition
2545

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.
2747

2848
```bash
2949
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' \
3050
--header 'Authorization: bearer {{bearerToken}}'
3151
```
3252

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).
3454

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
4456

45-
## Examples
57+
Here are some scenarios that can help you explore Azure Resource Manager metrics.
4658

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
4860

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):
5262

5363
:::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.":::
5464

@@ -60,16 +70,16 @@ Then, after selecting **Apply**, you can visualize your Traffic or Latency contr
6070

6171
:::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.":::
6272

63-
### Query traffic and latency control plane metrics via REST API
73+
#### Query traffic and latency control plane metrics with REST API
6474

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:
6676

6777
```bash
6878
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&region=global&aggregation=average,count&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z" \
6979
--header "Authorization: bearer {{bearerToken}}"
7080
```
7181

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:
7383

7484
```Json
7585
{
@@ -111,7 +121,7 @@ In the case of Azure Resource Manager metrics, you can retrieve the traffic coun
111121
}
112122
```
113123

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:
115125

116126
```bash
117127
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&region=global&aggregation=count&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z' \
@@ -158,13 +168,13 @@ The response for the request is:
158168
}
159169
```
160170

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**.
162172

163173
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**.
164174

165-
### Examining Throttled Requests
175+
#### Examining Throttled Requests
166176

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:
168178

169179
```bash
170180
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&region=global&aggregation=count,average&timespan=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
174184
You can also filter directly in portal:
175185
:::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.":::
176186

187+
#### Examining Server Errors
177188

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:
181190

182191
```bash
183192
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&region=global&aggregation=count,average&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z&$filter=StatusCodeClass%20eq%20%275xx%27' \
184193
--header 'Authorization: bearer {{bearerToken}}'
185194
```
186195

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.
197+
198+
[!INCLUDE [horz-monitor-no-resource-logs](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-no-resource-logs.md)]
199+
200+
[!INCLUDE [horz-monitor-activity-log](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-activity-log.md)]
201+
202+
[!INCLUDE [horz-monitor-analyze-data](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-analyze-data.md)]
203+
204+
[!INCLUDE [horz-monitor-external-tools](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-external-tools.md)]
205+
206+
[!INCLUDE [horz-monitor-kusto-queries](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-kusto-queries.md)]
207+
208+
[!INCLUDE [horz-monitor-alerts](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-alerts.md)]
209+
210+
[!INCLUDE [horz-monitor-insights-alerts](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-insights-alerts.md)]
211+
212+
### Resource Manager alert rules
213+
214+
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).
215+
216+
[!INCLUDE [horz-monitor-advisor-recommendations](~/reusable-content/ce-skilling/azure/includes/azure-monitor/horizontals/horz-monitor-advisor-recommendations.md)]
188217

189-
## Next steps
218+
## Related content
190219

191-
* [Azure Monitor Overview](../../monitoring-and-diagnostics/monitoring-overview.md)
220+
- 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

Comments
 (0)