Sdílet prostřednictvím


Průvodce rozhraním REST API pro monitorování Azure

V tomto článku se dozvíte, jak používat referenční informace k rozhraní REST API služby Azure Monitor.

Načtení definic metrik, hodnot dimenzí a hodnot metrik pomocí rozhraní API služby Azure Monitor a použití dat v aplikacích nebo uložení do databáze k analýze. Pomocí rozhraní API služby Azure Monitor můžete také zobrazit pravidla upozornění a zobrazit protokoly aktivit.

Ověřování požadavků služby Azure Monitor

Požadavky odeslané prostřednictvím rozhraní API Azure Monitor používají ověřovací model Azure Resource Manageru. Všechny požadavky se ověřují pomocí ID Microsoft Entra. Jedním z přístupů k ověřování klientské aplikace je vytvoření služebního hlavního objektu Microsoft Entra a získání ověřovacího tokenu. Objekt služby Microsoft Entra můžete vytvořit pomocí Azure portálu, CLI nebo PowerShellu. Pro více informací se podívejte na Registrovat aplikaci pro žádost o autorizační tokeny a práci s API.

Načtení tokenu

Po vytvoření objektu pro službu načtěte přístupový token. Zadejte resource=https://management.azure.com v požadavku na token.

Získejte autentizační token pomocí některé z následujících metod:

  • rozhraní příkazového řádku (CLI)
  • REST API
  • Sada pro vývoj softwaru (SDK)

Při žádosti o token musíte poskytnout parametr resource. Parametr resource je URL zdroje, který chcete získat přístup.

Zdroje zahrnují:

  • https://management.azure.com
  • https://api.loganalytics.io
  • https://monitoring.azure.com

Získejte token pomocí REST požadavku

Použijte následující volání REST API k získání tokenu. Tento požadavek používá ID klienta a klientský tajný klíč k autentizaci požadavku. Klientské ID a klientské tajemství jsou získány při registraci vaší aplikace u Microsoft Entra ID. Pro více informací se podívejte na Registrovat aplikaci pro žádost o autorizační tokeny a práci s API.

curl -X POST 'https://login.microsoftonline.com/<tennant ID>/oauth2/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<your apps client ID>' \
--data-urlencode 'client_secret=<your apps client secret' \
--data-urlencode 'resource=https://monitoring.azure.com'

Tělo odpovědi se zobrazí v následujícím formátu:

{
    "token_type": "Bearer",
    "expires_in": "86399",
    "ext_expires_in": "86399",
    "expires_on": "1672826207",
    "not_before": "1672739507",
    "resource": "https://monitoring.azure.com",
    "access_token": "eyJ0eXAiOiJKV1Qi....gpHWoRzeDdVQd2OE3dNsLIvUIxQ"
}

Po ověření a načtení tokenu použijte přístupový token ve svých požadavcích k Azure Monitor API tím, že ho zahrnete do hlavičky 'Authorization: Bearer <access token>'.

Poznámka:

Další informace o práci s rozhraním Azure REST API najdete v referenčních informacích k rozhraní Azure REST API.

Načtěte ID prostředku

Použití rozhraní REST API vyžaduje ID cílového prostředku Azure. ID prostředků odpovídají následujícímu vzoru:

/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/<provider>/<resource name>/

Například

  • Azure IoT Hub: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Devices/IotHubs/<iot-hub-name>
  • Fond SQL elastický: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<pool-db>/elasticpools/<sql-pool-name>
  • Azure SQL Database (v12): /subscriptions/<subscription-id>/skupiny-zdrojů/<název-skupiny-zdrojů>/poskytovatelé/Microsoft.Sql/servery/<název-serveru>/databáze/<název-databáze>
  • Azure Service Bus: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ServiceBus/<namespace>/<servicebus-name>
  • Škálovací sady virtuálních počítačů Azure: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<vm-name>
  • Azure Virtual Machines: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines/<vm-name>
  • Azure Event Hubs: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.EventHub/namespaces/<eventhub-namespace>

Pomocí webu Azure Portal, PowerShellu nebo Azure CLI vyhledejte ID prostředku.

Pokud chcete najít ID prostředku na portálu, vyberte na stránce přehledu prostředku zobrazení JSON.

Snímek obrazovky zobrazující stránku s přehledem prostředku se zvýrazněným odkazem pro zobrazení JSON

Zobrazí se stránka prostředku JSON. ID prostředku lze zkopírovat pomocí ikony napravo od ID.

Snímek obrazovky zobrazující stránku JSON pro prostředek.

Koncové body rozhraní API

Koncové body rozhraní API používají následující vzor:

/<resource URI>/providers/microsoft.insights/<metrics|metricDefinitions>?api-version=<apiVersion>

Skládá resource URI se z následujících součástí:

/subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/

Důležité

Nezapomeňte zahrnout /providers/microsoft.insights/ za identifikátor URI prostředku při volání rozhraní API pro načtení metrik nebo definic metrik.

Načtení definic metrik

K získání přístupu k seznamu metrik, které jsou dostupné pro službu, použijte rozhraní REST API pro definice metrik služby Azure Monitor. K načtení definic metrik použijte následující formát požadavku.

GET /subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/providers/microsoft.insights/metricDefinitions?api-version=<apiVersion>
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

Například následující požadavek načte definice metrik pro účet Azure Storage:

curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricDefinitions?api-version=2018-01-01'
--header 'Authorization: Bearer eyJ0eXAiOi...xYz

Následující json ukazuje příklad textu odpovědi. V tomto příkladu má dimenze pouze druhá metrika:

{
    "value": [
        {
            "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricdefinitions/UsedCapacity",
            "resourceId": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage",
            "namespace": "Microsoft.Storage/storageAccounts",
            "category": "Capacity",
            "name": {
                "value": "UsedCapacity",
                "localizedValue": "Used capacity"
            },
            "isDimensionRequired": false,
            "unit": "Bytes",
            "primaryAggregationType": "Average",
            "supportedAggregationTypes": [
                "Total",
                "Average",
                "Minimum",
                "Maximum"
            ],
            "metricAvailabilities": [
                {
                    "timeGrain": "PT1H",
                    "retention": "P93D"
                },
                 ...
                {
                    "timeGrain": "PT12H",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "P1D",
                    "retention": "P93D"
                }
            ]
        },
        {
            "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricdefinitions/Transactions",
            "resourceId": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage",
            "namespace": "Microsoft.Storage/storageAccounts",
            "category": "Transaction",
            "name": {
                "value": "Transactions",
                "localizedValue": "Transactions"
            },
            "isDimensionRequired": false,
            "unit": "Count",
            "primaryAggregationType": "Total",
            "supportedAggregationTypes": [
                "Total"
            ],
            "metricAvailabilities": [
                {
                    "timeGrain": "PT1M",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "PT5M",
                    "retention": "P93D"
                },
                ...
                {
                    "timeGrain": "PT30M",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "PT1H",
                    "retention": "P93D"
                },
                ...
                {
                    "timeGrain": "P1D",
                    "retention": "P93D"
                }
            ],
            "dimensions": [
                {
                    "value": "ResponseType",
                    "localizedValue": "Response type"
                },
                {
                    "value": "GeoType",
                    "localizedValue": "Geo type"
                },
                {
                    "value": "ApiName",
                    "localizedValue": "API name"
                }
            ]
        },
        ...
    ]
}

Poznámka:

Doporučujeme použít rozhraní API verze 2018-01-01 nebo novější. Starší verze rozhraní API definic metrik nepodporují dimenze.

Získání hodnot dimenzí

Po načtení dostupných definic metrik získejte rozsah hodnot pro rozměry metriky. Pomocí hodnot dimenzí můžete filtrovat nebo segmentovat metriky v dotazech. Pomocí rozhraní REST API metrik služby Azure Monitor vyhledejte všechny hodnoty pro danou dimenzi metriky.

Použijte prvek metriky name.value v definicích filtru. Pokud nejsou zadány žádné filtry, vrátí se výchozí metrika. Rozhraní API umožňuje použít filtr zástupných znaků pouze na jednom rozměru. Zadejte požadavek na hodnoty dimenzí pomocí parametru "resultType=metadata" dotazu. Požadavek na hodnoty metriky vynechá resultType.

Poznámka:

Pokud chcete načíst hodnoty dimenzí pomocí rozhraní REST API služby Azure Monitor, použijte rozhraní API verze 2019-07-01 nebo novější.

K načtení hodnot dimenzí použijte následující formát požadavku:

GET /subscriptions/<subscription-id>/resourceGroups/
<resource-group-name>/providers/<resource-provider-namespace>/
<resource-type>/<resource-name>/providers/microsoft.insights/
metrics?metricnames=<metric>
&timespan=<starttime/endtime>
&$filter=<filter>
&resultType=metadata
&api-version=<apiVersion> HTTP/1.1
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

Následující příklad načte seznam hodnot dimenzí, které byly emitovány pro API Name dimenzi Transactions metriky, kde dimenze GeoType má hodnotu Primary, pro zadaný časový rozsah.

curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metrics \
?metricnames=Transactions \
&timespan=2023-03-01T00:00:00Z/2023-03-02T00:00:00Z \
&resultType=metadata \
&$filter=GeoType eq \'Primary\' and ApiName eq \'*\' \
&api-version=2019-07-01'
-header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0e..meG1lWm9Y'

Následující json ukazuje příklad textu odpovědi:

{
  "timespan": "2023-03-01T00:00:00Z/2023-03-02T00:00:00Z",
  "value": [
    {
      "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/Microsoft.Insights/metrics/Transactions",
      "type": "Microsoft.Insights/metrics",
      "name": {
        "value": "Transactions",
        "localizedValue": "Transactions"
      },
      "unit": "Count",
      "timeseries": [
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "DeleteBlob"
            }
          ]
        },
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "SetBlobProperties"
            }
          ]
        },
        ...
      ]
    }
  ],
  "namespace": "Microsoft.Storage/storageAccounts",
  "resourceregion": "eastus"
}

Načtení hodnot metrik

Po načtení definic metrik a hodnot dimenzí načtěte hodnoty metriky. K načtení hodnot metrik použijte rozhraní REST API metrik služby Azure Monitor.

Použijte prvek metriky name.value v definicích filtru. Pokud nejsou zadány žádné filtry dimenzí, vrátí se souhrnná agregovaná metrika.

Více časových řad

Časová řada je sada datových bodů, které jsou seřazené podle času pro danou kombinaci dimenzí. Dimenze je aspektem metriky, která popisuje datový bod, jako je ID prostředku, oblast nebo apiName.

  • Pokud chcete načíst více časových řad s konkrétními hodnotami dimenzí, zadejte parametr dotazu filtru, který určuje obě hodnoty dimenzí, například "&$filter=ApiName eq 'ListContainers' or ApiName eq 'GetBlobServiceProperties'". V tomto příkladu získáte časovou řadu, kde ApiName je ListContainers a druhá časová řada, kde ApiName je GetBlobServiceProperties.

  • Pokud chcete vrátit časovou řadu pro každou hodnotu dané dimenze, použijte * filtr, například "&$filter=ApiName eq '*'". Top Pomocí parametrů dotazu OrderBy omezte a seřaďte počet vrácených časových řad. V tomto příkladu získáte časovou řadu pro každou hodnotu ApiNamev sadě výsledků. Pokud se nevrátí žádná data, rozhraní API vrátí prázdnou časovou řadu "timeseries": [].

Poznámka:

Pokud chcete načíst vícerozměrné hodnoty metrik pomocí rozhraní REST API služby Azure Monitor, použijte rozhraní API verze 2019-07-01 nebo novější.

K načtení hodnot metrik použijte následující formát požadavku:

GET /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/<resource-provider-namespace>/<resource-type>/<resource-name>/providers/microsoft.insights/metrics?metricnames=<metric>&timespan=<starttime/endtime>&$filter=<filter>&interval=<timeGrain>&aggregation=<aggreation>&api-version=<apiVersion>
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

Následující příklad načte první tři rozhraní API podle počtu Transactions v sestupném pořadí hodnot během pětiminutového rozsahu, kde dimenze GeoType má hodnotu Primary.

curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metrics \
?metricnames=Transactions \
&timespan=2023-03-01T02:00:00Z/2023-03-01T02:05:00Z \
& $filter=apiname eq '\''GetBlobProperties'\'
&interval=PT1M \
&aggregation=Total \
&top=3 \
&orderby=Total desc \
&api-version=2019-07-01"' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer yJ0eXAiOi...g1dCI6Ii1LS'

Následující json ukazuje příklad textu odpovědi:

{
  "cost": 0,
  "timespan": "2023-03-01T02:00:00Z/2023-03-01T02:05:00Z",
  "interval": "PT1M",
  "value": [
    {
      "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/Microsoft.Insights/metrics/Transactions",
      "type": "Microsoft.Insights/metrics",
      "name": {
        "value": "Transactions",
        "localizedValue": "Transactions"
      },
      "unit": "Count",
      "timeseries": [
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "GetBlobProperties"
            }
          ],
          "data": [
            {
              "timeStamp": "2023-09-19T02:00:00Z",
              "total": 2
            },
            {
              "timeStamp": "2023-09-19T02:01:00Z",
              "total": 1
            },
            {
              "timeStamp": "2023-09-19T02:02:00Z",
              "total": 3
            },
            {
              "timeStamp": "2023-09-19T02:03:00Z",
              "total": 7
            },
            {
              "timeStamp": "2023-09-19T02:04:00Z",
              "total": 2
            }
          ]
        },
        ...
      ]
    }
  ],
  "namespace": "Microsoft.Storage/storageAccounts",
  "resourceregion": "eastus"
}

Dotazování metrik pro více prostředků najednou

Kromě dotazování na metriky u jednotlivých prostředků podporují některé typy prostředků také dotazování na více prostředků v jednom požadavku. Tato rozhraní API jsou to, co umožňuje prostředí s více prostředky v Průzkumníku metrik Azure. Sadu typů prostředků, které podporují dotazování na více metrik, se dají zobrazit v okně Metriky ve službě Azure Monitor prostřednictvím rozevíracího seznamu typu prostředku v selektoru oboru v okně kontextu. Další informace najdete v dokumentaci k uživatelskému rozhraní s více zdroji.

Mezi dotazováním metrik pro více prostředků a pro jednotlivé prostředky existuje několik důležitých rozdílů.

  • Metriky API pro více zdrojů fungují na úrovni předplatného místo na úrovni ID zdroje. Toto omezení znamená, že uživatelé dotazující se na tato rozhraní API musí mít oprávnění pro čtenáře monitorování přímo u předplatného.
  • Rozhraní API pro metriky s více zdroji podporují pouze jeden typ prostředku na dotaz, který musí být specifikován prostřednictvím parametru dotazu oboru názvů metrik.
  • Rozhraní API pro více zdrojů metrik podporují pouze jeden region Azure na dotaz, který musí být zadán jako parametr dotazu regionu.

Dotazování metrik pro více příkladů prostředků

Následující příklad ukazuje požadavek na jednotlivé definice metrik:

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1/providers/microsoft.insights/metricdefinitions?api-version=2021-05-01

Následující požadavek ukazuje ekvivalentní požadavek na definice metrik pro více prostředků. Jedinými změnami jsou cesta předplatného namísto cesty s ID prostředku a přidání parametrů dotazu region a metricNamespace.

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/providers/microsoft.insights/metricdefinitions?api-version=2021-05-01&region=eastus&metricNamespace=microsoft.compute/virtualmachines

Následující příklad ukazuje individuální požadavek na metriky:

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1/providers/microsoft.Insights/metrics?timespan=2023-06-25T22:20:00.000Z/2023-06-26T22:25:00.000Z&interval=PT5M&metricnames=Percentage CPU&aggregation=average&api-version=2021-05-01

Níže je ekvivalentní požadavek na metriky pro více prostředků:

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/providers/microsoft.Insights/metrics?timespan=2023-06-25T22:20:00.000Z/2023-06-26T22:25:00.000Z&interval=PT5M&metricnames=Percentage CPU&aggregation=average&api-version=2021-05-01&region=eastus&metricNamespace=microsoft.compute/virtualmachines&$filter=Microsoft.ResourceId eq '*'

Poznámka:

Do Microsoft.ResourceId eq '*' příkladu pro požadavky na metriky více prostředků se přidá filtr. Filtr * instruuje rozhraní API, aby vrátilo samostatnou časovou řadu pro každý prostředek virtuálního počítače, který obsahuje data v předplatném a regionu. Bez filtru by rozhraní API vracelo jednu časovou řadu, která by agregovala průměrné zatížení CPU pro všechny virtuální počítače. Časové řady pro každý prostředek se rozlišují podle Microsoft.ResourceId hodnoty metadat pro každou položku časové řady, jak je vidět v následující ukázkové návratové hodnotě. Pokud nebylo načteno žádné ID prostředků tímto dotazem, vrátí se prázdná časová řada"timeseries": [].

{
    "timespan": "2023-06-25T22:35:00Z/2023-06-26T22:40:00Z",
    "interval": "PT6H",
    "value": [
        {
            "id": "subscriptions/12345678-abcd-98765432-abcdef012345/providers/Microsoft.Insights/metrics/Percentage CPU",
            "type": "Microsoft.Insights/metrics",
            "name": {
                "value": "Percentage CPU",
                "localizedValue": "Percentage CPU"
            },
            "displayDescription": "The percentage of allocated compute units that are currently in use by the Virtual Machine(s)",
            "unit": "Percent",
            "timeseries": [
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 3.2618888888888886
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 4.696944444444445
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 6.19701388888889
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 2.630347222222222
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 21.288999999999998
                        }
                    ]
                },
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM2"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 7.567069444444444
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 5.111835883171071
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 10.078277777777778
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 8.399097222222222
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 2.647
                        }
                    ]
                },
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/Common-TESTING/providers/Microsoft.Compute/virtualMachines/CommonVM1"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 6.892319444444444
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 3.5054305555555554
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 8.398817802503476
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 6.841666666666667
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 3.3850000000000002
                        }
                    ]
                }
            ],
            "errorCode": "Success"
        }
    ],
    "namespace": "microsoft.compute/virtualmachines",
    "resourceregion": "eastus"
}

Řešení potíží s dotazováním metrik pro více prostředků

  • Vrácená prázdná časová řada "timeseries": []

    • Prázdná časová řada se vrátí, když pro zadaný časový rozsah a filtr nejsou k dispozici žádná data. Nejběžnější příčinou je určení časového rozsahu, který neobsahuje žádná data. Pokud je například časový rozsah nastavený na budoucí datum.
    • Další běžnou příčinou je zadání filtru, který neodpovídá žádným prostředkům. Pokud například filtr určuje hodnotu dimenze, která neexistuje u žádného prostředku v kombinaci předplatného a oblasti, bude vráceno "timeseries": [].
  • Filtry zástupných znaků

    Použití filtru zástupných znaků, například Microsoft.ResourceId eq '*' způsobí, že rozhraní API vrátí časovou řadu pro každé ID prostředku v předplatném a oblasti. Pokud kombinace předplatného a oblasti neobsahuje žádné prostředky, vrátí se prázdná časová řada. Stejný dotaz bez filtru se zástupnými znamény vrátí jednu časovou řadu a agreguje požadovanou metriku přes požadované dimenze, například předplatné a oblast.

  • Chyby autorizace 401

    Rozhraní API pro metriky jednotlivých prostředků vyžadují, aby měl uživatel oprávnění Čtenář monitorování na dotazovaném prostředku. Vzhledem k tomu, že rozhraní API pro metriky na úrovni předplatného jsou určena pro více zdrojů, musí mít uživatelé oprávnění monitorovací čtenář pro dotazované předplatné, aby mohli používat tato rozhraní API. I když mají uživatelé Monitorovací čtenář na všech prostředcích v předplatném, požadavek selže, pokud nemají Monitorovací čtenář na předplatném samotném.

  • 529 chyb omezování

    Kód chyby 529 označuje, že back-end metriky aktuálně omezuje vaše požadavky. Doporučenou akcí je implementace exponenciálního schématu opakování. Další informace o omezování najdete v tématu Vysvětlení toho, jak Azure Resource Manager omezuje požadavky.

Další kroky