使用状況データ、メトリック、およびログを Azure にアップロードする

課金目的の使用状況情報、監視メトリック、およびログを定期的にエクスポートし、Azure にアップロードできます。 これらの 3 種類のデータのエクスポートとアップロードでは、Azure でデータ コントローラーと、SQL マネージド インスタンス リソースも作成および更新されます。

使用状況データ、メトリック、またはログをアップロードする前に、次のことを行う必要があります。

この記事の例では、山かっこ < ... > を使用して、スクリプトを実行する前に置き換える必要がある値を識別します。 山かっこと山かっこ内の値を置き換えます。

ツールをインストールする

必要なツールは次のとおりです。

  • Azure CLI (az)
  • arcdata 拡張機能

ツールのインストールに関する記事を参照してください。

リソース プロバイダーの登録

Azure にメトリックまたはユーザー データをアップロードする前に、Azure サブスクリプションに Microsoft.AzureArcData リソース プロバイダーが登録されていることを確認する必要があります。

リソース プロバイダーを確認するには、次のコマンドを実行します。

az provider show -n Microsoft.AzureArcData -o table

リソース プロバイダーがサブスクリプションに現在登録されていない場合は、登録できます。 登録するには、次のコマンドを実行します。 コマンドが完了するまでに 1 分から 2 分かかる場合があります。

az provider register -n Microsoft.AzureArcData --wait

サービス プリンシパルを作成する

使用状況とメトリックのデータをアップロードするには、サービス プリンシパルが使用されます。

次のコマンドを実行して、メトリック アップロードのサービス プリンシパルを作成します。

Note

サービス プリンシパルを作成するには、Azure で一定のアクセス許可を持っている必要があります。

サービス プリンシパルを作成するには、次の例を更新します。 <ServicePrincipalName>SubscriptionIdresourcegroup を実際の値で置き換えてコマンドを実行します。

az ad sp create-for-rbac --name <ServicePrincipalName> --role Contributor --scopes /subscriptions/<SubscriptionId>/resourceGroups/<resourcegroup>

以前にサービス プリンシパルを作成しており、単に最新の資格情報の取得が必要な場合は、次のコマンドを実行して資格情報をリセットします。

az ad sp credential reset --name <ServicePrincipalName>

たとえば、azure-arc-metrics という名前のサービス プリンシパルを作成するには、次のコマンドを実行します。

az ad sp create-for-rbac --name azure-arc-metrics --role Contributor --scopes /subscriptions/<SubscriptionId>/resourceGroups/myresourcegroup

出力例:

"appId": "<appId>",
"displayName": "azure-arc-metrics",
"name": "http://azure-arc-metrics",
"password": "<password>",
"tenant": "<tenant>"

後で使用するために、appIdpasswordtenant の値を環境変数に保存します。 これらの値は、グローバル一意識別子 (GUID) の形式です。

SET SPN_CLIENT_ID=<appId>
SET SPN_CLIENT_SECRET=<password>
SET SPN_TENANT_ID=<tenant>

サービス プリンシパルを作成した後、サービス プリンシパルを適切なロールに割り当てます。

サービス プリンシパルにロールを割り当てる

こちらのコマンドを実行して、サービス プリンシパルを、データベース インスタンスのリソースが配置されているサブスクリプションの Monitoring Metrics Publisher ロールに割り当てます。

Note

Windows 環境から実行する場合は、ロール名に二重引用符を使用する必要があります。

az role assignment create --assignee <appId> --role "Monitoring Metrics Publisher" --scope subscriptions/<SubscriptionID>/resourceGroups/<resourcegroup>

出力例:

{
  "canDelegate": null,
  "id": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/roleAssignments/<globally unique identifier>",
  "name": "<globally unique identifier>",
  "principalId": "<principal id>",
  "principalType": "ServicePrincipal",
  "roleDefinitionId": "/subscriptions/<Subscription ID>/providers/Microsoft.Authorization/roleDefinitions/<globally unique identifier>",
  "scope": "/subscriptions/<Subscription ID>",
  "type": "Microsoft.Authorization/roleAssignments"
}

サービス プリンシパルのロールの確認

az role assignment list --scope subscriptions/<SubscriptionID>/resourceGroups/<resourcegroup> -o table

サービス プリンシパルが適切なロールに割り当てられたら、メトリックまたはユーザー データのアップロードに進むことができます。

ログ、メトリック、または使用状況データをアップロードする

ログ、メトリック、または使用状況データをアップロードするための具体的な手順は、アップロードする情報の種類によって異なります。

ログを Azure Monitor にアップロードする

メトリックを Azure Monitor にアップロードする

使用状況データを Azure にアップロードする

使用状況、メトリックのエクスポートとアップロードに関する一般的なガイダンス

Azure Arc 対応データ サービスに対する作成、読み取り、更新、削除 (CRUD) 操作は、課金および監視の目的でログに記録されます。 これらの CRUD 操作を監視し、使用量を適切に計算するバックグラウンド サービスがあります。 実際の使用状況または使用量の計算は、スケジュールに従って、バックグラウンドで実行されます。

使用状況のアップロードは 1 日に 1 回だけ実行してください。 使用状況情報をエクスポートし、同じ 24 時間以内に複数回アップロードすると、リソースの使用状況ではなく Azure portal のリソース インベントリのみが更新されます。

Note

使用状況データは、直接接続モードでデプロイされている Azure Arc データ コントローラーに自動的にアップロードされることに注意してください。

メトリックをアップロードする場合、Azure Monitor では過去 30 分間のデータのみが受け入れられます (詳細を参照)。 メトリックをアップロードするためのガイダンスは、エクスポート ファイルを作成した直後にメトリックをアップロードして、Azure portal でデータセット全体を表示できるようにすることです。 たとえば、午後 2:00 にメトリックをエクスポートし、午後 2:50 にアップロード コマンドを実行した場合などです。 Azure Monitor では過去 30 分間のデータのみが受け入れられるため、ポータルにデータが表示されない場合があります。

サービス プリンシパルについて

課金データを Azure にアップロードして Azure portal に表示する

Azure portal で Azure Arc データ コントローラー リソースを表示する