Microsoft AZ-140: 監視、診断、トラブルシューティング — 学習ガイド
こちらの一部です: Microsoft Azure Virtual Desktop Specialty AZ-140 — 学習ガイド. 検証済みの解答で練習: Microsoft試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.
概要
Azure Virtual Desktop (AVD) における監視、診断、トラブルシューティングは、リソースレベルのプラットフォームログ、ゲスト内のテレメトリ、および分析を組み合わせて、問題を早期に検出し、根本原因を迅速に特定し、ユーザーエクスペリエンスを検証します。堅牢なアーキテクチャでは、Azure Monitor、Log Analytics、Azure Monitor Agent、データ収集ルール、および厳選されたワークブックを使用し、サービス正常性やユーザーに影響を与える状況に関するプロアクティブなアラートを設定します。このセクションでは、監視パイプラインの設計、診断の有効化、セッションホストからの適切なデータの収集、Kusto Query Language (KQL) を用いた分析、そしてクライアント接続、AVDエージェントの障害、FSLogixプロファイルの問題、リソースのボトルネックといった最も一般的な運用上の問題への対応方法について説明します。
AVD InsightsのためのAzure MonitorとLog Analyticsアーキテクチャ
Azure Virtual Desktop Insightsは、Azure Monitor WorkbooksとLog Analytics上に構築されたソリューションであり、AVDプラットフォームのリソースログとゲストOSのテレメトリを関連付けて、正常性、容量、およびユーザーエクスペリエンスのビューを提供します。その有効性は、2つのデータプレーンに依存します。
- 診断設定を介したAVDリソース(ホストプール、ワークスペース、アプリケーション グループ、およびAVDサービス)からのプラットフォーム/リソースログ。
- Azure Monitor Agent (AMA) とデータ収集ルール (DCR) を介したセッションホストからのゲストテレメトリ(Windowsイベントログやパフォーマンスカウンターを含む)。
ワークスペースのアーキテクチャと設計に関する考慮事項:
- 一元化されたワークスペースとランディングゾーンごとのワークスペース:リージョン的に近い単一のワークスペースは、クエリ、アラート、ガバナンスを簡素化します。非常に大規模な環境や厳格なデータ主権の要件がある場合は、複数のワークスペースが正当化されることがあります。レイテンシーとコストのため、不必要なリージョンをまたいだデータインジェストは避けてください。
- データ保持とコスト:調査期間や規制上のニーズに合わせて保持期間を決定します。一般的な運用上の保持期間は30~90日で、長期保存用にはストレージへのアーカイブを行います。適切な場合にのみ基本ログを有効にしてください。AVDの診断ログは、クエリパフォーマンスのために分析ログとして使用するのが最適です。
- マルチテナント/マルチサブスクリプション:Azure Monitorのリソース中心のアクセスとAzure RBACを使用して、運用チームにスコープを限定したクエリ権限を付与します。必要に応じて、SIEM用にログをEvent Hubsにストリーミングします。
- 依存関係の可視性:VM insightsを有効にするか、パフォーマンスカウンターを収集して、CPU、メモリ、ディスク、ネットワークをAVDのセッションおよび接続データと関連付けます。
AVD Insightsワークブックは、診断設定とゲスト内テレメトリの両方に依存します。どちらかが欠けていると、視覚化は不完全になります。
診断の有効化とテレメトリの収集
AVDリソースの診断設定
以下の各リソースタイプに対して診断設定を有効にし、Log Analyticsワークスペースに送信します。オプションで、長期保存のためにストレージにアーカイブしたり、外部の分析のためにEvent Hubsにストリーミングしたりすることもできます。
- ホストプール:Connection、HostRegistration、Checkpoint、Management、Error、NetworkDataなどのカテゴリを有効にします。これらは、接続試行、エージェントの登録状態の変更、セッションのチェックポイント、および管理操作をキャプチャします。
- アプリケーション グループとワークスペース:ManagementとErrorを有効にして、フィードの発行、割り当て、および構成の変更をキャプチャします。
- AVDサービスレベルのログ:利用可能な場合は、ErrorとManagementを有効にして、テナントに関連するサービス操作の可視性を確保します。
セッションホスト上のAzure Monitor AgentとDCR
- エージェントの選択:Azure Monitor Agent (AMA) を使用します。従来のLog Analyticsエージェント (MMA) は非推奨であり、重複や混乱を避けるために削除する必要があります。
- データ収集ルール (DCR):以下を収集するためのDCRを作成します。
- Windowsイベントログ:
- Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
- Microsoft-Windows-TerminalServices-LocalSessionManager/Operational
- Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational
- Microsoft-FSLogix-Apps/Operational and Admin
- SystemおよびApplication(コアOS、ネットワーク、VSS、SMB、ストレージ、プロファイル関連のイベント用)
- パフォーマンスカウンター:
- Processor(_Total)% Processor Time
- System\Processor Queue Length
- Memory\Available MBytes, Memory\Committed Bytes
- LogicalDisk(_Total)\Avg. Disk sec/Read, Avg. Disk sec/Write, Disk Transfers/sec, Free Megabytes
- Network Interface(*)\Bytes Total/sec, Output Queue Length
- Terminal Services\Active Sessions, Inactive Sessions, Total Sessions
- RemoteFX Graphics(*)\Frames Skipped/Second (server, network, client)
- Heartbeat(AMAによって有効化)でホストのライブネスを監視。
- Windowsイベントログ:
- スコープとガバナンス:DCRをホストプールのリソースグループに割り当てるか、タグを使用して動的なVMスコープに割り当てます。重複データや過剰なコストを防ぐため、同じカウンターやイベントチャネルを収集するDCRが重複しないようにします。
- VM insights:オプションでVM insightsを有効にすると、厳選されたパフォーマンスと依存関係のビューを利用できます。また、これによりInsightsMetricsが入力され、より豊富なパフォーマンストレンド分析が可能になります。
運用分析とトラブルシューティング技術
ブックとダッシュボード
- AVD Insightsブックを使用して、接続の成功/失敗率、セッション分布、ホストの登録状況、セッションホストのパフォーマンスなど、厳選された概要を把握します。ビジネスユニットやホストプール向けに、SLAに沿った主要なパフォーマンス指標(例:初回障害検出時間、ログオン所要時間の代理指標、セッション密度)を含むカスタムブックを作成します。
一般的な調査のためのKustoクエリ
- ステージおよびメッセージ別の接続失敗:
AzureDiagnostics
| where Category == "Connection"
| extend p = parse_json(Properties)
| summarize Attempts = count(), Failures = countif(tostring(p.Status) != "Success")
by FailureStage = tostring(p.FailureStage),
FailureMessage = tostring(p.FailureMessage)
| order by Failures desc
- ホストごとのセッション数とキャパシティの逼迫状況:
Perf
| where ObjectName == "Terminal Services" and CounterName in ("Active Sessions","Total Sessions")
| summarize Avg=count(), AvgValue=avg(CounterValue) by bin(TimeGenerated, 5m), Computer, CounterName
- エージェントの登録状態:
AzureDiagnostics
| where Category == "HostRegistration"
| extend p = parse_json(Properties)
| summarize Latest = arg_max(TimeGenerated, tostring(p.RegistrationState), tostring(p.Details))
by ResourceId
| where Latest_RegistrationState != "Registered"
- 高CPU使用率の検出:
Perf
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| summarize AvgCPU = avg(CounterValue) by Computer, bin(TimeGenerated, 5m)
| where AvgCPU > 85
- FSLogixのエラー:
Event
| where Source == "Microsoft-FSLogix-Apps"
| project TimeGenerated, Computer, EventID, RenderedDescription
| order by TimeGenerated desc
接続診断と一般的なクライアントの問題
- 検証するステージ:
- フィードの検出:ワークスペースの取得には、インターネットアクセスとAzure AD認証の成功が必要です。条件付きアクセスや時刻のずれによってトークンの取得がブロックされることがあります。デバイスのコンプライアンスポリシーとNTPの同期を確認してください。
- ブローカーとゲートウェイのネゴシエーション:ファイアウォールやプロキシを介して、AVDサービスエンドポイントへのアウトバウンドTCP 443が許可されていることを確認します。SSLインスペクションはWebSocket接続を中断させる可能性があるため、AVDエンドポイントをインターセプトから除外してください。
- RDPトランスポート:パブリックまたはマネージドネットワーク向けのRDP Shortpathが有効な場合、設計どおりにUDP 3390を許可します。ブロックされると、クライアントはTCPにフォールバックし、ユーザーエクスペリエンスが低下する可能性があります。
- 症状と原因:
- 頻繁な切断やビデオ品質の低下:UDPがブロックされているか、パケット損失が高い状態です。QoSとWANのキャパシティを確認し、リアルタイムトラフィックを優先してください。
- 「利用可能なリソースがありません」:ホストの登録に失敗したか、キャパシティが枯渇しています。エージェントの状態とセッション制限を確認してください。
- ログオンの遅延:プロファイルコンテナのアタッチ遅延、GPO処理、またはプロファイルパスに対するウイルス対策ソフトのリアルタイムスキャンが原因です。
Windowsイベントログ、リモートデスクトップコンポーネント、およびAVDエージェント
- 主要なサービス:Remote Desktop Services (TermService)、Remote Desktop Services Infrastructure Agent (RdAgent)、およびRemote Desktop Agent Loader (RDAgentBootLoader)。
- ディスク上のエージェントログ:C:\ProgramData\Microsoft\RDInfra\RDAgent\Logs および C:\ProgramData\Microsoft\RDInfra\RDAgentBootLoader\Logs。
- 関連するイベントチャネル:
- RdpCoreTS/Operational:トランスポートおよびプロトコルのエラー用。
- TerminalServices-LocalSessionManager/Operational:セッションのライフサイクル用。
- TerminalServices-RemoteConnectionManager/Operational:接続の承認と仲介用。
- エージェント登録のトラブルシューティング:
- DNS、時刻同期、およびアウトバウンド443を確認します。
- セッションホストがAVDサービスエンドポイントを名前解決し、到達できることを確認します。
- ホストが手動でオンボードされ、トークンが期限切れになった場合は、現在の登録トークンを再生成して適用します。
FSLogixのログとプロファイルのトラブルシューティング
- ログ:C:\ProgramData\FSLogix\Logs\Profile*.log および イベントビューアーの Microsoft-FSLogix-Apps。
- 一般的な障害モード:
- VHD(X)へのアクセス拒否または共有違反:共有とNTFSのACLを修正します。マルチセッションの重複が許可されていない場合は、ユーザープロファイルごとにアクティブなセッションが1つだけであることを確認します。
- ディスクフルまたはレイテンシのスパイク:ストレージのキャパシティとIOPSを監視します。大規模でIOPS負荷の高い環境では、PremiumまたはAzure NetApp Filesが必要になることがよくあります。
- Cloud Cache:CCDLocationsとキャッシュドライブの容量を確認します。WANが不安定だとログオン時間が増加する可能性があります。
- ベストプラクティス:
- ウイルス対策ソフトのオンアクセススキャンからVHD(X)のアタッチパスを除外します。
- redirections.xmlを使用して、サイズの大きい揮発性フォルダをプロファイルコンテナから除外します。
- Azure FilesのAD DS認証のためにKerberosを検証します。DNSとSPNが正しくなければなりません。
CPU、メモリ、ディスク、ネットワークの分析
- CPU:% Processor Timeが高く、System\Processor Queue LengthがvCPUあたり2を継続的に超える場合は、CPUの競合を示します。vCPUを増やすか、セッション密度を下げます。
- メモリ:Memory\Available MBytesが低く、ページング(Memory\Pages/sec)が高いと、処理の停止を引き起こします。RAMを追加するか、セッション密度を下げます。コミットリミットと負荷の高いアプリのワーキングセットを監視します。
- ディスク:プロファイルパスと一時パスでの読み取り/書き込みのレイテンシしきい値は、通常5~10ミリ秒未満です。LogicalDisk\Avg. Disk sec/ReadおよびWriteを監視します。ストレージクラスのミスマッチは、ログオンの遅延やアプリのI/Oの鈍化として現れます。
- ネットワーク:Network Interface\Bytes Total/secとOutput Queue Lengthは飽和状態を示します。TCPの再送信とパケット損失が多いとRDPの品質が低下します。AVDトラフィックに対するQoSの優先順位付けを確認してください。
プロアクティブなダッシュボード、アラート、サービス正常性
- ダッシュボード: ホストごとのセッション密度と設定された最大値の比較、エージェントの状態数 (登録済み vs. 未登録)、上位の接続失敗メッセージ、パフォーマンスのヒートマップを示すブックを公開します。
- アラート:
- 登録の失敗:
AzureDiagnostics
| where Category == "HostRegistration"
| extend p = parse_json(Properties)
| where tostring(p.RegistrationState) != "Registered"
- キャパシティの逼迫 (しきい値の例: 平均アクティブセッション数が10分間、ホストの上限から1以内の状態):
Perf
| where ObjectName == "Terminal Services" and CounterName == "Active Sessions"
| summarize AvgActive = avg(CounterValue) by Computer, bin(TimeGenerated, 10m)
| join kind=leftouter (
// Replace 20 with your per-host maximum sessions
datatable(Computer:string, MaxSessions:int) [
// Populate from CMDB or tag-driven mapping
]
) on Computer
| where AvgActive >= MaxSessions - 1
- ユーザー影響イベント: AVDの接続プロパティで利用可能な場合、接続失敗、FSLogixのアタッチエラー、またはログオン所要時間の急増時にトリガーします。
- リソース競合: CPU > 85%、Memory\Available MBytes < 500 MB、Disk Avg. sec/WriteまたはRead > 20 msが持続した場合にアラートを発行します。
- アクショングループ: アラートをメール、Teams、ITSM、Automation Runbook、またはFunctionsにルーティングし、自動スケールや修復を実行します。
- サービス正常性: Azure Virtual Desktop、Storage、Azure Files、Azure NetApp Files、Azure ADに対してAzure Service Healthアラートを構成し、サインイン、プロファイル、またはセッションに影響を与える可能性のある障害やメンテナンスについて、ユーザーより先に把握します。
実践的な問題シナリオ
Adobe Inc.が、Azure Files Premium上のFSLogixを使用しているプール型のWindows 11 Enterpriseマルチセッションホストプールで、ピーク時に断続的なAzure Virtual Desktopの切断と長いログオン時間が発生していると報告しました。
- サービスとネットワークの前提条件を確認する
- 理由: ホストの修正では対処できない外部要因を除外するため。
- アクション:
- 対象リージョンでDesktop VirtualizationまたはStorageに影響を与えるインシデントがないか、Azure Service Healthを確認します。
- ブランチのファイアウォールがアウトバウンドのTCP 443を許可し、AVDエンドポイントをSSLインスペクションしていないことを確認します。該当する場合は、Shortpath経由でRDP品質を向上させるためにUDP 3390が許可されていることを検証します。
- 診断パイプラインを検証する
- 理由: AVD Insightsは、障害とリソースのボトルネックを関連付けるために、リソースログとゲスト内テレメトリの両方を必要とするため。
- アクション:
- ホストプール、ワークスペース、アプリケーション グループで診断設定が有効になっており、Connection、HostRegistration、Checkpoint、Management、Error、NetworkDataのカテゴリが中央のLog Analyticsワークスペースに送信されていることを確認します。
- すべてのセッションホストにAMAがインストールされ、DCRがRDP関連のイベントログとパフォーマンスカウンターを収集していることを確認します。
- 接続の失敗とエージェントの正常性を分析する
- 理由: 頻繁な切断は、多くの場合、トランスポートのフォールバックやエージェント登録の不安定性と相関があるため。
- アクション:
- AVDの接続クエリを実行して、失敗の段階とメッセージを特定し、プロキシまたはトークン関連のエラーを切り分けます。
- HostRegistrationをクエリして未登録 (Unregistered) のホストを見つけます。存在する場合は、RDAgentBootLoaderとRdAgentを再起動し、DNSと時刻同期を確認し、登録トークンが期限切れの場合はホストを再登録します。
- ログオンの遅延とFSLogixプロファイルのアタッチ問題を調査する
- 理由: プロファイル操作は、長いログオン時間の主要な原因であるため。
- アクション:
- Microsoft-FSLogix-Appsログを確認して、アクセス拒否、共有違反、またはマウントのタイムアウトがないか調べます。共有とNTFSのACLを検証し、ウイルス対策スキャンからVHD(X)パスを除外します。
- Azure Files PremiumのメトリックとVMのパフォーマンスカウンターでディスクの待機時間を確認します。IOPSが一貫して容量を超えている場合は、ファイル共有のスループットを向上させるか、プロファイルをAzure NetApp Filesに移行します。
- リソースのボトルネックとキャパシティの逼迫を特定する
- 理由: 過負荷状態のホストは、リソース競合下でパフォーマンスの低下と切断の両方の症状を引き起こすため。
- アクション:
- パフォーマンスカウンターを使用して、持続的なCPU > 85%、低い利用可能メモリ、または高いディスク待機時間を検出します。ホストごとのセッション上限を減らすか、ホストをスケールアウトします。
- 自動スケールを有効化または調整して、ピーク前にキャパシティを追加します。スケールイン中にアクティブなセッションを保護するため、ドレインモードの動作を検証します。
- プロアクティブなアラートとダッシュボードを実装する
- 理由: 早期警告シグナルを検出することで、再発を防止するため。
- アクション:
- HostRegistrationが登録済み (Registered) でない場合、接続失敗の増加、FSLogixエラーの急増に対するアラートを作成します。
- ホストごとのアクティブセッション数と最大値、およびリソースのヒートマップを示すキャパシティダッシュボードを構築し、運用チームやサービスオーナーと共有します。
このアプローチは、外部依存関係のためのAzure Service Health、プラットフォームの可視性のための診断設定、ホストテレメトリのためのAMA+DCR、障害ドメインを切り分けるためのKQL駆動の分析、そしてネットワーク、エージェントの正常性、プロファイル、キャパシティにわたる的を絞った修復を組み合わせたものです。これにより、Adobe Inc.はユーザーエクスペリエンスを安定させ、将来の機能低下を防ぐことができます。
← セキュリティ、コンプライアンス、エンドポイント保護 · すべてのドメイン · レジリエンス、回復、移行 →
これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
試験に合格する →