AVDで攻めのアラート設定を試す!

AVDの監視機能として分析情報が提供されています。分析情報では、AVDの利用状況がダッシュボードにて提供されており、管理者は一目で状況の把握ができるようになっております。
ただ、この分析情報ではアラート設定が提供されていないので、障害やリソース枯渇などに気付きにくいかと思います。そこで、今回は、先手を打つべくアラートを設定してみたいと思います。

各AVDのリソースから取得したログをベースにアラートを作成していきます。

・AVD管理基盤=サービス正常性
・ホストプール=診断ログ
・セッションホスト=イベントログ+メトリック
・ストレージ=メトリック

設定しておきたいアラート一覧
【AVD管理基盤】

AVD可用性の確認
>障害が発生している場合は、サポートに確認して下さい。
・AVD-ServiceHealth-Service Issue
※[Windows Virtual Desktop]-[サービスの問題]

可用性に影響のある計画メンテナンスの確認
・AVD-ServiceHealth-Planned Maintenance
※[Windows Virtual Desktop]-[計画メンテナンス]

使用状況を改善するアップデート情報。アクションが必要な場合は対応して下さい。
・AVD-ServiceHealth-Health Advisory
※[Windows Virtual Desktop]-[正常性の勧告]

可用性に影響のあるセキュリティに関する情報。アクションが必要な場合は対応して下さい。
・AVD-ServiceHealth-Security
※[Windows Virtual Desktop]-[セキュリティ アドバイザリ]

【ホストプール】

ホストプール単位でのセッション使用率の確認
>セッションホストの追加を検討して下さい。
・AVD-HostPool-Capacity 95% [Sev1]
・AVD-HostPool-Capacity 85% [Sev2]
・AVD-HostPool-Capacity 50% [Sev3]
※[AzureDiagnostics]

長時間、切断状態にあるユーザーを確認
>セッションタイムアウト値の設定を検討して下さい。
・AVD-HostPool-Disconnected User over 72 Hours [Sev1]
・AVD-HostPool-Disconnected User over 24 Hours [Sev2]
※[WVDConnections]

ホストプールのリソース状況を確認
>ホストプールの正常性を確認して下さい。
・AVD-HostPool-No Resources Available [Sev1]
※[WVDConnections]

クライアント~セッションホストまでのネットワーク状況の確認
>遅延が発生していないか確認して下さい。
・AVD-HostPool-User Connection Failed [Sev3]
※[WVDConnections][WVDErrors][WVDCheckpoints]

【セッションホスト】

セッションホストの残メモリの確認
>セッション数の上限を減らすか、VMのサイズアップを検討して下さい。
・AVD-VM-Available Memory Less Than 1GB [Sev1]
・AVD-VM-Available Memory Less Than 2GB [Sev2]
※[Available Memory Bytes]

ユーザープロファイルの残容量の確認
>プロファイル容量の拡張を検討して下さい。
・AVD-VM-FSLogix Profile Failed (Less Than 2% Free Space) [Sev1]
・AVD-VM-FSLogix Profile Failed (Less Than 5% Free Space) [Sev2]
※[Event:33or34][WVDAgentHealthStatus]

セッションホスト~ファイルサーバー間のネットワーク状況の確認
・AVD-VM-FSLogix Profile Failed due to Network Issue [Sev1]
※[Event:43][WVDAgentHealthStatus]

プロファイルディスクのマウント状況の確認
・AVD-VM-FSLogix Profile Disk Failed to Attach [Sev1]
※[Event52or40][WVDAgentHealthStatus]

FSLogixサービス稼働状況の確認
>サービス[frxsvc][frxccds]の稼働状況の確認
・AVD-VM-FSLogix Profile Service Disabled [Sev1]
※[Event:60][WVDAgentHealthStatus]

プロファイルディスクの圧縮状況の確認
・AVD-VM-FSLogix Profile Disk Compaction Failed [Sev1]
※[Event:62or63][WVDAgentHealthStatus]

プロファイルディスクのマウント状況の確認
>他のセッションホストにマウントしていないか確認
・AVD-VM-FSLogix Profile Disk Attached to another VM [Sev2]
※[Event:51][WVDAgentHealthStatus]

セッションホストの正常性の確認
・AVD-VM-Health Check Failure [Sev1]
※[WVDAgentHealthStatus]

セッションホストのCPU使用率の確認
>セッション数の上限を減らすか、VMのサイズアップを検討して下さい。
・AVD-VM-High CPU 95 Percent [Sev1]
・AVD-VM-High CPU 85 Percent [Sev2]
※[Percentage CPU]

セッションホストのローカルディスクの空き容量の確認
>不要なデータを削除するか、より大容量なディスクを検討して下さい。
・AVD-VM-Local Disk Free Space 5% [Sev1]
・AVD-VM-Local Disk Free Space 10% [Sev2]
※[Perf][WVDAgentHealthStatus]

セッションホスト(Personal)の正常性を確認
>別のセッションホストへの再割り当てを検討して下さい。
・AVD-VM-Personal Assigned Health Check Failure [Sev1]
※[AzureDiagnostics]

セッションホストのローカルディスクへの帯域使用率の確認
>よりパフォーマンスが良いディスクへの変更を検討して下さい。
・AVD-VM-OS Disk Bandwidth Avg 95% [Sev1]
・AVD VM-OS Disk Bandwidth Avg 85% [Sev2]
※[OS Disk Bandwidth Consumed Percentage]

【ストレージ】

ANFボリュームの空き容量の確認
>不要なデータを削除するか、ボリュームの拡張を検討して下さい。
・AVD-Storage-Low Space on ANF Share-5 Percent Remaining-{volname} [Sev1]
・AVD-Storage-Low Space on ANF Share-15 Percent Remaining-{volname} [Sev2]
※[Percentage Volume Consumed Size]

AzureFilesボリュームの空き容量の確認
>不要なデータを削除するか、ボリュームの拡張を検討して下さい。
・AVD-Storage-Low Space on Azure File Share-5% Remaining [Sev1]
・AVD-Storage-Low Space on Azure File Share-15% Remaining [Sev2]
※[AzureDiagnostics]

AzureFiles単体の応答遅延の確認
>AzureFilesとセッションホストは同じリージョンに設置して下さい。
・AVD-Storage-Over 100ms Latency for Storage-{storacctname} [Sev1]
・AVD-Storage-Over 50ms Latency for Storage-{storacctname} [Sev2]
※[Success Server Latency]

セッションホスト~AzureFiles間のネットワーク遅延の確認
>AzureFilesとセッションホストは同じリージョンに設置して下さい。
・AVD-Storage-Over 100ms Latency Between Client-Storage-{storacctname} [Sev1]
・AVD-Storage-Over 50ms Latency Between Client-Storage-{storacctname} [Sev2]
※[Success E2E Latency]

AzureFilesへのIOPS負荷の確認
>ストレージパフォーマンスの増強を検討して下さい。
・AVD-Storage-Possible Throttling Due to High IOPs-{storacctname} [Sev2]
※[Transactions]

AzureFilesの可用性の確認
>障害が発生している場合は、サポートに確認下さい。
・AVD-Storage-Azure Files Availability-{storacctname} [Sev1]
※[Availability]


それでは、やってみよう!!

上記アラートを一気に設定します。

アラートを設定する前に下記を構築している必要があります。

・AVD分析情報の設定
ーホストプールの診断設定
ーワークスペースの診断設定
ーLog Analytics Workspace
・Azure Files or Azure NetApp Files (オプション)

設定は簡単、このテンプレートを展開するだけです。
Azure Monitor Baseline Alerts

Using Custom Script Location:カスタムスクリプトを指定
Opt-Out of Telemetry:テレメトリーデータの送信
Use New or Existing Resource Group:アラートの保存先となるリソースグループ
Resource Group Name for AVD Alerts:リソースグループ名
Alert Name Prefix:アラートリソース名の先頭に付く名前
User Email or Distribution Group:アラート通知の送信先メールアドレス
Enviroment Type:アラートリソース名の後尾に付く名前
Allow Alerts to Auto-Resolve:閾値内に戻った際には、自動的に解決済みにする
Insights Log Analytics Workspace:AVDログを保存しているワークスペースを指定
VMs in separate Resouce Group:セッションホストが複数のRGに別れている場合
AVD Resource Group:セッションホストが含まれているリソースグループを指定
Host Pools:アラートを設定したいホストプールを指定
Configure Alerts for Azure Files:アラートを設定したいAzureFilesを指定
Configure Alerts for Azure NetApp Volumes:アラートを設定したいANFを指定

設定はたったのこれだけ! 10分ほどで完了します。

作成したリソースグループを確認すると、HostPool用RunbookとStorage用Runbookがあり、Automationで定期的に実行してログをLog Analytics Workspaceに投げています。
各種アラートルールに抵触するとメールが送信されます。
ホストプールを追加した場合は、各種アラートルールだけが作成されます。

アラートルール有効化 作業

[Azure Monitor]ー[アラート]ー[アラートルール]を選択

[フィルターのクリア]を選択

作成したアラートルールを選択し、[有効化]を選択

このようにメールが飛んできます。