トレースの有効化
概要
ログの収集と問題の再現は、診断を遅らせ、ユーザーエクスペリエンスを低下させます。トレースの有効化機能は、これらの作業を軽減します。Linux VDAでは、トレースはデフォルトで有効になっています。
構成
ctxlogdデーモンとsetlogユーティリティは、Linux VDAリリースパッケージに含まれるようになりました。デフォルトでは、Linux VDAのインストールと構成後にctxlogdデーモンが起動します。
ctxlogdデーモン
トレースされる他のすべてのサービスは、ctxlogdデーモンに依存します。Linux VDAのトレースを維持したくない場合は、ctxlogdデーモンを停止できます。
setlogユーティリティ
トレースの有効化は、/opt/Citrix/VDA/bin/パスにあるsetlogユーティリティを使用して構成されます。rootユーザーのみが実行する権限を持っています。GUIを使用するか、コマンドを実行して構成を表示および変更できます。setlogユーティリティに関するヘルプを表示するには、次のコマンドを実行します。
setlog help
<!--NeedCopy-->
値
デフォルトでは、ログ出力パスは/var/log/xdl/hdx.logに設定され、最大ログサイズは200 MBに設定されており、ログ出力パスの下に最大2つの古いログファイルを保存できます。
現在の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
<!--NeedCopy-->
単一のsetlogの値を表示または設定します。
setlog value <name> [<value>]
<!--NeedCopy-->
例:
setlog value log_size 100
<!--NeedCopy-->
レベル
デフォルトでは、ログレベルは警告に設定されています。
さまざまなコンポーネントに設定されているログレベルを表示します。
setlog levels
<!--NeedCopy-->
次のコマンドを使用して、すべてのログレベル(無効、継承、詳細、情報、警告、エラー、致命的なエラーを含む)を設定できます。
setlog level <class> [<level>]
<!--NeedCopy-->
<class>変数は、Linux VDAの1つのコンポーネントを指定します。すべてのコンポーネントを対象とするには、allに設定します。
setlog level all error
Setting log class ALL to ERROR.
<!--NeedCopy-->
フラグ
デフォルトでは、フラグは次のように設定されています。
setlog flags
DATE = true
TIME = true
NAME = true
PID = true
TID = false
SID = true
UID = false
GID = false
CLASS = false
LEVEL = false
FUNC = true
FILE = false
<!--NeedCopy-->
現在のフラグを表示します。
setlog flags
<!--NeedCopy-->
単一のログフラグを表示または設定します。
setlog flag <flag> [<state>]
<!--NeedCopy-->
デフォルトへの復元
すべてのレベル、フラグ、および値をデフォルト設定に戻します。
setlog default
<!--NeedCopy-->
重要:
ctxlogdサービスは、rootユーザーのみが作成できる/var/xdl/.ctxlogファイルを使用して構成されます。他のユーザーはこのファイルへの書き込み権限を持っていません。rootユーザーは他のユーザーに書き込み権限を与えないことをお勧めします。これに従わない場合、ctxlogdに任意のまたは悪意のある構成が適用され、サーバーのパフォーマンス、ひいてはユーザーエクスペリエンスに影響を与える可能性があります。
トラブルシューティング
/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.
<!--NeedCopy-->
この問題を解決するには、rootユーザーとしてsetlogを実行して/var/xdl/.ctxlogファイルを再作成します。その後、他のサービスが依存するctxlogdサービスを再起動します。