Metriky Azure Resource Manager ve službě Azure Monitor

Při vytváření a správě prostředků v Azure se vaše požadavky orchestrují prostřednictvím řídicí roviny Azure, Azure Resource Manager. Tento článek popisuje, jak monitorovat objem a latenci požadavků řídicí roviny provedených do Azure.

S těmito metrikami můžete sledovat provoz a latenci požadavků řídicí roviny v rámci vašich předplatných. Teď můžete například zjistit, jestli byly vaše požadavky omezené nebo neúspěšné, filtrováním konkrétních stavových kódů prozkoumáním omezených požadavků a zkoumáním chyb serveru.

Metriky jsou k dispozici až tři měsíce (93 dnů) a sledují pouze synchronní požadavky. V případě scénáře, jako je vytvoření virtuálního počítače, metriky nepředstavují výkon ani spolehlivost dlouhotrvající asynchronní operace.

Přístup k metrikám Azure Resource Manager

K metrikám roviny řízení můžete přistupovat prostřednictvím rozhraní REST API služby Azure Monitor, sad SDK a Azure Portal (výběrem metriky Azure Resource Manager). Přehled služby Azure Monitor najdete v tématu Metriky služby Azure Monitor.

Pro metriky roviny řízení přístupu neexistuje žádný proces přihlášení nebo registrace.

Pokyny k načtení nosné tokeny a provádění požadavků do Azure najdete v referenčních informacích k rozhraní Azure REST API.

Definice metriky

Definice metrik Azure Resource Manager ve službě Azure Monitor je přístupná pouze prostřednictvím verze rozhraní API 2017-12-Preview. Pokud chcete načíst definici, můžete spustit následující fragment kódu s ID vašeho předplatného, které nahradí "00000000-0000-0000-0000-0000000000000":

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

Tento fragment kódu vrátí definici schématu metrik. Toto schéma obsahuje zejména dimenze, které můžete filtrovat pomocí rozhraní API pro monitorování:

Název dimenze Popis
Identifikátor ResourceUri Úplné ID prostředku pro konkrétní prostředek.
Oblast žádosti Azure Resource Manager oblasti, kam přistanou vaše požadavky na řízení, například "EastUS2". Tato oblast není umístěním prostředku.
Statuscode Typ odpovědi z Azure Resource Manager pro požadavek řídicí roviny. Možné hodnoty jsou (mimo jiné):
- 0
- 200
- 201
- 400
- 404
- 429
- 500
- 502
StatusCodeClass Třída stavového kódu vráceného z Azure Resource Manager. Možné hodnoty:
- 2xx
- 4xx
- 5xx
Obor názvů Obor názvů poskytovatele prostředků se všemi velkými písmeny, například MICROSOFT. COMPUTE"
Resourcetype Jakýkoli typ prostředku v Azure, na který jste vytvořili nebo na který jste odeslali požadavek, ve všech limitech, například VIRTUALMACHINES
Metoda Metoda HTTP použitá v požadavku na Azure Resource Manager. Možné hodnoty:
– GET
-HLAVY
– PUT
– POST
-OPRAVA
-ODSTRANIT

Příklady

Teď se podíváme na některé scénáře, které vám můžou pomoct prozkoumat metriky Azure Resource Manager.

Dotazování na metriky roviny řízení provozu a latence prostřednictvím Azure Portal

Nejprve na portálu přejděte do okna Azure Monitoru:

Snímek obrazovky s přechodem na stránku Monitorování Azure Portal se zvýrazněnou možností Prozkoumat metriky

Po výběru možnosti Prozkoumat metriky vyberte jedno předplatné a pak vyberte metriku Azure Resource Manager:

Snímek obrazovky s výběrem jednoho předplatného a metriky Azure Resource Manager v Azure Portal

Po výběru možnosti Použít pak můžete vizualizovat metriky řídicí roviny provozu nebo latence pomocí vlastního filtrování a rozdělení:

Snímek obrazovky s vizualizací metrik v Azure Portal s možnostmi filtrování a rozdělení podle dimenzí

Dotazování na metriky roviny řízení provozu a latence prostřednictvím rozhraní REST API

Po ověření v Azure můžete vytvořit žádost o načtení metrik řídicí roviny pro vaše předplatné. Ve skriptu nahraďte 00000000-0000-0000-0000-00000000000 ID předplatného. Skript načte průměrnou latenci požadavku (v sekundách) a celkový počet požadavků pro časový rozsah dvou dnů rozdělený do intervalů za jeden den:

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

V případě metrik Azure Resource Manager můžete načíst počet přenosů pomocí metriky latence a zahrnutím agregace "count". Zobrazí se odpověď JSON pro požadavek:

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

Pokud chcete načíst jenom počet přenosů, můžete využít metriku Traffic s agregací "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}}'

Odpověď na požadavek je:

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

Pro metriky podporující dimenze je potřeba zadat hodnotu dimenze, aby se zobrazily odpovídající hodnoty metrik. Pokud se například chcete zaměřit na latenci úspěšných požadavků na ARM, musíte vyfiltrovat dimenzi StatusCodeClass pomocí 2XX.

Pokud se chcete podívat na počet požadavků provedených ve vašem předplatném pro síťové prostředky, jako jsou virtuální sítě a nástroje pro vyrovnávání zatížení, budete muset vyfiltrovat dimenzi Obor názvů pro MICROSOFT. SÍŤ.

Zkoumání omezených požadavků

Pokud chcete zobrazit jenom omezené požadavky, musíte filtrovat jenom odpovědi na stavový kód 429. U volání rozhraní REST API se filtrování provádí prostřednictvím vlastnosti $filter a dimenze StatusCode připojením: $filter=StatusCode eq '429', jak je vidět na konci požadavku v následujícím fragmentu kódu:

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

Můžete také filtrovat přímo na portálu: Snímek obrazovky s filtrováním stavového kódu HTTP na odpovědi 429 pouze v Azure Portal.

Zkoumání chyb serveru

Podobně jako při pohledu na omezené požadavky zobrazíte všechny požadavky, které vrátily kód odpovědi na chybu serveru, filtrováním pouze odpovědí 5xx. U volání rozhraní REST API se filtrování provádí prostřednictvím vlastnosti $filter a dimenze StatusCodeClass připojením: $filter=StatusCodeClass eq '5xx', jak je vidět na konci požadavku v následujícím fragmentu kódu:

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

K filtrování obecných chyb serveru na portálu můžete také dosáhnout nastavením vlastnosti filter na StatusCodeClass a hodnoty 5xx, podobně jako v příkladu omezování.

Další kroky