Citrix Virtual Apps and Desktops

コアコンセプト

アーキテクチャ図

Always on Tracing (AOT) アーキテクチャは、Citrix Virtual Apps and Desktops (CVAD) および DaaS 環境全体で継続的なリアルタイムログ収集を提供するように設計されています。これにより、IT 管理者と Citrix サポートは、手動でのログ開始や問題の再現を必要とせずに、ユーザーおよびインフラストラクチャの問題をトラブルシューティングできます。

AOT システムは、複数の Citrix インフラストラクチャ層からログをキャプチャ、転送、および一元的なリポジトリに保存するために、連携して動作するいくつかの統合コンポーネントで構築されています。

主要コンポーネントとワークフロー

  1. AOT ログジェネレーター (Citrix コアコンポーネント): Virtual Delivery Agent (VDA)、Delivery Controller (DDC)、StoreFront などの Citrix コンポーネントは、ログジェネレーターとして機能します。これらのコンポーネントには、テレメトリーサービスまたは同様のサービスが搭載されており、AOT API を使用してトレースデータをキャプチャし、事前定義されたステップトレースを記録し、ユーザーセッションとトランザクションに関連するエラーイベントをログに記録します。

  2. ログ収集の有効化: 管理者がログ収集リクエストを開始すると (通常は Web Studio 設定を通じて、指示はサイトデータベースに保存され、ブローカーに送信されます。ブローカーは、ブローカー、StoreFront、VDA などの関連コンポーネント全体でログ収集プロセスを調整します。管理者は、Session Recording、PVS、FAS などの他のコンポーネントから PowerShell コマンドを通じて個別にログ収集リクエストを開始します。

  3. テレメトリーサービス: Citrix Web Studio でログサーバーアドレスを設定し、設定が伝播されると、各コンポーネントのテレメトリーサービスは新しいリアルタイム AOT リスナーをアクティブ化し、事前定義されたイベント、障害、またはトリガーポイントに基づいてログを収集します。

  4. 集中ログサーバーへのログ転送: ログが収集されると、テレメトリーサービスまたは独立したサービスが、それらを直接集中ログサーバーに安全に転送します。エンドポイントが Citrix Gateway を介して外部ネットワークから接続されている環境では、安全でシームレスな転送を確保するために、通常 SOCKS トンネルを介して転送が行われます。

  5. ログの保存と整理: 集中ログサーバーは、AOT ログを受信、解析し、インデックス付きデータベースバックエンド (デフォルトでは OpenSearch) を使用して、構造化された検索可能な形式で保存します。ログはセッション、コンポーネント、タイムスタンプでタグ付けされ、容易なアクセスと効率的なトラブルシューティングを可能にします。

Citrix AOT システムのログは、構造化された検索可能な形式で保存され、容易なアクセスと効率的なトラブルシューティングを可能にするために、さまざまなフィールドでタグ付けされています。これらのタグには以下が含まれます。

  • MachineName: ログの発生元となったマシンの名前。
  • MachineIP: マシンの IP アドレス。
  • Role: Citrix コンポーネントの役割 (例: VDA、DDC、StoreFront)。
  • TimeStamp: ログイベントが発生した UTC タイムスタンプ。
  • メッセージ: 実際のログメッセージの内容。単語で検索/フィルタリングできます。
  • レベル: ログの重大度レベル (例: 情報、警告、エラー)。
  • モジュール: ログを生成した特定のソフトウェアモジュール。
  • プロセス名: ログを生成したプロセスの名前。
  • プロセスID: プロセスのID。
  • スレッド: プロセス内のスレッドID。
  • CPU: ログ記録時のCPU IDに関連する情報。
  • セッションID: ログに関連付けられたユーザーセッションのID。
  • クラス: モジュール内のクラスまたはコンポーネント。

これらの詳細なタグにより、管理者は特定の基準に基づいてログを迅速にフィルタリング、検索、分析でき、問題の特定と解決を容易にします。

要約すると、AOTワークフローはCitrixコンポーネントがログを生成することから始まります。これらのログを収集するための一元的なリクエストが開始され、Telemetry Serviceが関連コンポーネントからログを収集します。収集されたログは、インデックス作成、保存、およびその後の分析のために、一元的なログサーバーに安全に転送されます。

AOTの仕組み

Citrix Always on Tracing (AOT) は、環境内の主要コンポーネントからログデータを継続的にキャプチャします。トリガーされると、ログは自動的に収集され、一元的なログサーバーに安全に転送され、分析のために保持されます。これにより、手動でのトレースが不要になり、トラブルシューティングが簡素化されます。

トレースのトリガーとログ収集: VDA、DDC、StoreFrontなどのCitrixコンポーネントは、重要な手順とエラーを追跡するためのAOT APIを備えています。これらのコンポーネントはAOTログジェネレーターとして機能します。管理者がDelivery Controllerからログ収集リクエストを開始すると、次のようになります。

  • DDCは関連するCitrixコンポーネントに指示を送信します。各コンポーネントは、そのローカルのTelemetry Serviceにリクエストを転送します。
  • テレメトリーサービスは、AOTログを収集するためにリアルタイムAOTリスニングプログラムを開始し、ログを一元ログサーバーに転送します。

ログの保存と保持: AOTログが受信されると、一元ログサーバーはそれらをフォーマットし、構造化された検索可能なデータベースにインデックス化します。ログは、ストレージ使用量を最適化するために定義された保持ポリシーに基づいて保持されます。デフォルトでは、AOTログは7日間保持され、その後、スペースを節約するために自動的にパージされます。

AOTと従来のログ記録の比較

側面 AOT 従来のCDFトレース
アクティベーション 自動、継続的 手動、問題の再現が必要
複雑さ ユーザーフレンドリーで読みやすいログ エンジニアリングレベルの解析
診断速度 即座に利用可能なログ 再現作業による遅延
リソース使用量 最適化されたバッファによる低オーバーヘッド 誤って使用すると中程度から高程度

従来のトレースツールは手動での作業が必要で、問題が発生している最中に捕捉した場合にのみ機能します。AOTを使用すると、ログはバックグラウンドで継続的に実行されるため、監視していなくても問題が発生したときに捕捉されます。これにより、時間を節約し、トラブルシューティングがはるかに容易になります。

AOTの主な機能

  • 常時稼働: トレースは常に実行され、手動でオンにする必要はありません。
  • 自動キャプチャ: 問題が発生すると常にログが収集されます。
  • 中央ログサーバー: すべてのログは一箇所に保存され、簡単にアクセスできます。
  • トラブルシューティングの簡素化: 一般的な障害を迅速に特定するのに役立ちます。
  • 再現不要: 問題を再現する必要はありません。すでに捕捉されています。
コアコンセプト