メトリックを Azure Monitor にアップロードする
定期的に、監視しているメトリックをエクスポートしてから、Azure にアップロードできます。 また、データのエクスポートとアップロードでは、Azure にデータ コントローラー、SQL マネージド インスタンス、および PostgreSQL サーバー リソースが作成および更新されます。
Azure Arc データ サービスを使用すると、必要に応じてメトリックを Azure Monitor にアップロードできます。これにより、メトリックの集計と分析、アラートの生成、通知の送信、自動化されたアクションのトリガーを行えます。
Azure Monitor にデータを送信することで、メトリック データをオフサイトで大規模に保存することも可能になるため、高度な分析のためにデータを長期間保存できるようになります。
Azure Arc データ サービスを使用するサイトが複数ある場合は、サイト全体のすべてのログとメトリックを収集する中央の場所として Azure Monitor を利用できます。
直接モードで Azure Arc データ コントローラーのメトリックをアップロードする
直接接続モードでは、メトリックのアップロードは自動モードでのみ設定できます。 メトリックのこの自動アップロードは、Azure Arc データ コントローラーのデプロイ中またはデプロイ後に設定できます。 Arc データ サービス拡張機能のマネージド ID は、メトリックのアップロードに使用されます。 マネージド ID には、監視メトリック発行者ロールが割り当てられている必要があります。
Note
Azure Arc データ コントローラーのデプロイ中にメトリックの自動アップロードが無効になっている場合は、最初に Arc データ コントローラー拡張機能のマネージド ID を取得し、自動アップロードを有効にする前に監視メトリック発行者ロールを付与する必要があります。 マネージド ID を取得し、必要なロールを付与するには、次の手順に従います。
この記事の例では、山かっこ < ... >
を使用して、スクリプトを実行する前に置き換える必要がある値を識別します。 山かっこと山かっこ内の値を置き換えます。
(1) Arc データ コントローラー拡張機能のマネージド ID を取得する
$Env:MSI_OBJECT_ID = (az k8s-extension show --resource-group <resource group> --cluster-name <connectedclustername> --cluster-type connectedClusters --name <name of extension> | convertFrom-json).identity.principalId
#Example
$Env:MSI_OBJECT_ID = (az k8s-extension show --resource-group myresourcegroup --cluster-name myconnectedcluster --cluster-type connectedClusters --name ads-extension | convertFrom-json).identity.principalId
(2) マネージド ID にロールを割り当てる
監視メトリック発行者 ロールを割り当てるには次のコマンドを実行します。
az role assignment create --assignee $Env:MSI_OBJECT_ID --role 'Monitoring Metrics Publisher' --scope "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP_NAME"
メトリックの自動アップロードは、次のように有効にできます。
az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-metrics true
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-metrics true
Azure Monitor へのメトリックの自動アップロードを無効にするには、次のコマンドを実行します。
az arcdata dc update --name <name of datacontroller> --resource-group <resource group> --auto-upload-metrics false
#Example
az arcdata dc update --name arcdc --resource-group <myresourcegroup> --auto-upload-metrics false
間接モードで Azure Arc データ コントローラーのメトリックをアップロードする
間接接続モードでは、メトリックのアップロードにサービス プリンシパルが使用されます。
前提条件
続行する前に、必要なサービス プリンシパルを作成して、適切なロールに割り当てていることを確認してください。 詳細については、次の情報を参照してください。
環境変数を設定して確認する
環境変数に SPN 機関の URL を設定します。
$Env:SPN_AUTHORITY='https://login.microsoftonline.com'
必要に応じて、必要なすべての環境変数が設定されていることを調べて確認します。
$Env:SPN_TENANT_ID
$Env:SPN_CLIENT_ID
$Env:SPN_CLIENT_SECRET
$Env:SPN_AUTHORITY
メトリックを Azure Monitor にアップロードする
Azure Arc および Azure Arc 対応 PostgreSQL によって有効にされた SQL Managed Instance のメトリックをアップロードするには、次の CLI コマンドを実行します。
- 指定したファイルにすべてのメトリックをエクスポートします。
Note
コマンド az arcdata dc export
を使用して使用状況および課金情報、メトリック、ログをエクスポートするには、今のところ SSL 検証をバイパスする必要があります。 SSL 検証をバイパスするように求めるメッセージが表示されます。または、プロンプトを表示しないように環境変数 AZDATA_VERIFY_SSL=no
を設定できます。 現在、データ コントローラー エクスポート API に対して SSL 証明書を構成する方法はありません。
az arcdata dc export --type metrics --path metrics.json --k8s-namespace arc
メトリックを Azure Monitor にアップロードします。
az arcdata dc upload --path metrics.json
Note
Azure Arc 対応データ インスタンスが最初のアップロード用に作成された後、少なくとも 30 分間待機します。
Azure Monitor では過去 30 分間のメトリックのみが受け入れられるため、メトリックに対して
export
の後に直ちにupload
を実行してください。 詳細情報。
エクスポート中に "メトリックを取得できませんでした" というエラーが表示された場合は、次のコマンドを実行して、データ収集が true
に設定されているかどうかを確認します。
az arcdata dc config show --k8s-namespace arc --use-k8s
"security セクション" を参照してください
"security": {
"allowDumps": true,
"allowNodeMetricsCollection": true,
"allowPodMetricsCollection": true,
},
allowNodeMetricsCollection
プロパティと allowPodMetricsCollection
プロパティが true
に設定されているかどうかを確認します。
ポータルでメトリックを表示する
メトリックがアップロードされたら、Azure portal で表示できるようになります。
Note
ポータルでメトリックを表示する前に、アップロードしたデータが処理されるまでに数分かかる場合があることに注意してください。
メトリックを表示するには、Azure portal に移動します。 次に、検索バーに名前を入力し、目的のデータベース インスタンスを検索します。
CPU 使用率は [概要] ページで確認できます。または、より詳細なメトリックが必要な場合は、左側のナビゲーション ウィンドウでメトリックをクリックできます。
メトリックの名前空間として [SQL サーバー] または [postgres] を選択します。
視覚化するメトリックを選択します (複数選択することもできます)。
頻度を過去 30 分に変更します。
Note
メトリックをアップロードできるのは過去 30 分間のみです。 Azure Monitor では、30 分より古いメトリックは拒否されます。
アップロードの自動化 (省略可能)
メトリックとログをスケジュールに基づいてアップロードする場合は、スクリプトを作成して、タイマーで数分ごとに実行できます。 次に、Linux シェル スクリプトを使用してアップロードを自動化する例を示します。
お好きなテキスト エディターまたはコード エディターで、ファイルに次のスクリプトを追加し、.sh
(Linux/Mac)、.cmd
、.bat
、.ps1
などのスクリプト実行可能ファイルとして保存します。
az arcdata dc export --type metrics --path metrics.json --force --k8s-namespace arc
az arcdata dc upload --path metrics.json
スクリプト ファイルを実行可能にする
chmod +x myuploadscript.sh
20 分ごとにスクリプトを実行します。
watch -n 1200 ./myuploadscript.sh
Cron や Windows タスク スケジューラのようなジョブ スケジューラを使用することも、Ansible、Puppet、Chef のようなオーケストレーターを使用することもできます。
使用状況、メトリックのエクスポートとアップロードに関する一般的なガイダンス
Azure Arc 対応データ サービスに対する作成、読み取り、更新、削除 (CRUD) 操作は、課金および監視の目的でログに記録されます。 これらの CRUD 操作を監視し、使用量を適切に計算するバックグラウンド サービスがあります。 実際の使用状況または使用量の計算は、スケジュールに従って、バックグラウンドで実行されます。
使用状況のアップロードは 1 日に 1 回だけ実行してください。 使用状況情報をエクスポートし、同じ 24 時間以内に複数回アップロードすると、リソースの使用状況ではなく Azure portal のリソース インベントリのみが更新されます。
メトリックをアップロードする場合、Azure Monitor では過去 30 分間のデータのみが受け入れられます (詳細を参照)。 メトリックをアップロードするためのガイダンスは、エクスポート ファイルを作成した直後にメトリックをアップロードして、Azure portal でデータセット全体を表示できるようにすることです。 たとえば、午後 2:00 にメトリックをエクスポートし、午後 2:50 にアップロード コマンドを実行した場合などです。 Azure Monitor では過去 30 分間のデータのみが受け入れられるため、ポータルにデータが表示されない場合があります。
関連するコンテンツ
使用状況データ、メトリック、およびログを Azure Monitor にアップロードする