ログ収集

最終公開日 : Nov 13, 2026

ログメカニズムの概要

次の表は、Linux VDA のログメカニズムの概要を示しています。
ログモジュール ログファイル名の形式 ログファイル名の例 ログの範囲 単一ファイルの最大サイズ ローテーションしきい値(デフォルト) 構成
HDX hdx.log[.n] hdx.log、hdx.log.1 グラフィック、ログイン、オーディオ、キーボード、マウス 200 MiB 現在1つ、古いもの2つ setlog ユーティリティで構成可能
ジェイプロキシ jproxy.log[.n.log] jproxy.log, jproxy.log.1.log VDA登録、ユーザー認証 20 MiB 現在1、過去10 setlogユーティリティまたは/etc/xdl/log4j2.xmlを介して構成可能
VDA vda.YYYY-MM-DD.hh.mm.ss.log vda.2024-05-06.20.18.40.log VDA登録 10 MiB 現在1、過去100 setlogユーティリティまたは/etc/xdl/brokeragent.confを介して構成可能
注:
  • 最初のログファイルには名前に番号がなく、それ以降のファイルには「.n」(「n」はファイル番号を表す)が付加されます。たとえば、「hdx.log」は最初のHDXログファイルで、「hdx.log.1」は2番目のファイルです。
  • 単一のログファイルの最大サイズは、メビバイト (MiB) で測定されます。
  • 生成中で、単一ファイルの最大サイズに達していないログファイルは、「現在の」ログファイルと呼ばれます。「現在の」ログファイルが単一ファイルの最大サイズに達すると、ロールオーバーされて「古い」ログファイルになります。
  • ローテーションしきい値は、「古い」ログファイルの保持数を制限するように構成できます。制限に達すると、最も古いログファイルが削除されます。

ログ構成

このセクションでは、上記の表に示されている詳細を補完する形で、ログ構成に関する追加情報を提供します。

Linux VDAでデフォルトで有効になっているログ記録

ctxlogdデーモンとsetlogユーティリティは、Linux VDAリリースパッケージに含まれています。デフォルトでは、Linux VDAをインストールして構成すると、ctxlogdデーモンが起動します。トレースされる他のすべてのサービスは、ctxlogdデーモンに依存します。Linux VDAをトレースしたくない場合は、ctxlogdデーモンを停止できます。

/etc/xdl/brokeragent.confを介したVDAログの構成

注:
単一ログファイルの最大サイズなどの他のログパラメータを深く掘り下げずに、VDAログのログレベルのみを構成したい場合は、この記事の後半で説明するsetlogユーティリティを使用できます。それ以外の場合は、/etc/xdl/brokeragent.confを使用してください。
VDA上の/etc/xdl/brokeragent.confファイルは、VDAログを構成するために使用できます。例:
注:
デフォルトでは、保持できる「古い」VDAログファイルの最大数は100です。必要に応じて調整してください。

/etc/xdl/log4j2.xmlを介したJproxyログの構成

注:
単一ログファイルの最大サイズなどの他のログパラメータを深く掘り下げずに、Jproxyログのログレベルのみを構成したい場合は、この記事の後半で説明するsetlogユーティリティを使用できます。それ以外の場合は、/etc/xdl/log4j2.xmlを使用してください。
以下は、/etc/xdl/log4j2.xmlを介したJproxyログ構成の例です。この例では、SizeBasedTriggeringPolicyパラメータが単一のJproxyログファイルの最大サイズを指定し、DefaultRollerStrategyパラメータが保持できるJproxyログファイルの総数を設定します。
Jproxy ロギングの構成

setlogユーティリティを介したHDX™ログの構成

setlogユーティリティは/opt/Citrix/VDA/bin/パスにあります。rootユーザーのみが実行する権限を持っています。GUIを使用するか、コマンドを実行して、値(ログファイルのパス、単一ファイルのサイズ制限、ローテーションしきい値)やログレベルを含む構成オプションを表示および変更できます。setlogユーティリティに関するヘルプを表示するには、次のコマンドを実行します。
setlog help

値

デフォルトでは、HDXログは**/var/log/xdl/hdx.logに保存され、単一のHDXログファイルのサイズ制限は200 MiBです。また、最大2つの「古い」HDXログファイルを/var/log/xdl/hdx.log**に保存できます。
現在のすべてのsetlog値を表示するには、次のコマンドを実行します。
setlog values

log_path (Log Output Path) = /var/log/xdl/hdx.log

log_size (Max Log Size (MiB)) = 200

log_count (Max Old Log Files) = 2
単一のsetlog値を表示または設定するには、次のコマンドを実行します。
setlog value <name> [<value>]
例:
setlog value log_size 100

レベル

デフォルトでは、ログレベルはinfo (大文字と小文字を区別しません) に設定されています。
トラブルシューティングが必要な問題に遭遇した場合、ほとんどのシナリオでログレベルをverboseに設定することをお勧めします。その後、問題を再現してログを収集してください。
ログレベル (Disabled、Inherited、Trace、Verbose、Information、Warnings、Errors、Fatal Errorsを含む) を設定するには、次のコマンドを実行します。
setlog level <class> [<level>]
ログレベル コマンドパラメータ (大文字と小文字を区別しません)
無効 なし
継承 継承
トレース トレース
詳細 詳細
情報 情報
警告 警告
エラー エラー
致命的なエラー 致命的
**<class>**変数はLinux VDAのコンポーネントを指定します。すべてのコンポーネントを対象とするには、「all」に設定します。例:
setlog level all error
サポートされているすべてのクラスまたはコンポーネントを表示するには、次のコマンドを実行します:
setlog levels

デフォルトに戻す

すべてのレベルと値をデフォルト設定に戻します:
setlog default
重要:
ctxlogdサービスは、rootユーザーのみが作成できる**/var/xdl/.ctxlog**ファイルを使用して構成されます。他のユーザーはこのファイルへの書き込み権限を持っていません。rootユーザーは他のユーザーに書き込み権限を与えないことをお勧めします。これに従わないと、ctxlogdに任意のまたは悪意のある構成が適用される可能性があり、その結果、サーバーのパフォーマンスやユーザーエクスペリエンスに影響を与える可能性があります。

ログ収集

bash /opt/Citrix/VDA/bin/xdlcollect.shコマンドを実行してログを収集できます。ログの収集に使用されるxdlcollect BashスクリプトはLinux VDAソフトウェアに統合されており、/opt/Citrix/VDA/binの下にあります。
ログ収集が完了すると、スクリプトと同じフォルダーに圧縮ログファイルが生成されます。xdlcollect Bashスクリプトは、圧縮ログファイルをCitrix Insight Services (CIS)にアップロードするかどうかを尋ねることができます。同意した場合、xdlcollectはアップロード完了後にupload\_IDを返します。アップロードしても、圧縮ログファイルはローカルマシンから削除されません。他のユーザーはupload\_IDを使用してCISのログファイルにアクセスできます。

トラブルシューティング

/var/xdl/.ctxlogファイルが見つからない場合(たとえば、誤って削除された場合)、ctxlogdデーモンが失敗し、ctxlogdサービスを再起動できません。
/var/log/messages:
Apr 1 02:28:21 RH72 citrix-ctxlogd[17881]: Failed to open logging configuration file.

Apr 1 02:28:21 RH72 systemd: ctxlogd.service: main process exited, code=exited, status=1/FAILURE

Apr 1 02:28:21 RH72 systemd: Unit ctxlogd.service entered failed state.

Apr 1 02:28:21 RH72 systemd: ctxlogd.service failed.
この問題を解決するには、rootユーザーとしてsetlogを実行して**/var/xdl/.ctxlogファイルを再作成します。その後、他のサービスが依存しているctxlogd**サービスを再起動します。