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žadavek odeslaný pomocí rozhraní API služby Azure Monitor použijte model ověřování 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í instančního objektu Microsoft Entra a načtení ověřovacího tokenu. Instanční objekt Microsoft Entra můžete vytvořit pomocí webu Azure Portal, rozhraní příkazového řádku nebo PowerShellu. Další informace najdete v tématu Registrace aplikace k vyžádání autorizačních tokenů a práci s rozhraními API.

Načtení tokenu

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

Získejte ověřovací token pomocí některé z následujících metod:

  • Rozhraní příkazového řádku
  • REST API
  • Sada SDK

Při vyžádání tokenu musíte zadat resource parametr. Parametr resource je adresa URL prostředku, ke který chcete získat přístup.

Zdroje informací zahrnují:

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

Získání tokenu pomocí požadavku REST

K získání tokenu použijte následující volání rozhraní REST API. Tento požadavek používá k ověření požadavku ID klienta a tajný klíč klienta. ID klienta a tajný klíč klienta se získávají při registraci aplikace v Microsoft Entra ID. Další informace najdete v tématu Registrace aplikace k vyžádání autorizačních tokenů a práci s rozhraními 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'

Text 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 v požadavcích rozhraní API služby Azure Monitor včetně 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čtení ID prostředku

Použití rozhraní REST API vyžaduje ID prostředku cílového prostředku Azure. ID prostředků se řídí následujícím vzorem:

/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>
  • Elastický fond SQL: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<pool-db>/elasticpools/<sql-pool-name>
  • Azure SQL Database (v12):/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<server-name>/database-name<>
  • 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 JSON prostředku. ID prostředku lze zkopírovat pomocí ikony napravo od ID.

Snímek obrazovky se stránkou JSON prostředku prostředku

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.

Načtení hodnot dimenzí

Po načtení dostupných definic metrik načtěte rozsah hodnot pro dimenze 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 pouze jeden filtr zástupných znaků. Zadejte požadavek na hodnoty dimenzí pomocí parametru "resultType=metadata" dotazu. Vynechá resultType se pro požadavek na hodnoty metriky.

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 generovány pro API Name dimenzi Transactions metriky, kde GeoType má dimenze 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ích tři rozhraní API o počet Transactions v sestupném pořadí hodnot během 5minutového rozsahu, kde GeoType má dimenze 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 prostředí s více prostředky.

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

  • Metriky rozhraní API pro více prostředků fungují na úrovni předplatného místo na úrovni ID prostředku. Toto omezení znamená, že uživatelé dotazující se na tato rozhraní API musí mít oprávnění čtenáře monitorování u samotného předplatného.
  • Rozhraní API pro více prostředků metrik podporují pouze jeden typ prostředku na dotaz, který musí být zadán ve formě parametru dotazu oboru názvů metriky.
  • Rozhraní API pro více prostředků metrik podporují pouze jednu oblast Azure na dotaz, která musí být zadána ve formě parametru dotazu oblasti.

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é změny jsou cesta předplatného místo cesty ID prostředku a přidání region parametrů dotazu a metricNamespace parametry dotazu.

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 * říká 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 oblasti. Bez filtru by rozhraní API vrátilo agregaci průměrného procesoru pro všechny virtuální počítače jednu časovou řadu. Č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 tento dotaz nenačítá žádné ID prostředků, 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, "timeseries": [] vrátí se.
  • 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:
    Jednotlivá rozhraní API metrik prostředků vyžadují, aby uživatel měl oprávnění Čtenář monitorování k dotazovanému prostředku. Vzhledem k tomu, že rozhraní API pro více metrik prostředků jsou rozhraní API na úrovni předplatného, musí mít uživatelé oprávnění Čtenář monitorování pro dotazované předplatné, aby mohli používat rozhraní API pro metriky více prostředků. I když mají uživatelé čtenáře monitorování na všech prostředcích v předplatném, požadavek selže, pokud uživatel nemá v samotném předplatném čtenáře monitorování.

Další kroky