Compartir a través de


Métricas de Azure Resource Manager en Azure Monitor

Al crear y administrar recursos en Azure, las solicitudes se orquestan a través del plano de control de Azure, Azure Resource Manager. En este artículo se describe cómo supervisar el volumen y la latencia de las solicitudes de plano de control realizadas en Azure.

Con estas métricas, puede observar el tráfico y la latencia de las solicitudes de plano de control en todas las suscripciones. Por ejemplo, ahora puede averiguar cuándo las solicitudes se han visto limitadas o no filtrando códigos de estado específicos por examen de solicitudes limitadas y examen de errores del servidor.

Las métricas están disponibles durante un máximo de tres meses (93 días) y solo pueden realizar un seguimiento de las solicitudes sincrónicas. En un escenario como la creación de una máquina virtual, las métricas no representan el rendimiento o la confiabilidad de la operación asincrónica de larga duración.

Acceder a métricas de Azure Resource Manager

Puede acceder a las métricas de plano de control a través de las API de REST de Azure Monitor, los SDK y Azure Portal (seleccionando la métrica "Azure Resource Manager"). Para obtener información general sobre Azure Monitor, consulte Métricas de Azure Monitor.

No hay ningún proceso de suscripción o participación para obtener acceso a las métricas de plano de control.

Para obtener instrucciones sobre cómo recuperar un token de portador y realizar solicitudes a Azure, consulte Referencia de la API de REST de Azure.

Definición métrica

La definición de métricas de Azure Resource Manager en Azure Monitor solo es accesible a través de la versión de la API 2017-12-01-preview. Para recuperar la definición, puede ejecutar el siguiente fragmento de código, con el id. de suscripción reemplazando "00000000-0000-0000-0000-000000000000":

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' \
--header 'Authorization: bearer {{bearerToken}}'

Este fragmento devolverá la definición del esquema de métricas. En particular, este esquema incluye las dimensiones que puede usar para filtrar con la API de supervisión:

Nombre de dimensión Descripción
ResourceUri El id. de recurso completo de un recurso determinado.
RequestRegion La región de Azure Resource Manager donde el plano de control solicita terreno, como "EastUS2". Esta región no es la ubicación del recurso.
StatusCode Tipo de respuesta de Azure Resource Manager para la solicitud de plano de control. Los valores posibles son (entre otros):
- 0
- 200
- 201
- 400
- 404
- 429
- 500
- 502
StatusCodeClass La clase del código de estado devuelto desde Azure Resource Manager. Los valores posibles son:
- 2xx
- 4xx
- 5xx
Espacio de nombres El espacio de nombres del proveedor de recursos, en mayúsculas, como "MICROSOFT.COMPUTE"
ResourceType Cualquier tipo de recurso en Azure al que haya creado o enviado una solicitud, en mayúsculas, como "VIRTUALMACHINES"
Método El método HTTP usado en la solicitud realizada a Azure Resource Manager. Los valores posibles son:
- GET
- HEAD
- PUT
- POST
- PATCH
- DELETE

Ejemplos

Ahora, veamos algunos escenarios que pueden ayudarle a explorar las métricas de Azure Resource Manager.

Métricas de plano de control de latencia y tráfico de consulta a través de Azure Portal

En primer lugar, vaya a la hoja Azure Monitor dentro del portal:

Captura de pantalla de navegación a la página Monitor de Azure Portal con la opción Explorar métricas resaltada.

Después de seleccionar Explorar métricas,seleccione una suscripción única y, a continuación, seleccione la métrica Azure Resource Manager:

Captura de pantalla de la selección de una única suscripción y la métrica de Azure Resource Manager en Azure Portal.

Después, después de seleccionar Aplicar, puede visualizar las métricas de plano de control de tráfico o latencia con filtrado y división personalizados:

Captura de pantalla de la visualización de métricas en Azure Portal, que muestra las opciones para filtrar y dividir por dimensiones.

Métricas de plano de control de latencia y tráfico de consulta a través de la API de REST

Después de autenticarse con Azure, puede realizar una solicitud para recuperar las métricas del plano de control de la suscripción. En el script, reemplace "000000000-0000-0000-0000-00000000000" por el identificador de la suscripción. Este script recuperará la latencia media de la solicitud (en segundos) y el recuento total de solicitudes para el intervalo de dos días, desglosados por intervalos de un día:

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" \
--header "Authorization: bearer {{bearerToken}}"

En el caso de las métricas de Azure Resource Manager, puede recuperar el recuento de tráfico mediante la métrica Latencia, lo que incluye la agregación "contar". Verá una respuesta JSON para la solicitud:

{
    "cost": 5758,
    "timespan": "2021-11-01T00:00:00Z/2021-11-03T00:00:00Z",
    "interval": "P1D",
    "value": [
        {
            "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/metrics/Latency",
            "type": "Microsoft.Insights/metrics",
            "name": {
                "value": "Latency",
                "localizedValue": "Latency"
            },
            "displayDescription": "Latency data for all requests to Azure Resource Manager",
            "unit": "Seconds",
            "timeseries": [
                {
                    "metadatavalues": [],
                    "data": [
                        {
                            "timeStamp": "2021-11-01T00:00:00Z",
                            "count": 1406.0,
                            "average": 0.19345163584637273
                        },
                        {
                            "timeStamp": "2021-11-02T00:00:00Z",
                            "count": 1517.0,
                            "average": 0.28294792353328935
                        }
                    ]
                }
            ],
            "errorCode": "Success"
        }
    ],
    "namespace": "microsoft.resources/subscriptions",
    "resourceregion": "global"
}

Si desea recuperar solo el recuento de tráfico, puede usar la métrica Tráfico con la agregación "contar":

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' \
--header 'Authorization: bearer {{bearerToken}}'

La respuesta de la solicitud es:

{
    "cost": 2879,
    "timespan": "2021-11-01T00:00:00Z/2021-11-03T00:00:00Z",
    "interval": "P1D",
    "value": [
        {
            "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/metrics/Traffic",
            "type": "Microsoft.Insights/metrics",
            "name": {
                "value": "Traffic",
                "localizedValue": "Traffic"
            },
            "displayDescription": "Traffic data for all requests to Azure Resource Manager",
            "unit": "Count",
            "timeseries": [
                {
                    "metadatavalues": [],
                    "data": [
                        {
                            "timeStamp": "2021-11-01T00:00:00Z",
                            "count": 1406.0
                        },
                        {
                            "timeStamp": "2021-11-02T00:00:00Z",
                            "count": 1517.0
                        }
                    ]
                }
            ],
            "errorCode": "Success"
        }
    ],
    "namespace": "microsoft.resources/subscriptions",
    "resourceregion": "global"
}

En el caso de las dimensiones compatibles con métricas, es preciso especificar el valor de la dimensión para ver los valores correspondientes de las métricas. Por ejemplo, si desea centrarse en la Latencia de solicitudes correctas para ARM, debe filtrar la dimensión StatusCodeClass con 2XX.

Si desea ver el número de solicitudes realizadas en su suscripción para recursos de red, como redes virtuales y equilibradores de carga, tendrá que filtrar la dimensión Namespace para MICROSOFT.NETWORK.

Examinar solicitudes limitadas

Para ver solo las solicitudes limitadas, debe filtrar por respuestas de código de estado 429. Para las llamadas a la API de REST, el filtrado se realiza a través de la propiedad $filter y la dimensión StatusCode anexando: $filter=StatusCode eq '429' como se ve al final de la solicitud en el siguiente fragmento de código:

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' \
--header 'Authorization: bearer {{bearerToken}}'

También puede filtrar directamente en el portal: Captura de pantalla de filtrado de código de estado HTTP solo para respuestas 429 en Azure Portal.

Examinar errores del servidor

De forma similar a las solicitudes limitadas, puede ver todas las solicitudes que devuelven un código de respuesta de error del servidor filtrando solo las respuestas 5xx. Para las llamadas a la API de REST, el filtrado se realiza a través de la propiedad $filter y la dimensión StatusCodeClass anexando: $filter=StatusCodeClass eq '5xx' como se ve al final de la solicitud en el siguiente fragmento de código:

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' \
--header 'Authorization: bearer {{bearerToken}}'

También puede realizar el filtrado de errores de servidor genéricos dentro del portal estableciendo la propiedad de filtro en "StatusCodeClass" y el valor en "5xx", similar a lo que se hizo en el ejemplo de limitación.

Pasos siguientes