Azure 모니터링 REST API 연습

이 문서에서는 Azure Monitor REST API 참조를 사용하는 방법을 보여 줍니다.

Azure Monitor API를 사용하여 메트릭 정의, 차원 값 및 메트릭 값을 검색하고 애플리케이션의 데이터를 사용하거나 분석을 위해 데이터베이스에 저장합니다. Azure Monitor API를 사용하여 경고 규칙을 나열하고 활동 로그를 볼 수도 있습니다.

Azure Monitor 요청 인증

Azure Monitor API를 사용하여 제출된 요청은 Azure Resource Manager 인증 모델을 사용합니다. 모든 요청은 Microsoft Entra ID로 인증됩니다. 클라이언트 애플리케이션을 인증하는 한 가지 방법은 Microsoft Entra 서비스 주체를 만들고 인증 토큰을 검색하는 것입니다. Azure Portal, CLI 또는 PowerShell을 사용하여 Microsoft Entra 서비스 주체를 만들 수 있습니다. 자세한 내용은 권한 부여 토큰을 요청하고 API로 작업하는 앱 등록을 참조 하세요.

토큰 검색

서비스 주체를 만든 후에는 REST 호출을 사용하여 액세스 토큰을 검색합니다. 서비스 주체 또는 앱을 사용하여 appIdpassword 다음 요청을 제출합니다.


    POST /<tenant-id>/oauth2/token
    Host: https://login.microsoftonline.com
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=client_credentials
    &client_id=<app-client-id>
    &resource=https://management.azure.com
    &client_secret=<password>

예를 들면 다음과 같습니다.

curl --location --request POST 'https://login.microsoftonline.com/abcd1234-5849-4a5d-a2eb-5267eae1bbc7/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=0123b56a-c987-1234-abcd-1a2b3c4d5e6f' \
--data-urlencode 'client_secret=123456.ABCDE.~XYZ876123ABceDb0000' \
--data-urlencode 'resource=https://management.azure.com'

성공적인 요청은 응답에서 다음과 같은 액세스 토큰을 받습니다.

{
   token_type": "Bearer",
   "expires_in": "86399",
   "ext_expires_in": "86399",
   "access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax"
}

토큰을 인증하고 검색한 후 헤더를 포함하여 Azure Monitor API 요청에서 액세스 토큰을 사용합니다. 'Authorization: Bearer <access token>'

참고 항목

Azure REST API 작업에 대한 자세한 내용은 Azure REST API 참조를 참조하세요.

리소스 ID 검색

REST API를 사용하려면 대상 Azure 리소스의 리소스 ID가 필요합니다. 리소스 ID는 다음 패턴을 따릅니다.

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

예를 들면 다음과 같습니다.

  • Azure IoT Hub: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Devices/IotHubs/<iot-hub-name>
  • 탄력적 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>/databases/<database-name>
  • Azure Service Bus: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ServiceBus/<namespace>/<servicebus-name>
  • Azure Virtual Machine Scale Sets: /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>

Azure Portal, PowerShell 또는 Azure CLI를 사용하여 리소스 ID를 찾습니다.

포털에서 resourceID를 찾으려면 리소스의 개요 페이지에서 JSON 보기를 선택합니다 .A screenshot showing the overview page for a resource with the JSON view link highlighted.

리소스 JSON 페이지가 표시됩니다. ID 오른쪽의 아이콘을 사용하여 리소스 ID를 복사할 수 있습니다.

A screenshot showing the Resource JSON page for a resource.

API 엔드포인트

API 엔드포인트는 다음 패턴을 사용합니다.
/<resource URI>/providers/microsoft.insights/<metrics|metricDefinitions>?api-version=<apiVersion>
다음 resource URI 구성 요소로 구성됩니다.
/subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/

Important

메트릭 또는 메트릭 정의를 검색하기 위해 API를 호출할 때 리소스 URI 후에 포함 /providers/microsoft.insights/ 해야 합니다.

메트릭 정의 검색

Azure Monitor 메트릭 정의 REST API를 사용하여 서비스에 사용 가능한 메트릭 목록에 액세스합니다. 다음 요청 형식을 사용하여 메트릭 정의를 검색합니다.

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>

예를 들어 다음 요청은 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

다음 JSON은 예제 응답 본문을 보여 줍니다. 이 예제에서는 두 번째 메트릭에만 차원이 있습니다.

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

참고 항목

API "2018-01-01" 이후 버전을 사용하는 것이 좋습니다. 이전 버전의 메트릭 정의 API는 차원을 지원하지 않습니다.

차원 값 검색

사용 가능한 메트릭 정의를 검색한 후 메트릭 차원의 값 범위를 검색합니다. 차원 값을 사용하여 쿼리에서 메트릭을 필터링하거나 분할합니다. Azure Monitor 메트릭 REST API를 사용하여 지정된 메트릭 차원에 대한 모든 값을 찾습니다.

필터 정의에서 메트릭의 name.value 요소를 사용합니다. 필터를 지정하지 않으면 기본 메트릭이 반환됩니다. API는 하나의 차원에만 야생카드 필터를 허용합니다. 쿼리 매개 변수를 사용하여 차원 값에 "resultType=metadata" 대한 요청을 지정합니다. resultType 메트릭 값 요청에 대해서는 생략됩니다.

참고 항목

Azure Monitor REST API를 사용하여 차원 값을 검색하려면 API 버전 "2019-07-01" 이상을 사용하세요.

다음 요청 형식을 사용하여 차원 값을 검색합니다.

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>

다음 예제에서는 지정된 시간 범위에 대한 API Name 차원 값이 있는 메트릭 GeoTypeTransactions 차원에 대해 내보낸 차원 값 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-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'

다음 JSON은 예제 응답 본문을 보여 줍니다.

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

메트릭 값 검색

메트릭 정의 및 차원 값을 검색한 후 메트릭 값을 검색합니다. Azure Monitor 메트릭 REST API를 사용하여 메트릭 값을 검색합니다.

필터 정의에서 메트릭의 name.value 요소를 사용합니다. 차원 필터를 지정하지 않으면 롤업된 집계 메트릭이 반환됩니다.

특정 차원 값이 있는 여러 시계열을 가져오려면 두 차원 값을 모두 지정하는 필터 쿼리 매개 변수(예: "&$filter=ApiName eq 'ListContainers' or ApiName eq 'GetBlobServiceProperties'")를 지정합니다.

지정된 차원의 모든 값에 대한 시계열을 반환하려면 * 필터(예: "&$filter=ApiName eq '*'")를 사용합니다. TopOrderBy 쿼리 매개 변수를 사용하여 반환되는 시계열 수를 제한하고 정렬할 수 있습니다.

참고 항목

Azure Monitor REST API를 사용하여 다차원 메트릭 값을 검색하려면 API 버전 "2019-07-01" 이상을 사용하세요.

다음 요청 형식을 사용하여 메트릭 값을 검색합니다.

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>

다음 예제에서는 차원의 TransactionsPrimary이 있는 5분 범위 GeoType 동안 내림차순으로 상위 3개의 API를 검색합니다.

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'

다음 JSON은 예제 응답 본문을 보여 줍니다.

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

한 번에 여러 리소스에 대한 메트릭 쿼리

개별 리소스에 대한 메트릭 쿼리 외에도 일부 리소스 유형은 단일 요청에서 여러 리소스에 대한 쿼리를 지원합니다. 이러한 API는 Azure 메트릭 탐색기의 다중 리소스 환경을 지원합니다. 여러 메트릭에 대한 쿼리를 지원하는 리소스 유형 집합은 컨텍스트 블레이드의 범위 선택기에서 리소스 종류 드롭다운을 통해 Azure Monitor의 메트릭 블레이드에서 볼 수 있습니다. 자세한 내용은 다중 리소스 UX 설명서를 참조 하세요.

여러 리소스와 개별 리소스에 대한 메트릭 쿼리 간에는 몇 가지 중요한 차이점이 있습니다.

  • 메트릭 다중 리소스 API는 리소스 ID 수준 대신 구독 수준에서 작동합니다. 이 제한은 이러한 API를 쿼리하는 사용자에게 구독 자체에 대한 모니터링 판독기 권한이 있어야 임을 의미합니다.
  • 메트릭 다중 리소스 API는 메트릭 네임스페이스 쿼리 매개 변수의 형태로 지정해야 하는 쿼리당 단일 resourceType만 지원합니다.
  • 메트릭 다중 리소스 API는 쿼리당 단일 Azure 지역만 지원하며 지역 쿼리 매개 변수의 형태로 지정해야 합니다.

여러 리소스에 대한 메트릭 쿼리 예제

다음 예제에서는 개별 메트릭 정의 요청을 보여 줍니다.

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

다음 요청은 여러 리소스에 대한 해당 메트릭 정의 요청을 보여 줍니다. 유일한 변경 내용은 리소스 ID 경로 대신 구독 경로와 추가 regionmetricNamespace 쿼리 매개 변수입니다.

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

다음 예제에서는 개별 메트릭 요청을 보여 줍니다.

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

다음은 여러 리소스에 대한 동일한 메트릭 요청입니다.

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

참고 항목

Microsoft.ResourceId eq '*' 다중 리소스 메트릭 요청에 대한 예제에 필터가 추가됩니다. 필터는 구독 및 지역의 가상 머신 리소스당 별도의 시계열을 반환하도록 API에 지시합니다. 필터가 없으면 API는 모든 VM의 평균 CPU를 집계하는 단일 시계열을 반환합니다. 각 리소스에 대한 시계열은 다음 샘플 반환 값에서 볼 수 있듯이 각 시계열 항목의 메타데이터 값으로 구분 Microsoft.ResourceId 됩니다. 이 쿼리에서 검색한 resourceId가 없으면 빈 시계열"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"
}

여러 리소스에 대한 쿼리 메트릭 문제 해결

  • 반환된 빈 시계열 "timeseries": []

    • 지정된 시간 범위 및 필터에 사용할 수 있는 데이터가 없는 경우 빈 시계열이 반환됩니다. 가장 일반적인 원인은 데이터를 포함하지 않는 시간 범위를 지정하는 것입니다. 예를 들어 시간 범위가 이후 날짜로 설정된 경우입니다.
    • 또 다른 일반적인 원인은 리소스와 일치하지 않는 필터를 지정하는 것입니다. 예를 들어 필터가 구독 및 지역 조합 "timeseries": [] 의 리소스에 없는 차원 값을 지정하는 경우 반환됩니다.
  • Wild카드 필터
    와일드카드 필터를 Microsoft.ResourceId eq '*' 사용하면 API가 구독 및 지역의 모든 resourceId에 대한 시계열을 반환합니다. 구독 및 지역 조합에 리소스가 없는 경우 빈 시계열이 반환됩니다. wild카드 필터가 없는 동일한 쿼리는 요청된 차원(예: 구독 및 지역)에 대해 요청된 메트릭을 집계하여 단일 시계열을 반환합니다. 구독 및 지역 조합에 리소스가 없는 경우 API는 단일 데이터 요소로 단일 시계열을 반환합니다 0.

  • 401 권한 부여 오류:
    개별 리소스 메트릭 API를 사용하려면 쿼리할 리소스에 대한 모니터링 판독기 권한이 사용자에게 필요합니다. 다중 리소스 메트릭 API는 구독 수준 API이므로 사용자는 다중 리소스 메트릭 API를 사용하려면 쿼리된 구독에 대한 모니터링 판독기 권한이 있어야 합니다. 사용자가 구독의 모든 리소스에 대해 모니터링 판독기를 가지고 있더라도 사용자에게 구독 자체에 대한 모니터링 판독기가 없는 경우 요청이 실패합니다.

다음 단계