コアコンセプト
Always on Tracing (AOT) アーキテクチャは、Citrix Virtual Apps and Desktops (CVAD) および DaaS 環境全体で継続的なリアルタイムログ収集を提供するように設計されています。これにより、IT管理者とCitrixサポートは、手動でのログ開始や問題の再現を必要とせずに、ユーザーおよびインフラストラクチャの問題をトラブルシューティングできます。
AOTシステムは、複数のCitrixインフラストラクチャ層からのログをキャプチャ、転送、保存するために、順序立てて連携するいくつかの統合されたコンポーネントに基づいて構築され、一元化されたリポジトリに格納します。
主要コンポーネントとワークフロー
-
AOTログジェネレーター (Citrixコアコンポーネント): Virtual Delivery Agent (VDA)、Delivery Controller (DDC)、StoreFrontなどのCitrixコンポーネントは、ログジェネレーターとして機能します。これらのコンポーネントには、テレメトリサービスまたは同様のサービスが搭載されており、AOT APIを使用して、トレースデータをキャプチャし、事前定義されたステップトレースを記録し、ユーザーセッションおよびトランザクションに関連するエラーイベントをログに記録します。
-
ログ収集の有効化: 管理者がログ収集要求を開始すると (通常はWeb Studioの設定を通じて)、指示はサイトデータベースに保存され、ブローカーに送信されます。ブローカーは、ブローカー、StoreFront、VDAなどの関連コンポーネント全体でログ収集プロセスを調整します。管理者は、Session Recording、PVS、FASなどの他のコンポーネントからPowerShellコマンドを通じて個別にログ収集要求を開始します。
-
テレメトリサービス: Citrix Web Studioでログサーバーアドレスを設定し、設定が伝播されると、各コンポーネントのテレメトリサービスは新しいリアルタイムAOTリスナーをアクティブ化します。これにより、事前定義されたイベント、障害、またはトリガーポイントに基づいてログが収集されます。
-
集中ログサーバーへのログ転送: ログが収集されると、テレメトリサービスまたは独立したサービスが、それらを直接、集中ログサーバーに安全に転送します。エンドポイントがCitrix Gatewayを介して外部ネットワークから接続されている環境では、安全でシームレスな転送を確保するために、通常SOCKSトンネルを介して転送が行われます。
-
ログの保存と整理: 集中ログサーバーは、AOTログを受信、解析し、インデックス付きデータベースバックエンド (デフォルトではOpenSearch) を使用して、構造化された検索可能な形式で保存します。ログはセッション、コンポーネント、およびタイムスタンプによってタグ付けされ、容易なアクセスと効率的なトラブルシューティングを可能にします。
Citrix AOTシステム内のログは、容易なアクセスと効率的なトラブルシューティングを可能にするために、さまざまなフィールドでタグ付けされた、構造化された検索可能な形式で保存されます。これらのタグには以下が含まれます。
-
MachineName: ログが生成されたマシンの名前。
-
MachineIP: マシンのIPアドレス。
-
Role: Citrixコンポーネントの役割 (例: VDA、DDC、StoreFront)。
-
TimeStamp: ログイベントが発生したUTCタイムスタンプ。
-
メッセージ:実際のログメッセージの内容。単語で検索/フィルタリングできます。
-
レベル:ログの重大度レベル(例:情報、警告、エラー)。
-
モジュール:ログを生成した特定のソフトウェアモジュール。
-
プロセス名:ログを生成したプロセスの名前。
-
プロセスID:プロセスのID。
-
スレッド:プロセス内のスレッドID。
-
CPU:ログ記録時のCPU IDに関する情報。
-
セッションID:ログに関連付けられたユーザーセッションのID。
-
クラス:モジュール内のクラスまたはコンポーネント。
これらの詳細なタグにより、管理者は特定の基準に基づいてログを迅速にフィルタリング、検索、分析し、問題の特定と解決を容易にすることができます。
要約すると、AOTワークフローはCitrixコンポーネントがログを生成することから始まります。これらのログを収集するために一元的なリクエストが開始され、テレメトリサービスが関連コンポーネントからログを収集します。収集されたログは、インデックス作成、保存、およびその後の分析のために、一元化されたログサーバーに安全に転送されます。
AOTの仕組み
Citrix Always on Tracing (AOT) は、環境内の主要コンポーネントからログデータを継続的に取得します。トリガーされると、ログは自動的に収集され、一元化されたログサーバーに安全に転送され、分析のために保持されます。これにより、手動でのトレースが不要になり、トラブルシューティングが簡素化されます。
トレースのトリガーとログ収集:VDA、DDC、StoreFrontなどのCitrixコンポーネントは、重要な手順とエラーを追跡するためのAOT APIを搭載しています。これらのコンポーネントはAOTログジェネレーターとして機能します。管理者がDelivery Controllerからログ収集リクエストを開始すると、次のようになります。
-
DDCは関連するCitrixコンポーネントに指示を送信します。各コンポーネントは、そのリクエストをローカルのテレメトリサービスに転送します。
-
テレメトリーサービスは、AOTログを収集するためにリアルタイムAOTリスニングプログラムを開始し、ログを一元ログサーバーに転送します。
ログの保存と保持: AOTログを受信すると、一元ログサーバーはそれらをフォーマットし、構造化された検索可能なデータベースにインデックス化します。ログは、ストレージ使用量を最適化するために、定義された保持ポリシーに基づいて保持されます。デフォルトでは、AOTログは7日間保持され、その後、スペースを節約するために自動的にパージされます。
AOTと従来のログ記録の比較
| 側面 | AOT | 従来のCDFトレース |
|---|---|---|
| アクティベーション | 自動、継続的 | 手動、問題の再現が必要 |
| 複雑さ | ユーザーフレンドリーで読みやすいログ | エンジニアリングレベルの解析 |
| 診断速度 | 即座にログが利用可能 | 再現作業により遅延 |
| リソース使用量 | 最適化されたバッファによる低オーバーヘッド | 誤って使用すると中程度から高程度 |
従来のトレースツールは手作業が必要で、問題が発生している最中に捕捉した場合にのみ機能します。AOTを使用すると、ログはバックグラウンドで継続的に実行されるため、監視していなくても問題が発生したときに捕捉されます。これにより時間が節約され、トラブルシューティングがはるかに簡単になります。
AOTのハイライト
-
常時稼働: トレースは常に実行され、手動でオンにする必要はありません。
-
自動キャプチャ: 問題が発生すると常にログが収集されます。
-
中央ログサーバー: すべてのログは、簡単にアクセスできるように一箇所に保存されます。
-
トラブルシューティングの簡素化: 一般的な障害を迅速に特定するのに役立ちます。
-
再現不要: 問題を再現する必要はありません。すでに捕捉されています。