Azure Resource Manager-mått i Azure Monitor

När du skapar och hanterar resurser i Azure dirigeras dina begäranden via Azures kontrollplan, Azure Resource Manager. Den här artikeln beskriver hur du övervakar volymen och svarstiden för kontrollplansbegäranden som görs till Azure.

Med dessa mått kan du observera trafik och svarstid för kontrollplansbegäranden i dina prenumerationer. Du kan till exempel nu ta reda på när dina begäranden har begränsats eller misslyckats genom att filtrera efter specifika statuskoder genom att undersöka begränsade begäranden och undersöka serverfel.

Måtten är tillgängliga i upp till tre månader (93 dagar) och spårar endast synkrona begäranden. För ett scenario som när en virtuell dator skapas representerar måtten inte prestanda eller tillförlitlighet för den långvariga asynkrona åtgärden.

Åtkomst till Azure Resource Manager-mått

Du kan komma åt kontrollplansmått via REST-API:er, SDK:er för Azure Monitor och Azure Portal (genom att välja måttet "Azure Resource Manager"). En översikt över Azure Monitor finns i Mått för Azure Monitor.

Det finns ingen registreringsprocess för åtkomstkontrollplansmått.

Information om hur du hämtar en ägartoken och gör begäranden till Azure finns i Referens för Azure REST API.

Måttdefinition

Definitionen för Azure Resource Manager-mått i Azure Monitor är endast tillgänglig via API-versionen 2017-12-01-preview. Om du vill hämta definitionen kan du köra följande kodfragment, där ditt prenumerations-ID ersätter "00000000-0000-0000-0000-00000000000000":

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}}'

Det här kodfragmentet returnerar definitionen för måttschemat. Det här schemat innehåller bland annat de dimensioner som du kan filtrera på med API:et Monitor:

Dimensionsnamn Description
ResourceUri Det fullständiga resurs-ID:t för en viss resurs.
RequestRegion Den Azure Resource Manager region där dina kontrollplansbegäranden landar, till exempel "EastUS2". Den här regionen är inte resursens plats.
StatusCode Svarstyp från Azure Resource Manager för din kontrollplansbegäran. Möjliga värden är (men inte begränsade till):
- 0
- 200
- 201
- 400
- 404
- 429
- 500
- 502
StatusCodeClass Klassen för statuskoden som returneras från Azure Resource Manager. Möjliga värden:
- 2xx
- 4xx
-5xx
Namnområde Namnområdet för resursprovidern, i alla versaler, till exempel "MICROSOFT. COMPUTE"
Resurstypens Alla resurstyper i Azure som du har skapat eller skickat en begäran till, i alla versaler, som "VIRTUALMACHINES"
Metod HTTP-metoden som används i begäran till Azure Resource Manager. Möjliga värden:
- GET
-HUVUD
- PUT
- POST
-PATCH
-TA BORT

Exempel

Nu ska vi titta på några scenarier som kan hjälpa dig att utforska Azure Resource Manager mått.

Fråga trafik- och svarstidskontrollplansmått via Azure Portal

Gå först till Azure Monitor-bladet i portalen:

Skärmbild som visar hur du navigerar till Azure Portal-sidan Övervaka med Utforska mått markerat.

När du har valt Utforska mått väljer du en enskild prenumeration och sedan måttet Azure Resource Manager:

Skärmbild av att välja en enskild prenumeration och måttet Azure Resource Manager i Azure Portal.

När du har valt Använd kan du sedan visualisera måtten för trafik- eller svarstidskontrollplanet med anpassad filtrering och delning:

Skärmbild av måttvisualiseringen i Azure Portal, som visar alternativ för att filtrera och dela upp efter dimensioner.

Fråga trafik- och svarstidskontrollplansmått via REST API

När du har autentiserats med Azure kan du göra en begäran om att hämta kontrollplansmått för din prenumeration. I skriptet ersätter du "000000000-0000-0000-0000000000000000000" med ditt prenumerations-ID. Skriptet hämtar den genomsnittliga svarstiden för begäran (i sekunder) och det totala antalet förfrågningar för tidsintervallet på två dagar, uppdelat med ett dagsintervall:

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}}"

När det gäller Mått för Azure Resource Manager kan du hämta trafikantalet med hjälp av måttet Svarstid och inklusive aggregeringen "count". Du ser ett JSON-svar för begäran:

{
    "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"
}

Om du bara vill hämta trafikantalet kan du använda trafikmåttet med aggregeringen "count":

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}}'

Svaret för begäran är:

{
    "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"
}

För mått som stöder dimensioner måste du ange dimensionsvärdet för att se motsvarande måttvärden. Om du till exempel vill fokusera på svarstiden för lyckade begäranden till ARM måste du filtrera dimensionen StatusCodeClass med 2XX.

Om du vill titta på antalet begäranden som görs i din prenumeration för nätverksresurser, till exempel virtuella nätverk och lastbalanserare, måste du filtrera namnområdesdimensionen för MICROSOFT. NÄTVERK.

Undersöka begränsade begäranden

Om du bara vill visa dina begränsade begäranden behöver du endast filtrera efter 429 statuskodsvar. För REST API-anrop utförs filtrering via egenskapen $filter och StatusCode-dimensionen genom att lägga till: $filter=StatusCode eq '429' som visas i slutet av begäran i följande kodfragment:

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}}'

Du kan också filtrera direkt i portalen: Skärmbild av filtrering av HTTP-statuskod till 429 svar endast i Azure Portal.

Undersöka serverfel

På samma sätt som du tittar på begränsade begäranden visar du alla begäranden som returnerade en serverfelsvarskod genom att endast filtrera 5xx-svar. För REST API-anrop utförs filtrering via egenskapen $filter och dimensionen StatusCodeClass genom att lägga till: $filter=StatusCodeClass eq '5xx' som visas i slutet av begäran i följande kodfragment:

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}}'

Du kan också utföra allmänna serverfel vid filtrering i portalen genom att ange filteregenskapen till StatusCodeClass och värdet "5xx", ungefär som i begränsningsexemplet.

Nästa steg