Azure 監視 REST API のチュートリアル
この記事では、Azure Monitor の REST API リファレンスを使用する方法について説明します。
Azure Monitor API を使用してメトリック定義、ディメンション値、メトリック値を取得し、アプリケーションでデータを使用したり、分析のためにデータベースに格納したりします。 Azure Monitor API を使用して、アラート ルールを一覧表示したり、アクティビティ ログを表示したりすることもできます。
Azure Monitor 要求の認証
Azure Monitor API を使用して送信された要求では、Azure Resource Manager 認証モデルが使用されます。 すべての要求は、Microsoft Entra ID で認証されます。 クライアント アプリケーションを認証する 1 つの方法は、Microsoft Entra サービス プリンシパルを作成し、認証トークンを取得することです。 Microsoft Entra サービス プリンシパルは、Azure portal、CLI、または PowerShell を使って作成できます。 詳細については、「承認トークンを要求し、API を操作するために、アプリを登録する」を参照してください。
トークンを取得する
サービス プリンシパルの作成が完了したら、アクセス トークンを取得します。 トークン要求の中で resource=https://management.azure.com
を指定します。
次のいずれかの方法を使用して認証トークンを取得します。
- CLI
- REST API
- SDK
トークンを要求する際は、resource
パラメーターを指定する必要があります。 resource
パラメーターは、アクセスするリソースの URL です。
リソースには以下が含まれます。
https://management.azure.com
https://api.loganalytics.io
https://monitoring.azure.com
REST 要求を使用してトークンを取得する
トークンを取得するには、次の REST API 呼び出しを使用します。 この要求では、クライアント ID とクライアント シークレットを使用して要求を認証します。 クライアント ID とクライアント シークレットは、アプリケーションを Microsoft Entra ID に登録するときに取得されます。 詳細については、「承認トークンを要求し、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'
応答本文は、次の形式で表示されます。
{
"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"
}
認証してトークンを取得した後、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>
- Elastic 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 ビュー] を選択します
[リソース JSON] ページが表示されます。 リソース ID は、ID の右側にあるアイコンを使用してコピーできます。
API エンドポイント
API エンドポイントでは、次のパターンが使用されます。
/<resource URI>/providers/microsoft.insights/<metrics|metricDefinitions>?api-version=<apiVersion>
resource URI
は次の要素から構成されます。
/subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/
重要
メトリックまたはメトリック定義を取得する 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 は、応答例の本文を示しています。 この例では、2 番目のメトリックのみにディメンションがあります。
{
"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 の Metrics REST API を使用し、特定のメトリック ディメンションのすべての値を見つけます。
フィルター定義でメトリックの name.value
要素を使用します。 フィルターが指定されていない場合は、既定のメトリックが返されます。 この API では、1 つのディメンションでのみ、ワイルドカード フィルターを使用できます。
"resultType=metadata"
クエリ パラメーターを使用して、ディメンション値の要求を指定します。 メトリック値の要求では、resultType
は省略されます。
Note
Azure Monitor REST API を使用してディメンション値を取得するには、"2019-07-01" 以降の API バージョンを使用します。
次の要求形式を使用して、ディメンション値を取得します。
GET /subscriptions/<subscription-id>/resourceGroups/
<resource-group-name>/providers/<resource-provider-namespace>/
<resource-type>/<resource-name>/providers/microsoft.insights/
metrics?metricnames=<metric>
×pan=<starttime/endtime>
&$filter=<filter>
&resultType=metadata
&api-version=<apiVersion> HTTP/1.1
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>
次の例では、Transactions
メトリックの API Name
ディメンションに対して出力されたディメンション値で、GeoType
ディメンションの値が、指定された時間範囲に対して 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 \
×pan=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
要素を使用します。 ディメンション フィルターが指定されていない場合、ロール アップされた集計メトリックが返されます。
複数の時系列
時系列とは、所与のディメンションの組み合わせに対する一連のデータ ポイントを時間順に並べたものです。 ディメンションとは、メトリックに対する視点であり、データ ポイントを説明するものです。たとえばリソース ID、リージョン、ApiName などです。
- 特定のディメンション値を持つ複数の時系列をフェッチするには、
"&$filter=ApiName eq 'ListContainers' or ApiName eq 'GetBlobServiceProperties'"
などの両方のディメンション値を指定するフィルター クエリ パラメーターを指定します。 この例では、ApiName
がListContainers
である時系列を取得し、ApiName
がGetBlobServiceProperties
である別の時系列を取得します。 - 特定のディメンションのあらゆる値に対して時系列を返すには、
"&$filter=ApiName eq '*'"
のような*
フィルターを使用します。 クエリ パラメーターTop
とOrderBy
を使用して、返される時系列の数を制限するとともに並べ替えます。 この例では、結果セット内のApiName
の値ごとに 1 つの時系列を取得します。 返されるデータがない場合は、API から空の時系列"timeseries": []
が返されます。
Note
Azure Monitor REST API を使用して多次元のメトリック値を取得するには、"2019-07-01" 以降の API バージョンを使用します。
メトリック値を取得するには、次の要求形式を使用します。
GET /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/<resource-provider-namespace>/<resource-type>/<resource-name>/providers/microsoft.insights/metrics?metricnames=<metric>×pan=<starttime/endtime>&$filter=<filter>&interval=<timeGrain>&aggregation=<aggreation>&api-version=<apiVersion>
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>
次の例では、5 分間の上位 3 つの API を、Transactions
数の降順で取得します。ここで、GeoType
ディメンションの値は 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 \
×pan=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"
}
一度に複数のリソースに対するメトリックのクエリ。
個々のリソース上のメトリックのクエリに加えて、一部のリソースの種類では、1 つの要求での複数のリソースに対するクエリもサポートされています。 これらの API は、Azure メトリック エクスプローラーでのマルチリソース エクスペリエンスを提供するものです。 複数のメトリックのクエリをサポートするリソースの種類のセットは、Azure Monitor の [メトリック] ブレードで、コンテキスト ブレード上のスコープ セレクター内の [リソースの種類] ドロップダウンを使用して確認できます。 詳細については、「マルチリソース UX ドキュメント」を参照してください。
複数のリソースと個々のリソースのメトリックのクエリには、いくつかの重要な違いがあります。
- メトリック マルチリソース API は、リソース ID レベルではなくサブスクリプション レベルで動作します。 この制限は、これらの API に対してクエリを実行するユーザーが、サブスクリプション自体に対する監視閲覧者の権限を持っている必要があることを意味します。
- メトリック マルチリソース API では、クエリごとに 1 つの resourceType のみがサポートされます。これは、メトリック名前空間クエリ パラメーターの形式で指定する必要があります。
- メトリック マルチリソース API では、クエリごとに 1 つの Azure リージョンのみがサポートされ、これは region クエリ パラメーターの形式で指定する必要があります。
複数のリソースに対するメトリックのクエリの例
次の例は、個々のメトリック定義要求を示しています。
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 パスがサブスクリプション パスになったことと、region
および metricNamespace
クエリ パラメーターが追加されたことだけです。
GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/providers/microsoft.insights/metricdefinitions?api-version=2021-05-01®ion=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®ion=eastus&metricNamespace=microsoft.compute/virtualmachines&$filter=Microsoft.ResourceId eq '*'
Note
この例では、複数のリソース メトリック要求に対して Microsoft.ResourceId eq '*'
フィルターが追加されます。 この *
フィルターを指定すると、サブスクリプションとリージョンのデータが存在する仮想マシン リソースのそれぞれについて 1 つの独立した時系列が API から返されます。 フィルターがないと、API はすべての VM の平均 CPU を集計した 1 つの時系列を返します。 各リソースの時系列は、次の戻り値の例に示すように、各時系列エントリの Microsoft.ResourceId
メタデータ値によって区別されます。 このクエリでリソース ID が取得されない場合、空の時系列 "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": []
が返されました- 指定した時間の範囲とフィルターで利用可能なデータがない場合、空の時系列が返されます。 最も一般的な原因は、データを含まない時間の範囲を指定することです。 たとえば、時間の範囲を将来の日付に設定した場合などです。
- もう 1 つのよくある原因は、どのリソースにも一致しないフィルターを指定することです。 たとえば、サブスクリプションとリージョンの組み合わせのどのリソースにも存在しないディメンジョン値をフィルターで指定すると、
"timeseries": []
が返されます。
ワイルドカード フィルター
Microsoft.ResourceId eq '*'
などのワイルドカード フィルターを使用すると、API はサブスクリプションとリージョン内のすべての resourceId の時系列を返します。 サブスクリプションとリージョンの組み合わせにリソースが含まれない場合、空の時系列が返されます。 ワイルドカード フィルターを使用しない同じクエリは、サブスクリプションやリージョンなど、要求されるディメンジョン経由で要求されたメトリックを集約した単一の時系列を返します。401 認可エラー:
個別リソース メトリック API は、ユーザーがクエリ対象のリソースに対する監視閲覧者権限を持っていることを必要とします。 複数リソース メトリック API はサブスクリプション レベルの API であるため、ユーザーは、複数リソース メトリック API を使用するために、クエリ対象のサブスクリプションの監視閲覧者権限を持っている必要があります。 ユーザーがサブスクリプションのすべてのリソースに対して監視閲覧者権限を持っている場合でも、ユーザーがサブスクリプション自体に対する監視閲覧者権限を持っていないと、要求は失敗します。
次のステップ
- 監視の概要に関するページを確認します。
- Azure Monitor のサポートされるメトリックを表示します。
- Microsoft Azure Monitor REST API リファレンスを確認します。
- 新しい Azure Monitor クエリ クライアント ライブラリを確認してください
- Azure 管理ライブラリを確認します。
- Azure Monitor REST API を使用してアクティビティ ログ データを取得します。