Product Documentation

启用跟踪

Jun 04, 2018

概述

收集日志并重现问题减慢了诊断速度,并且降低了用户体验。本版本提供“启用跟踪”功能以减轻为之付出的努力。跟踪功能默认对 Linux VDA 启用。

配置

ctxlogd 守护程序和 setlog 实用程序现在包括在 Linux VDA 版本软件包中。默认情况下,ctxlogd 守护程序在您安装并配置 Linux VDA 后启动。 

ctxlogd 守护程序

跟踪的所有其他服务都基于 ctxlogd 守护程序。如果不希望跟踪 Linux VDA,可以停止 ctxlogd 守护程序。

setlog 实用程序

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

命令 复制

$ setlog help

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

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

级别

默认情况下,日志级别设置为警告。 

查看为不同组件设置的日志级别:

命令 复制

$ setlog levels  

可以以下命令设置所有日志级别(包括禁用、已继承、详细、信息、警告、错误和致命错误):

命令 复制

$ setlog level <class> [<level>]  

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

命令 复制

$ setlog level all error 

输出 复制

Setting log class ALL to ERROR. 

标志

默认情况下,标志设置如下所示:

命令 复制

$ 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

查看当前标志:

命令 复制

$ setlog flags

查看或设置单个日志标志:

命令 复制

$ setlog flag <flag> [<state>]

还原默认值

将所有级别、标志和值还原到默认设置:

命令 复制

$ setlog default

Important

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.

要解决此问题,请以 root 用户身份运行 setlog 以重新创建 /var/xdl/.ctxlog 文件。然后重新启动其他服务所基于的 ctxlogd 服务。