Microsoft Dev Box を監視する

Azure リソースに依存するクリティカルなアプリケーションとビジネス プロセスがある場合は、それらのリソースの可用性、パフォーマンス、操作を監視する必要があります。

この記事では、Microsoft Dev Box によって生成される監視データについて説明します。 Microsoft Dev Box では Azure Monitor が使用されます。 Azure Monitor を使用するすべての Azure サービスに共通する Azure Monitor の機能に慣れていない場合は、「Azure Monitor を使用した Azure リソースの監視」を参照してください。

[前提条件]

Dev Box のデータ収集とルーティングを調べる

Dev Box では、「Azure リソースからのデータの監視」で説明されている他の Azure リソースと同じ種類の 監視データが収集されます。

  • プラットフォーム メトリックとアクティビティ ログは自動的に収集および格納されますが、このデータは診断設定を使用して他の場所にルーティングできます。

  • リソース ログは、診断設定を作成して 1 つ以上の場所にルーティングするまでは収集および格納されません。

Dev Box によって作成されたメトリックとログ メトリックの詳細については、「 Monitoring Dev Box data reference」を参照してください

Azure portal、CLI、または PowerShell を使用して診断設定を作成する詳細なプロセスについては、「Azure でプラットフォーム ログとメトリックを収集するための診断設定を作成する」を参照してください。 診断設定を作成するときは、収集するログのカテゴリを指定します。 Dev Box のカテゴリは、「Microsoft Dev Box 監視データのリファレンス」ページの一覧に記載されています。

デベロッパー センターの Azure 診断ログを構成する

DevCenter の Azure 診断ログを使用すると、デベロッパー センターでデータ プレーン操作の監査ログを表示できます。 ログは、Azure Storage アカウントまたは Log Analytics ワークスペースにルーティングできます。 この機能はすべてのデベロッパー センターで使用できます。

診断ログを使用すると、デベロッパー センターからさまざまなソースに基本的な使用状況情報をエクスポートして、カスタマイズされた方法で使用できます。 データ プレーン監査ログは、デベロッパー センター内の開発ボックスの CRUD 操作に関する情報を公開します。 たとえば、開発ボックスで実行される開始コマンドと停止コマンドが含まれます。 このデータをエクスポートする方法の例を次に示します。

  • Blob Storage にデータをエクスポートする
  • CSV (コンマ区切り値) 形式にデータをエクスポートする
  • Azure Monitor ログにデータをエクスポートし、自分の Log Analytics ワークスペースでデータを表示して照会する

デベロッパー センターで使用できるさまざまな種類のログの詳細については、「 Monitor Dev Box data reference」を参照してください。

Azure Portal を使用したログの有効化

Azure DevCenter リソースのログ記録を有効にするには、次の手順に従います。

  1. Azure portal にサインインします。

  2. Azure portal で、デベロッパー センターに移動します。

  3. [監視] セクションで、[診断設定] を選択します。

  4. [ 診断設定の追加] を選択します。

    [診断の追加] 設定を選択してデベロッパー センターを監視する方法を示すスクリーンショット。

    [ 診断設定] ダイアログが開きます。

    [診断設定] ダイアログのスクリーンショット。

Azure Storage でログ記録を有効化する

ストレージ アカウントを使用してログを格納するには、次の手順に従います。

Note

次の手順では、デベロッパー センターと同じリージョンに Azure Storage アカウント が必要です。

  1. [ 診断設定名 ] フィールドに、診断ログ設定の名前を入力します。

  2. [ログ][データプレーン監査ログ] を選択します。

  3. [宛先の詳細][ストレージ アカウントへのアーカイブ] を選択します。

  4. ログの サブスクリプションストレージ アカウント を選択します。

  5. [保存] を選択します。

Log Analytics への送信

ログに Log Analytics を使用するには、次の手順に従います。

  1. [ 診断設定名 ] フィールドに、診断ログ設定の名前を入力します。

  2. [ログ][データプレーン監査ログ] を選択します。

  3. [宛先の詳細] で、 [Log Analytics ワークスペースに送信する] を選択します。

  4. ログの サブスクリプションLog Analytics ワークスペース を選択します。

  5. [保存] を選択します。

PowerShell を使用したログの有効化

次の例は、Azure PowerShell コマンドレットを使用して診断ログを有効にする方法を示しています。

Note

Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を始めるには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

ストレージ アカウントの診断ログを有効にする

  1. Azure PowerShell にサインインします。

    Connect-AzAccount 
    
  2. 次のコマンドを使用して、ストレージ アカウントの診断ログを有効にします。 <placeholder>変数を実際の値に置き換えます。

    $rg = <your-resource-group-name>
    $devcenterid = <your-devcenter-ARM-resource-id>
    $storageacctid = <your-storage-account-resource-id>
    $diagname = <your-diagnostic-setting-name>
    
    $log = New-AzDiagnosticSettingLogSettingsObject -Enabled $true -Category DataplaneAuditEvent -RetentionPolicyDay 7 -RetentionPolicyEnabled $true
    
    New-AzDiagnosticSetting -Name $diagname -ResourceId $devcenterid -StorageAccountId $storageacctid -Log $log
    

Log Analytics ワークスペースの診断ログを有効にする

  1. Azure PowerShell にサインインします。

    Connect-AzAccount 
    
  2. 次のコマンドを使用して、Log Analytics ワークスペースの診断ログを有効にします。 <placeholder>変数を実際の値に置き換えます。

    $rg = <your-resource-group-name>
    $devcenterid = <your-devcenter-ARM-resource-id>
    $workspaceid = <your-log-analytics-workspace-resource-id>
    $diagname = <your-diagnostic-setting-name>
    
    $log = New-AzDiagnosticSettingLogSettingsObject -Enabled $true -Category DataplaneAuditEvent -RetentionPolicyDay 7 -RetentionPolicyEnabled $true
    
    New-AzDiagnosticSetting -Name $diagname -ResourceId $devcenterid -WorkspaceId $workspaceid -Log $log
    

診断ログの分析

このセクションでは、DevCenter 診断ログの既存のテーブルとその照会方法について説明します。

Azure Monitor 内のすべてのリソース ログには、同じフィールドの後にサービス固有のフィールドがあります。 「Azure リソース ログの共通およびサービス固有のスキーマ」には、共通スキーマの概要が記載されています。

DevCenter では、次の表にデータが格納されます。

テーブル 説明
DevCenterDiagnosticLogs デベロッパー センター内の開発ボックスまたは環境にデータ プレーンの要求/応答情報を格納します。
DevCenterResourceOperationLogs リソース正常性状態の変更に関する情報など、DevCenter リソースに関連する操作ログが含まれます。
DevCenterBillingEventLogs DevCenter リソースに関連する課金イベントを一覧表示します。 このログには、メーターごとに課金される数量と単位に関する情報が含まれます。

Kusto クエリのサンプルを調べる

デベロッパー センターで診断設定を有効にすると、Log Analytics ワークスペース内のテーブルの監査ログを表示できるようになります。

開発ボックスの監視に役立つログ検索に入力できるクエリをいくつか次に示します。

DevCenter のすべてのデータ プレーン ログを照会するには:

DevCenterDiagnosticLogs

1 つの開発ボックスに固有のフィルター処理されたデータ プレーン ログの一覧を照会するには:

DevCenterDiagnosticLogs
| where TargetResourceId contains "<devbox-name>"

操作結果の状態別にグループ化されたデータ プレーン ログのグラフを生成するには:

DevCenterDiagnosticLogs
| summarize count() by OperationResult
| render piechart

これらの例は、Kusto クエリ言語を使用して Monitor で実行できる豊富なクエリの小さなサンプルにすぎません。 詳細については、「 チュートリアル: 一般的な演算子について」を参照してください。