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はログを取得または表示できません。
ステップ 2
Web Studioには、Citrix DirectorがAOTログサーバーに接続し、Monitorコンソールにログを表示できるようにする専用の設定が用意されています。Web Studioの設定が保存されると、デリバリーコントローラーはサイト構成を更新し、Directorはログサーバーのアドレス、ポート、認証キーを含むログサーバーの詳細を受け取ります。Directorはこれらの設定を使用して、ログサーバーへの安全な接続を確立します。
ステップ3
構成後:
-
Citrix Directorを開きます。
-
左側のナビゲーションパネルに新しいログオプションが表示されます。
-
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の生成です。ログへのアクセスを有効にするには、ユーザーは以下を行う必要があります。
-
StartLogServer.batスクリプトの LOCAL_DOWN_ONLY=false を変更する -
AuthKeyを生成する
ログを安全に保つため、ダウンロードする前にAuthKeyが必要です。手順は次のとおりです。
-
AuthKeyを取得する – 自身のロール名/名前を使用して生成します。
-
ローカルで実行する – スクリプトは、Dockerコンテナがインストールされているマシンでのみ実行できます。
-
Windowsユーザー – シェルスクリプトの代わりに
GetAuthKey.batスクリプトを使用してください。 -
ログをダウンロードする – 認証が完了すると、安全にログを取得できます。
AOTログサーバーの認証キーの生成と管理
提供されている.sh (Linux) または .bat (Windows) スクリプトを使用すると、特定のロールまたはユーザーの新しい認証キーを迅速に生成できます。これらのスクリプトは、生成されたキーと関連するロールを返すことでプロセスを簡素化します。
Linuxの場合
./GetAuthKey.sh role-name
Windowsの場合
GetAuthKey.bat role-name
AOTログサーバーは、異なるロールまたはユーザーに関連付けられた認証キーを管理するためのコマンドを提供します。これらのコマンドにより、管理者はコンテナから直接認証キーを追加、一覧表示、検証し、削除できます。利用可能なdocker execコマンドをログサーバーコンテナで直接使用してください。
-
新しい認証キーを追加する: 指定されたロールまたはユーザーの新しい認証キーを作成します。
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ログをログサーバーにすでに送信したマシン名を一覧表示
このパラメーターは、GetAuthKey.sh から取得したキーです。
Linuxの場合
./ListMachines.sh ebac9b7726cb4be597c92c6769134d25
{"machines":["MachineName"]}
空のマシンは、ログがないことを意味します。
Windowsの場合
ListMachines.bat ebac9b7726cb4be597c92c6769134d25
{"machines":["MachineName"]}
LogServerが「-e LOCAL_DOWN_ONLY=false」で起動する場合のWindows PowerShell:
Invoke-WebRequest -Uri "https://logserver_fqdn:8443/ctxlogserver/Download/ListMachine" -Headers @{ AuthKey = "ebac9b7726cb4be597c92c6769134d25" }
logserver_fqdn をログサーバーの実際のFQDNに、8443 をログサーバーの実際のポートに置き換えます。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:
Linuxの場合
./DownloadLogsByTime.sh ebac9b7726cb4be597c92c6769134d25 MachineName 2025-01-01T00:00:00Z 2025-01-02T00:00:00Z logs.csv
Windowsの場合
DownloadLogsByTime.bat ebac9b7726cb4be597c92c6769134d25 MachineName 2025-01-01T00:00:00Z 2025-01-02T00:00:00Z logs.csv
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
キーワードフィルターでログをダウンロードします。時間はUTC形式です
注:
-
キーワードは単一の単語でも、複数の単語の組み合わせでも構いません。
-
キーワードはログメッセージ内のどこにでも一致させることができます。
-
トランザクションIDもキーワードとして使用できます。
#Usage: ./DownloadLogsByWords.sh [AuthKey] [StartTime|YYYY-mm-ddTHH:MM:SSZ] [EndTime|YYYY-mm-ddTHH:MM:SSZ] [SearchWords] [OutputFile]
#Example:
Linuxの場合
./DownloadLogsByWords.sh authkey 2025-01-01T00:00:00.000Z 2025-12-31T23:59:59.999Z "session launch" logs.csv
Windowsの場合
DownloadLogsByWords.bat authkey 2025-01-01T00:00:00.000Z 2025-12-31T23:59:59.999Z "failed vda" logs.csv
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
単語はスペースで区切られます