次の方法で共有


Azure Virtual Desktop 用の Log Analytics に診断データを送信する

Azure Virtual Desktop は、他の多くの Azure サービスのような監視とアラートに Azure Monitor を使用します。 これにより、管理者は 1 つのインターフェイスで問題を特定できます。 サービスは、ユーザーアクションと管理アクションの両方のアクティビティ ログを作成します。 各アクティビティ ログは、次のカテゴリに分類されます。

カテゴリ 説明
経営活動 API または PowerShell を使用して Azure Virtual Desktop オブジェクトを変更しようとすると成功するかどうか。
フィード ユーザーがワークスペースを正常にサブスクライブできるかどうか。
接続 ユーザーがサービスへの接続を開始して完了したとき。
ホストの登録 接続時にセッション ホストがサービスに正常に登録されたかどうか。
エラー ユーザーが特定のアクティビティに関する問題に遭遇する場所。
チェックポイント 到達したアクティビティの有効期間内の特定の手順。
エージェントの正常性状態 各セッション ホストにインストールされている Azure Virtual Desktop エージェントの正常性と状態を監視します。
Network 推定ラウンド トリップ時間など、詳細を監視するユーザー セッションの平均ネットワーク データ。
接続グラフィックス Azure Virtual Desktop グラフィックス ストリームからのパフォーマンス データ。
セッション ホスト管理アクティビティ セッション ホストの管理アクティビティ。
自動スケーリング スケーリング操作。

azure Virtual Desktop に到達しないConnectionsは、診断 ロール サービス自体が Azure Virtual Desktop の一部であるため、診断結果には表示されません。 Azure Virtual Desktop 接続の問題は、ユーザーがネットワーク接続の問題を経験している場合に発生する可能性があります。

Azure Monitor を使用すると、Azure Virtual Desktop データを分析し、すべて同じツール内で仮想マシン (VM) パフォーマンス カウンターを確認できます。 この記事では、Azure Virtual Desktop 環境で診断を有効にする方法の詳細について説明します。

注:

Azure で VM を監視する方法については、「Azure Monitor を 使用した Azure 仮想マシンの監視」を参照してください。 また、セッション ホストでのユーザー エクスペリエンスの理解を深めるために、 Azure Virtual Desktop Insights 用語集 を確認してください。

前提条件

Log Analytics で Azure Virtual Desktop を使用する前に、次のものが必要です。

診断 データをワークスペースにプッシュする

Azure Virtual Desktop オブジェクトからワークスペースの Log Analytics に診断データをプッシュできます。 この機能は、最初にオブジェクトを作成するときにすぐに設定できます。

新しいオブジェクトの Log Analytics を設定するには:

  1. Azure portalにサインインし、Azure Virtual Desktop に移動します。

  2. ログとイベントをキャプチャするオブジェクト (ホスト プール、アプリケーション グループ、ワークスペースなど) に移動します。

  3. 画面の左側にあるメニューで [ 診断設定 ] を選択します。

  4. 画面の右側に表示されるメニューで [ 診断設定の追加] を選択します。

    [診断設定] ページに表示されるオプションは、編集するオブジェクトの種類によって異なります。

    たとえば、アプリケーション グループの診断を有効にすると、チェックポイント、エラー、管理を構成するためのオプションが表示されます。 ワークスペースの場合、これらのカテゴリは、ユーザーがアプリの一覧をサブスクライブするタイミングを追跡するようにフィードを構成します。 診断設定の詳細については、「 Azure でリソース ログとメトリックを収集するための診断設定を作成する」を参照してください。

    重要

    監視する Azure Resource Manager オブジェクトごとに診断を有効にしてください。 診断が有効になった後、アクティビティでデータを使用できるようになります。 最初のセットアップ後、数時間かかる場合があります。

  5. 設定構成の名前を入力し、[ Log Analytics に送信] を選択します。 使用する名前にはスペースを含めず、 Azure の名前付け規則に準拠する必要があります。 ログの一部として、Log Analytics に追加するすべてのオプション (チェックポイント、エラー、管理など) を選択できます。

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

注:

Log Analytics では、 Event Hubs にデータをストリーミングするか、ストレージ アカウントにアーカイブするオプションが提供されます。 この機能の詳細については、「Azure 監視データをイベント ハブにStreamしAzure リソース ログをストレージ アカウントにアーカイブする」を参照してください。

Log Analytics にアクセスする方法

Azure portalまたは Azure Monitor で Log Analytics ワークスペースにアクセスできます。

Log Analytics ワークスペースで Log Analytics にアクセスする

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

  2. Log Analytics ワークスペースを検索します

  3. [サービス] で、[ Log Analytics ワークスペース] を選択します。

  4. 一覧から、Azure Virtual Desktop オブジェクト用に構成したワークスペースを選択します。

  5. ワークスペースに入ったら、[ログ] を選択 します検索機能を使用してメニューリストを除外できます。

Azure Monitor で Log Analytics にアクセスする

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

  2. [監視] を検索して選択 します

  3. [ ログ] を選択します

  4. ログページの指示に従って、クエリのスコープを設定します。

  5. 診断のクエリを実行する準備ができました。 すべての診断 テーブルには、"WVD" プレフィックスが付いています。

注:

Azure Monitor ログに格納されているテーブルの詳細については、「Azure Monitor データ リファレンス」を参照してください。 Azure Virtual Desktop に関連するすべてのテーブルのプレフィックスは "WVD" です。

診断イベントを送信するためのケイデンス

完了すると、診断イベントが Log Analytics に送信されます。

Log Analytics では、接続アクティビティに対して次の中間状態のレポートのみがレポートされます。

  • 開始: ユーザーがリモート デスクトップ クライアントでアプリまたはデスクトップを選択して接続したとき。
  • 接続済み: アプリまたはデスクトップがホストされている VM にユーザーが正常に接続したとき。
  • 完了: ユーザーまたはサーバーがセッションを切断すると、アクティビティが発生しました。

クエリの例

Azure Monitor Log Analytics UI を使用してクエリの例にアクセスします。

  1. Log Analytics ワークスペースに移動し、[ログ] を選択 します。 クエリ UI の例が自動的に表示されます。
  2. フィルターを [カテゴリ] に変更します。
  3. [Azure Virtual Desktop] を選択して、使用可能なクエリを確認します。
  4. [ 実行] を 選択して、選択したクエリを実行します。

Azure Monitor Log Analytics の保存済みクエリのサンプル クエリ インターフェイスの詳細を確認します。

次のクエリ リストでは、1 人のユーザーの接続情報または問題を確認できます。 これらのクエリは 、Log Analytics クエリ エディターで実行できます。 クエリごとに、 userupn を検索するユーザーの UPN に置き換えます。

1 人のユーザーのすべての接続を検索するには:

WVDConnections
|where UserName == "userupn"
|take 100
|sort by TimeGenerated asc, CorrelationId

ユーザーが 1 日に接続した回数を確認するには:

WVDConnections
|where UserName == "userupn"
|take 100
|sort by TimeGenerated asc, CorrelationId
|summarize dcount(CorrelationId) by bin(TimeGenerated, 1d)

ユーザー別にセッション期間を検索するには:

let Events = WVDConnections | where UserName == "userupn" ;
Events
| where State == "Connected"
| project CorrelationId , UserName, ResourceAlias , StartTime=TimeGenerated
| join (Events
| where State == "Completed"
| project EndTime=TimeGenerated, CorrelationId)
on CorrelationId
| project Duration = EndTime - StartTime, ResourceAlias
| sort by Duration asc

特定のユーザーのエラーを見つけるには:

WVDErrors
| where UserName == "userupn"
|take 100

他のユーザーに対して特定のエラーが発生したかどうかを調べるには、

WVDErrors
| where CodeSymbolic =="ErrorSymbolicCode"
| summarize count(UserName) by CodeSymbolic

注:

  • ユーザーがフル デスクトップ セッションを起動すると、セッションでのアプリの使用状況は、 WVDCheckpoints テーブルのチェックポイントとして追跡されません。
  • WVDConnections テーブルの [ResourcesAlias] 列には、ユーザーがフル デスクトップまたは発行済みアプリに接続しているかどうかを示します。 列には、接続中に開く最初のアプリのみが表示されます。 ユーザーが開いた公開済みアプリはすべて、 WVDCheckpointsで追跡されます。
  • WVDErrorsテーブルには、管理エラー、ホスト登録の問題、およびユーザーがアプリまたはデスクトップの一覧をサブスクライブしている間に発生するその他の問題が表示されます。
  • WVDErrors テーブルは、管理者タスクによって解決できる問題を特定するのにも役立ちます。 ServiceErrorの値は、常にこれらの種類の問題のfalseと等しい必要があります。 ServiceErrortrueと等しい場合は、問題を Microsoft にエスカレートする必要があります。 エスカレートするエラーに 対して CorrelationID を指定してください。
  • 接続の問題をデバッグするときに、接続イベントが完了した場合でもクライアント情報が見つからない場合があります。 これは、 WVDConnections テーブルと WVDCheckpoints テーブルに適用されます。

次の手順