Citrix Virtual Apps and Desktops

AOTログの表示と使用

Director UIを介したログへのアクセス

ステップ1

StartLogServer.batファイルを編集します

StartLogServer.batファイルには、AOTログサーバーコンテナの起動に使用されるすべての構成パラメーターが含まれており、ログアクセスと動作を制御するいくつかの環境変数も含まれています。主要な設定の1つはLOCAL_DOWN_ONLYです。

  • LOCAL_DOWN_ONLY=falseの場合、ログサーバーはリモートログ表示要求を受け入れます。これにより、Citrix Director/Monitorがログサーバーに接続し、AOTログをMonitor UIに直接表示できるようになります。

  • LOCAL_DOWN_ONLY=trueの場合、ログサーバーはログアクセスをローカル接続のみに制限します。このモードでは、ログを表示するにはログサーバーマシンに直接接続する必要があり、Citrix Director Monitorはログを取得または表示できません

AOTバッチファイル

ステップ2

Web Studioには、Citrix DirectorがAOTログサーバーに接続し、Monitorコンソールにログを表示できるようにする専用の設定が用意されています。Web Studioの設定が保存されると、Delivery Controllerはサイト構成を更新し、Directorはログサーバーのアドレス、ポート、認証キーを含むログサーバーの詳細を受け取ります。Directorはこれらの設定を使用して、ログサーバーへの安全な接続を確立します。

ステップ3

構成後:

  1. Citrix Directorを開きます。
  2. 左側のナビゲーションパネルに新しいログオプションが表示されます。
  3. ログを選択すると、Get Startedページが表示されます。これらの設定は以前に完了しているため、閉じるをクリックしてスキップしてください。
  4. これで、Director がログサーバーから直接 AOT ログを取得して表示するようになります。

シトリックス ディレクター

Director の [ログ] ページでは、Delivery Controller、VDA、StoreFront サーバー、およびその他の Citrix コンポーネントからの AOT イベントを統合的に表示できます。ログをリアルタイムで検索、フィルタリング、検査して、問題を迅速にトラブルシューティングできます。

フリーテキスト検索: [ログ] ページの上部には、フリーテキスト検索バーがあります。キーワードを入力して結果を絞り込むことができます。フィルターを適用すると、検索結果は即座に更新されます。例を次に示します。

  • ユーザー名
  • マシン名
  • イベントキーワード(例:登録、認証、STA)
  • トランザクション ID
  • エラーメッセージまたは部分文字列

時間フィルター: 時間セレクター(例:過去 5 分、過去 1 時間、過去 24 時間)を使用して、特定の期間内に生成されたログを表示します。これにより、問題が発生した正確な時刻前後のイベントをすばやく特定できます。

カテゴリフィルター: [カテゴリ] フィールドでは、イベントまたはサブシステムの種類に基づいてログをフィルターできます。これにより、アプリケーション起動、登録、VDA 構成、グラフィック、HDX Direct、ICA 接続などに関連するログに焦点を当てることができます。

ログクラスフィルター: ログクラスフィルターは、ログを重大度またはイベントタイプでグループ化します。これにより、トラブルシューティング時にエラーや重要なイベントのみに焦点を当てることができます。一般的なクラスは次のとおりです。

  • 情報
  • 警告
  • エラー
  • 失敗

ホスト名フィルター: ホスト名フィルターを使用すると、VDA、Delivery Controller、CWA、StoreFrontサーバーなどの特定のコンピューターを選択できます。これは、展開全体を検索するのではなく、単一のエンドポイントまたはVMのログを詳しく調べたい場合に役立ちます。

この一元化されたアクセスにより、単一のコンソールからログを迅速に取得および分析できるため、トラブルシューティングが効率化されます。Director - Logsで、前提条件と開始方法について詳しく学習してください。

ログサーバー経由でのログへのアクセス

以下のコンテンツはAuthKeyを生成します。ログへのアクセスを有効にするには、ユーザーは以下を行う必要があります。

  1. StartLogServer.batスクリプトのLOCAL_DOWN_ONLY=falseを変更します。

  2. AuthKeyを生成する

ログを安全に保つには、ダウンロードする前にAuthKeyが必要です。手順は次のとおりです。

  1. AuthKeyを取得する – 独自のロール名/名前を使用して生成します。
  2. ローカルで実行する – スクリプトは、Dockerコンテナがインストールされているマシンでのみ実行できます。
  3. Windowsユーザー – シェルスクリプトの代わりにGetAuthKey.batスクリプトを使用してください。
  4. ログをダウンロードする – 認証されると、安全にログを取得できます。

AOTログサーバーの認証キーの生成と管理

提供されている.sh (Linux) または.bat (Windows) スクリプトを使用して、特定のロールまたはユーザーの新しい認証キーを迅速に生成できます。これらのスクリプトは、生成されたキーと関連するロールを返すことでプロセスを簡素化します。

Linuxの場合

./GetAuthKey.sh role-name
<!--NeedCopy-->

Windowsの場合

GetAuthKey.bat role-name
<!--NeedCopy-->

AOTログサーバーは、さまざまなロールまたはユーザーに関連付けられた認証キーを管理するためのコマンドを提供します。これらのコマンドにより、管理者はコンテナから直接、認証キーを追加、一覧表示、検証したり、削除したりできます。利用可能なdocker execコマンドをLog Serverコンテナで直接使用してください。

  • 新しい認証キーの追加: 指定されたロールまたはユーザーの新しい認証キーを作成します。

docker exec logserver /app/authkey add <RoleName>

  • すべての認証キーを一覧表示: 認証キーが作成されている既存のすべてのロール/ユーザーを表示します。

docker exec logserver /app/authkey list

  • 認証キーの検証: 指定された認証キーが有効であるかどうかを確認し、関連付けられたロールを識別します。

docker exec logserver /app/authkey validate <key>

  • 認証キーの削除: 特定のロールに関連付けられた認証キーを削除します。

docker exec logserver /app/authkey del <RoleName>

  • コマンドの使用法を表示: 認証キー管理で利用可能なオプションを表示します。

docker exec logserver /app/authkey ???

次の例は、認証キーを管理する方法を示しています。

AOT 認証キー

AOTログをログサーバーにすでに送信したマシン名を一覧表示

パラメータはGetAuthKey.shから取得したキーです。

Linuxの場合

./ListMachines.sh ebac9b7726cb4be597c92c6769134d25
{"machines":["MachineName"]}
<!--NeedCopy-->

空のマシンはログがないことを意味します

Windowsの場合

ListMachines.bat ebac9b7726cb4be597c92c6769134d25
{"machines":["MachineName"]}
<!--NeedCopy-->

LogServerが「-e LOCAL_DOWN_ONLY=false」で起動する場合のWindows PowerShell:

Invoke-WebRequest -Uri "https://logserver_fqdn:8443/ctxlogserver/Download/ListMachine" -Headers @{ AuthKey = "ebac9b7726cb4be597c92c6769134d25" }
<!--NeedCopy-->

logserver_fqdnをLogServerの実際のFQDNに、8443をLogServerの実際のポートに置き換えます。HTTPモードでインストールされている場合は、httpsをhttpに置き換えます。

空のマシンはログがないことを意味します

マシン名と時間範囲でログをダウンロードします。

時刻はUTC形式です:YYYY-mm-ddTHH:MM:SSZ。

#Usage: ./DownloadLogsByTime.sh [AuthKey] [MachineName] [StartTime|YYYY-mm-ddTHH:MM:SSZ] [EndTime|YYYY-mm-ddTHH:MM:SSZ] [OutputFile]
#Example:
<!--NeedCopy-->

Linuxの場合

./DownloadLogsByTime.sh ebac9b7726cb4be597c92c6769134d25 MachineName 2025-01-01T00:00:00Z 2025-01-02T00:00:00Z logs.csv
<!--NeedCopy-->

Windowsの場合

DownloadLogsByTime.bat ebac9b7726cb4be597c92c6769134d25 MachineName 2025-01-01T00:00:00Z 2025-01-02T00:00:00Z logs.csv
<!--NeedCopy-->

LogServerが「-e LOCAL_DOWN_ONLY=false」で起動する場合のWindows PowerShell:

Invoke-WebRequest -Uri "https://logserver_fqdn:8443/ctxlogserver/Download/TimeRange?start=2025-01-01T00:00:00Z&end=2025-01-02T00:00:00Z" -Headers @{ AuthKey = "ebac9b7726cb4be597c92c6769134d25" } -OutFile logs.csv
<!--NeedCopy-->

キーワードフィルターでログをダウンロードします。時刻はUTC形式です

注:

  • キーワードは単一の単語でも、複数の単語の組み合わせでも構いません。
  • キーワードはログメッセージ内のどこでも一致させることができます。
  • トランザクションIDもキーワードとして使用できます。
#Usage: ./DownloadLogsByWords.sh [AuthKey] [StartTime|YYYY-mm-ddTHH:MM:SSZ] [EndTime|YYYY-mm-ddTHH:MM:SSZ] [SearchWords] [OutputFile]
#Example:
<!--NeedCopy-->

Linuxの場合

./DownloadLogsByWords.sh authkey 2025-01-01T00:00:00.000Z 2025-12-31T23:59:59.999Z "session launch" logs.csv
<!--NeedCopy-->

Windowsの場合

DownloadLogsByWords.bat authkey 2025-01-01T00:00:00.000Z 2025-12-31T23:59:59.999Z "failed vda" logs.csv
<!--NeedCopy-->

LogServerが「-e LOCAL_DOWN_ONLY=false」で起動する場合のWindows PowerShell:

Invoke-WebRequest -Uri "https://logserver_fqdn:8443/ctxlogserver/Download/SearchLog?start=2025-01-01T00:00:00Z&end=2025-01-02T00:00:00Z&words=failed vda" -Headers @{ AuthKey = "ebac9b7726cb4be597c92c6769134d25" } -OutFile logs.csv
<!--NeedCopy-->

単語はスペースで区切られます

AOTログの表示と使用