Aracılığıyla paylaş


Azure izleme REST API'sinde izlenecek yol

Bu makalede Azure İzleyici REST API başvurusunun nasıl kullanılacağı gösterilmektedir.

Azure İzleyici API'sini kullanarak ölçüm tanımlarını, boyut değerlerini ve ölçüm değerlerini alın ve verileri uygulamalarınızda kullanın veya analiz için bir veritabanında depolayın. Ayrıca Azure İzleyici API'sini kullanarak uyarı kurallarını listeleyebilir ve etkinlik günlüklerini görüntüleyebilirsiniz.

Azure İzleyici isteklerinin kimliğini doğrulama

Azure İzleyici API'si kullanılarak gönderilen istek, Azure Resource Manager kimlik doğrulama modelini kullanır. Tüm isteklerin kimliği Microsoft Entra Id ile doğrulanır. İstemci uygulamasının kimliğini doğrulamaya yönelik bir yaklaşım, bir Microsoft Entra hizmet sorumlusu oluşturmak ve kimlik doğrulama belirteci almaktır. Azure portalı, CLI veya PowerShell kullanarak bir Microsoft Entra hizmet sorumlusu oluşturabilirsiniz. Daha fazla bilgi için bkz . Yetkilendirme belirteçleri istemek ve API'lerle çalışmak için uygulama kaydetme.

Belirteç alma

Hizmet sorumlusu oluşturduktan sonra bir erişim belirteci alın. Belirteç isteğinde belirtin resource=https://management.azure.com .

Aşağıdaki yöntemlerden herhangi birini kullanarak bir kimlik doğrulama belirteci alın:

  • CLI
  • REST API
  • SDK

Belirteç isteğinde bulunurken bir resource parametre sağlamanız gerekir. resource parametresi, erişmek istediğiniz kaynağın URL'sidir.

Kaynaklar arasında şunlar bulunur:

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

REST isteği kullanarak belirteç alma

Belirteç almak için aşağıdaki REST API çağrısını kullanın. Bu istek, isteğin kimliğini doğrulamak için bir istemci kimliği ve istemci gizli dizisi kullanır. uygulamanızı Microsoft Entra Id ile kaydettiğinizde istemci kimliği ve istemci gizli dizisi elde edilir. Daha fazla bilgi için bkz . Yetkilendirme belirteçleri istemek ve API'lerle çalışmak için uygulama kaydetme

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'

Yanıt gövdesi aşağıdaki biçimde görünür:

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

Bir belirtecin kimliğini doğruladıktan ve aldıktan sonra üst bilgisini ekleyerek Azure İzleyici API isteklerinizde erişim belirtecini kullanın 'Authorization: Bearer <access token>'

Not

Azure REST API ile çalışma hakkında daha fazla bilgi için bkz . Azure REST API başvurusu.

Kaynak kimliğini alma

REST API'yi kullanmak için hedef Azure kaynağının kaynak kimliği gerekir. Kaynak kimlikleri aşağıdaki deseni izler:

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

Örneğin:

  • Azure IoT Hub: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Devices/IotHubs/<iot-hub-name>
  • Elastik SQL havuzu: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<pool-db>/elasticpools/<sql-pool-name>
  • Azure SQL Veritabanı (v12): /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<server-name>/databases/<database-name>
  • Azure Service Bus: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ServiceBus/<namespace>/<servicebus-name>
  • Azure Sanal Makine Ölçek Kümeleri: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<vm-name>
  • Azure Sanal Makineler: /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>

Kaynak kimliğini bulmak için Azure portalını, PowerShell'i veya Azure CLI'yı kullanın.

Portalda resourceID'yi bulmak için kaynağın genel bakış sayfasında JSON görünümü'nü seçin JSON görünümü bağlantısının vurgulandığı bir kaynağın genel bakış sayfasını gösteren ekran görüntüsü.

Kaynak JSON sayfası görüntülenir. Kaynak kimliği, kimliğin sağındaki simge kullanılarak kopyalanabilir.

Bir kaynağın Kaynak JSON sayfasını gösteren ekran görüntüsü.

API uç noktaları

API uç noktaları aşağıdaki deseni kullanır:
/<resource URI>/providers/microsoft.insights/<metrics|metricDefinitions>?api-version=<apiVersion>
resource URI aşağıdaki bileşenlerden oluşur:
/subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/

Önemli

Ölçümleri veya ölçüm tanımlarını almak için api çağrısı yaparken kaynak URI'sine eklemeyi /providers/microsoft.insights/ unutmayın.

Ölçüm tanımlarını alma

Bir hizmet için kullanılabilen ölçümlerin listesine erişmek için Azure İzleyici Ölçüm Tanımları REST API'sini kullanın. Ölçüm tanımlarını almak için aşağıdaki istek biçimini kullanın.

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>

Örneğin, aşağıdaki istek bir Azure Depolama hesabı için ölçüm tanımlarını alır.

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

Aşağıdaki JSON örnek yanıt gövdesini gösterir. Bu örnekte yalnızca ikinci ölçümün boyutları vardır.

{
    "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"
                }
            ]
        },
        ...
    ]
}

Not

API sürümünü "2018-01-01" veya üzerini kullanmanızı öneririz. Ölçüm tanımları API'sinin eski sürümleri boyutları desteklemez.

Boyut değerlerini alma

Kullanılabilir ölçüm tanımlarını aldıktan sonra ölçümün boyutları için değer aralığını alın. Sorgularınızdaki ölçümleri filtrelemek veya segmentlere ayırmak için boyut değerlerini kullanın. Belirli bir ölçüm boyutu için tüm değerleri bulmak için Azure İzleyici Ölçümleri REST API'sini kullanın.

Filtre tanımlarında ölçümün name.value öğesini kullanın. Filtre belirtilmezse varsayılan ölçüm döndürülür. API yalnızca bir boyutun joker karakter filtresine sahip olmasına izin verir. Sorgu parametresini kullanarak "resultType=metadata" boyut değerleri isteğini belirtin. resultType bir ölçüm değerleri isteği için atlanır.

Not

Azure İzleyici REST API'sini kullanarak boyut değerlerini almak için "2019-07-01" veya sonraki bir API sürümünü kullanın.

Boyut değerlerini almak için aşağıdaki istek biçimini kullanın.

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>

Aşağıdaki örnek, belirtilen zaman aralığı için boyutun değerine sahip olduğu GeoType ölçümün Transactions boyutu için API Name yayılan boyut değerlerinin Primarylistesini alır.

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'

Aşağıdaki JSON örnek yanıt gövdesini gösterir.

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

Ölçüm değerlerini alma

Ölçüm tanımlarını ve boyut değerlerini aldıktan sonra ölçüm değerlerini alın. Ölçüm değerlerini almak için Azure İzleyici Ölçümleri REST API'sini kullanın.

Filtre tanımlarında ölçümün name.value öğesini kullanın. Boyut filtresi belirtilmezse toplanan, toplanan ölçüm döndürülür.

Birden çok zaman serisi

Zaman serisi, belirli bir boyut bileşimi için zamana göre sıralanmış bir veri noktaları kümesidir. Boyut, ölçümün kaynak kimliği, bölge veya ApiName gibi veri noktasını tanımlayan bir yönüdür.

  • Belirli boyut değerlerine sahip birden çok zaman serisini getirmek için, gibi "&$filter=ApiName eq 'ListContainers' or ApiName eq 'GetBlobServiceProperties'"her iki boyut değerini de belirten bir filtre sorgusu parametresi belirtin. Bu örnekte, olduğu zaman ApiName ListContainers serisini ve ikinci bir zaman serisini alırsınız ApiName GetBlobServiceProperties.
  • Belirli bir boyutun her değeri için bir zaman serisi döndürmek için gibi "&$filter=ApiName eq '*'"bir * filtre kullanın. Top Döndürülen zaman serisi sayısını sınırlamak ve sıralamak için ve OrderBy sorgu parametrelerini kullanın. Bu örnekte, sonuç kümesindeki her değeri ApiNameiçin bir zaman serisi alırsınız. Veri döndürülmezse, API boş bir zaman serisi "timeseries": []döndürür.

Not

Azure İzleyici REST API'sini kullanarak çok boyutlu ölçüm değerlerini almak için "2019-07-01" veya sonraki bir API sürümünü kullanın.

Ölçüm değerlerini almak için aşağıdaki istek biçimini kullanın.

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>

Aşağıdaki örnek, Transactions boyutun değerine Primarysahip olduğu GeoType 5 dakikalık bir aralıkta azalan değer sırasına göre ilk üç API'yi alır.

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'

Aşağıdaki JSON örnek yanıt gövdesini gösterir.

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

Aynı anda birden çok kaynak için ölçümleri sorgulama.

Belirli bir kaynaktaki ölçümleri sorgulamaya ek olarak, bazı kaynak türleri tek bir istekte birden çok kaynağı sorgulamayı da destekler. Bu API'ler, Azure ölçüm gezgininde Çoklu Kaynak deneyimini güçlendirenlerdir. Birden çok ölçüm için sorgulamayı destekleyen kaynak türleri kümesi, Bağlam dikey penceresindeki kapsam seçicideki kaynak türü açılan menüsü aracılığıyla Azure izleyicisindeki Ölçümler dikey penceresinde görülebilir. Daha fazla bilgi için Çok Kaynaklı UX belgelerine bakın.

Birden çok ve tek tek kaynakların ölçümlerini sorgulama arasında bazı önemli farklar vardır.

  • Ölçümler çok kaynaklı API'ler kaynak kimliği düzeyi yerine abonelik düzeyinde çalışır. Bu kısıtlama, bu API'leri sorgulayan kullanıcıların aboneliğin kendisinde İzleme Okuyucusu izinlerine sahip olması gerektiği anlamına gelir.
  • Ölçümler çok kaynaklı API'ler sorgu başına yalnızca tek bir resourceType'ı destekler ve bu, ölçüm ad alanı sorgu parametresi biçiminde belirtilmelidir.
  • Ölçümler çok kaynaklı API'ler sorgu başına yalnızca tek bir Azure bölgesini destekler ve bu bölge sorgu parametresi biçiminde belirtilmelidir.

Birden çok kaynak örneği için ölçümleri sorgulama

Aşağıdaki örnekte tek bir ölçüm tanımları isteği gösterilmektedir:

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

Aşağıdaki istek, birden çok kaynak için eşdeğer ölçüm tanımları isteğini gösterir. Tek değişiklikler kaynak kimliği yolu yerine abonelik yolu ve ve metricNamespace sorgu parametrelerinin eklenmesidirregion.

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

Aşağıdaki örnekte tek bir ölçüm isteği gösterilmektedir.

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

Birden çok kaynak için eşdeğer bir ölçüm isteği aşağıdadır:

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

Not

Microsoft.ResourceId eq '*' Çok kaynaklı ölçüm istekleri örneğine bir filtre eklenir. Filtre, * API'ye abonelikte ve bölgede verileri olan her sanal makine kaynağı için ayrı bir zaman serisi döndürmesini söyler. Filtre olmadan API, tüm VM'ler için ortalama CPU'ları toplayarak tek bir zaman serisi döndürür. Her kaynağın times serisi, aşağıdaki örnek dönüş değerinde görülebileceği gibi her zaman serisi girdisindeki meta veri değeriyle Microsoft.ResourceId ayırt edilir. Bu sorgu tarafından alınan resourceId yoksa boş bir zaman serisi"timeseries": [] döndürülür.

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

Birden çok kaynak için ölçüm sorgulama sorunlarını giderme

  • Boş zaman serisi döndürüldü "timeseries": []

    • Belirtilen zaman aralığı ve filtre için kullanılabilir veri olmadığında boş bir zaman serisi döndürülür. En yaygın neden, veri içermeyen bir zaman aralığı belirtmektir. Örneğin, zaman aralığı gelecekteki bir tarihe ayarlanmışsa.
    • Başka bir yaygın neden, herhangi bir kaynakla eşleşmeyen bir filtre belirtmektir. Örneğin, filtre abonelik ve bölge bileşimindeki herhangi bir kaynakta mevcut olmayan bir boyut değeri belirtirse döndürülür "timeseries": [] .
  • Joker karakter filtreleri
    gibi Microsoft.ResourceId eq '*' bir joker karakter filtresi kullanmak, API'nin abonelikteki ve bölgedeki her resourceId için bir zaman serisi döndürmesine neden olur. Abonelik ve bölge bileşimi kaynak içermiyorsa boş bir zaman serisi döndürülür. Joker karakter filtresi olmayan aynı sorgu, istenen ölçümü abonelik ve bölge gibi istenen boyutlar üzerinden toplayarak tek bir zaman serisi döndürür.

  • 401 yetkilendirme hataları:
    Tek tek kaynak ölçümleri API'leri, kullanıcının sorgulanan kaynak üzerinde İzleme Okuyucusu iznine sahip olmasını gerektirir. Çoklu kaynak ölçümleri API'leri abonelik düzeyi API'leri olduğundan, kullanıcıların sorgulanan aboneliğin çoklu kaynak ölçümleri API'lerini kullanması için İzleme Okuyucusu iznine sahip olması gerekir. Kullanıcıların abonelikteki tüm kaynaklarda İzleme Okuyucusu olsa bile, kullanıcının aboneliğin kendisinde İzleme Okuyucusu yoksa istek başarısız olur.

Sonraki adımlar