Linux Virtual Delivery Agent

跟踪开启

概述

收集日志和重现问题会减慢诊断速度并降低用户体验。跟踪开启功能可简化这些工作。默认情况下,Linux VDA 已启用跟踪。

配置

ctxlogd 守护程序和 setlog 实用程序现在已包含在 Linux VDA 发布包中。默认情况下,在安装和配置 Linux VDA 后,ctxlogd 守护程序将启动。

ctxlogd 守护程序

所有其他已跟踪的服务都依赖于 ctxlogd 守护程序。如果您不想继续跟踪 Linux VDA,可以停止 ctxlogd 守护程序。

setlog 实用程序

跟踪开启功能使用 setlog 实用程序进行配置,该实用程序位于 /opt/Citrix/VDA/bin/ 路径下。只有 root 用户才有权运行它。您可以使用 GUI 或运行命令来查看和更改配置。运行以下命令以获取有关 setlog 实用程序的帮助:

setlog help
<!--NeedCopy-->

默认情况下,日志输出路径设置为 /var/log/xdl/hdx.log最大日志大小设置为 200 MB,并且您可以在日志输出路径下最多保存两个旧日志文件。

查看当前的 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-->

级别

默认情况下,日志级别设置为 warning(不区分大小写)。

要查看为不同组件设置的日志级别,请运行以下命令:

setlog levels
<!--NeedCopy-->

要设置日志级别(包括 Disabled、Inherited、Verbose、Information、Warnings、Errors 和 Fatal Errors),请运行以下命令:

setlog level <class> [<level>]
<!--NeedCopy-->
日志级别 命令参数(不区分大小写)
Disabled none
Inherited inherit
Verbose verbose
Information info
Warnings warning
Errors error
Fatal Errors fatal

<class> 变量指定 Linux VDA 的一个组件。要涵盖所有组件,请将其设置为 all。例如:

setlog level all 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 服务使用 /var/xdl/.ctxlog 文件进行配置,只有 root 用户才能创建此文件。其他用户没有对此文件的写入权限。Citrix 建议 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 服务。

跟踪开启