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 はログサーバーに接続し、Monitor UIにAOTログを直接表示できます。

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

AOT bat file

ステップ2

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

  • ステップ3

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

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

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

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

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

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

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

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

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

この集中アクセスにより、単一のコンソールからログの迅速な取得と分析が可能になり、トラブルシューティングが効率化されます。Director - ログ で前提条件と開始方法の詳細をご覧ください。

ログサーバーを介したログへのアクセス

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

  1. StartLogServer.bat スクリプトを LOCAL_DOWN_ONLY=false に変更します。
  2. AuthKeyを生成します。

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

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

AuthKeyの生成

Linuxの場合

./GetAuthKey.sh role-name
{"key":"ebac9b7726cb4be597c92c6769134d25","role":"role-name","status":"DONE"}
<!--NeedCopy-->

Windowsの場合

GetAuthKey.bat role-name
{"key":"ebac9b7726cb4be597c92c6769134d25","role":"role-name","status":"DONE"}
<!--NeedCopy-->

キー: ebac9b7726cb4be597c92c6769134d25 をご自身で保存してください。これがキーを取得する唯一の方法です。

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 をログサーバーの実際の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:
<!--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ログの表示と使用