Windows Virtual Desktop #60 ログ集約と活用 Virtual Machine編

この記事のWVDは”Windows Virtual Desktop Spring 2020 Release”が対象です。

環境構築編 の続きとなる、Windows Virtual Desktop のログを Azure Log Analytics に集約する話です。 Azure の標準機能で コントロールプレーンや仮想マシンのログを集約し、検索することが可能です。 なお、Virtual Machine編では Azure Virtual Machine の Metrics 情報の集約、ATP編では Defender ATP のログ集約もやってみます。

まずは Azure Monitor を作成します。 連携する Log Analytics のワークスペースも指定します。

ワークスペースのデータソース > 仮想マシン から今回の対象となる Session Host を選択します。

“接続”をクリックします。 接続完了までは3-4分かかります

接続が完了すると以下のように緑色のアイコンで正常性を確認できます。

次はパフォーマンスデータの収集の設定です。 詳細な手順は Microsoft Docs を参考にしてください。

詳細設定から Data > Windows Performance Counters を展開し、”Add selected performance counters” をクリックします。

取得間隔も変更できます。 今回は規模の小さなテストなので既定値の10秒のままとします。 何百台、何千台の Windows Virtual Desktop 環境ではログの保存量(=コスト)も考えてインターバルを調整するとよいと思います。 全体的な傾向を把握するのであれば60秒や180秒、300秒でもよいでしょうし、性能に関するトラブルシューティングの場合にはこの既定の10秒やもっと小さい数字にしてもよいかもしれません。 変更後は “Save”を忘れずにクリックしましょう。

最終的には以下の構成となりました。

収集したログデータを確認します。

Log Analytics ワークスペースの管理画面からログを選択し、クエリから”Virtual Machines” を選択します。 

サンプルのクエリーが多数用意されています。 以下、71個ですが、今回の Windows Virtual Desktop 環境で有用そうなものを太字にしてピックアップします。

  1. What data is being collected?
  2. Virtual Machine available memory
  3. Chart CPU usage trends
  4. Virtual Machine free disk space
  5. Track VM availability
  6. Reported errors
  7. Find Linux kernel events
  8. Find Linux kernel events
  9. Missing security or critical updates
  10. Members added to security groups
  11. Uses of clear text password
  12. Windows failed logins
  13. Search in multiple tables
  14. Using wild-cards
  15. Top 10 Virtual Machines by CPU utilization
  16. Bottom 10 Free disk space %
  17. Logical disk space % below threshold:
  18. Shut down Virtual Machines
  19. Not reporting VMs
  20. Stopped Windows services
  21. Updates available for Windows machines
  22. Updates available for Linux machines
  23. Summary of updates available across m
  24. Patch installation failure for your machin
  25. All Events in the past hour
  26. Events started
  27. Events by event source
  28. Events by event ID
  29. Warning events
  30. Count of warning events
  31. Events in OM between 2000 to 3000
  32. Computers restarts/shutdowns
  33. Windows Fireawall policy settings
  34. Windows Fireawall policy settings chang
  35. List IIS log entries
  36. Display breakdown respond codes
  37. Maximum time taken for each page
  38. Show 404 pages list
  39. Average HTTP request time
  40. Servers with internal server error
  41. Count IIS log entries by HTTP request m
  42. Count IIS log entries by HTTP user agent
  43. Count IIS log entries by client IP address
  44. IIS log entries for client IP
  45. Count of IIS log entries by URL
  46. Count of IIS log entries by host
  47. Total bytes traffic by client IP
  48. Bytes received by each IIS computer
  49. Bytes responded to clients by each IIS se
  50. Average HTTP request time by client IP
  51. All Syslog
  52. All Syslog with errors
  53. All Syslog with errors
  54. All Syslog by process name
  55. Agents that provide wire data
  56. IP Addresses of the agents providing wir
  57. All Outbound communications by Remot
  58. Bytes sent by Application Protocol
  59. Bytes received by Protocol Name
  60. Total bytes by IP version
  61. Remote IP addresses that have commun
  62. Processes that initiated or received net
  63. Amount of Network Traffic by Process
  64. What data is being collected?
  65. Virtual Machine available memory
  66. Chart CPU usage trends by computer
  67. Chart CPU usage trends by computer
  68. Track VM Availability using Heartbeat
  69. Top 10 Virtual Machines by CPU utilization
  70. Bottom 10 Free disk space %
  71. Logical disk space % below threshold

“Top 10 Virtual Machines by CPU utilization”

“Chart CPU usage trends by computer “

以上