Microsoft Dev Box の監視
Azure リソースに依存するクリティカルなアプリケーションとビジネス プロセスがある場合は、それらのリソースの可用性、パフォーマンス、操作を監視する必要があります。
この記事では、Microsoft Dev Box によって生成される監視データについて説明します。 Microsoft Dev Box では Azure Monitor が使用されます。 Azure Monitor を使用するすべての Azure サービスにとって共通する機能に詳しくない場合は、「Azure Monitor を使用した Azure リソースの監視」を参照してください。
データの監視
Microsoft Dev Box では、「Azure リソースからのデータの監視」で説明されている他の Azure リソースと同じ種類の監視データが収集されます。
Dev Box によって作成されるメトリックとログ メトリックの詳細については、「Dev Box 監視データのリファレンス」を参照してください。
収集とルーティング
プラットフォーム メトリックとアクティビティ ログは自動的に収集および格納されますが、診断設定を使用して他の場所にルーティングすることもできます。
リソース ログは、診断設定を作成して 1 つ以上の場所にルーティングするまでは収集および格納されません。
Azure portal、CLI、または PowerShell を使用して診断設定を作成するプロセスの詳細については、「Azure でプラットフォーム ログとメトリックを収集するための診断設定を作成する」を参照してください。 診断設定を作成するときは、収集するログのカテゴリを指定します。 Dev Box のカテゴリは、「Microsoft Dev Box 監視データのリファレンス」ページの一覧に記載されています。
デベロッパー センターの Azure 診断ログを構成する
DevCenter の Azure 診断ログを使用すると、デベロッパー センターでデータ プレーン操作の監査ログを表示できます。 これらのログは次のいずれかの宛先にルーティングできます。
- Azure ストレージ アカウント
- Log Analytics ワークスペース
この機能はすべてのデベロッパー センターで使用できます。
診断ログにより、基本的な使用状況に関する情報をデベロッパー センターからさまざまな種類のソースにエクスポートし、それらをカスタマイズした方法で使用できます。 データ プレーン監査ログは、デベロッパー センター内の開発ボックスの CRUD 操作に関する情報を公開します。 たとえば、開発ボックスで実行される開始コマンドと停止コマンドが含まれます。 このデータをエクスポートする方法の例を次に示します。
- BLOB ストレージにデータをエクスポートする
- CSV 形式でデータをエクスポートする
- Azure Monitor ログにデータをエクスポートし、自分の Log Analytics ワークスペースでデータを表示して照会する
デベロッパー センターで使用できるさまざまな種類のログの詳細については、DevCenter 診断ログのリファレンスに関するページを参照してください。
Azure Portal を使用したログの有効化
以下の手順に従って、Azure DevCenter リソースのログ管理を有効化します。
Azure portal にサインインします。
Azure portal で、デベロッパー センターに移動します。
[監視] セクションで、[診断設定] を選択します。
開いたページで [診断設定の追加] を選択します。
Azure Storage でログ記録を有効化する
ストレージ アカウントを使ってログを保存するには、次の手順に従ってください。
Note
これらの手順を完了するには、デベロッパー センターと同じリージョンのストレージ アカウントが必要です。 以下を参照してください:詳細については、「 Azure Storage アカウントの作成 」を参照してください。
[Diagnostic setting name](診断設定の名前) には、診断ログ設定の名前を入力します。
[ログ]で [データプレーン監査ログ] を選択します。
[宛先の詳細] で [ストレージ アカウントへのアーカイブ] を選択します。
ログのサブスクリプションとストレージ アカウントを選択します。
[保存] を選択します。
Log Analytics への送信
ログに Log Analytics を使用するには、次の手順に従います。
注意
これらの手順を完了するには、Log Analytics ワークスペースが必要です。 以下を参照してください:詳細については、「 Azure ポータルで Log Analytics ワークスペースを作成する 」を参照してください。
[Diagnostic setting name](診断設定の名前) には、診断ログ設定の名前を入力します。
[ログ]で [データプレーン監査ログ] を選択します。
[宛先の詳細] で、 [Log Analytics ワークスペースに送信する] を選択します。
ログのサブスクリプションと Log Analytics ワークスペースを選択します。
[保存] を選択します。
PowerShell を使用したログの有効化
以下の例は、Azure PowerShell コマンドレットによる診断ログを有効にする方法を示しています。
注意
Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を始めるには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。
ストレージ アカウントの診断ログを有効にする
Azure PowerShell にサインインします。
Connect-AzAccount
次のコマンドを使用して、ストレージ アカウントで診断ログを有効化します。 変数は、実際の値に置き換えてください。
$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 ワークスペースの診断ログを有効にする
Azure PowerShell にサインインします。
Connect-AzAccount
次のコマンドを使用して、Log Analytics ワークスペースの診断ログを有効化します。 変数は、実際の値に置き換えてください。
$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 で実行できる高度なクエリのほんの一部にすぎません。 詳細については、「Kusto クエリのサンプル」を参照してください。