Linux Virtual Delivery Agent

日志收集

概述

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
<!--NeedCopy-->

默认情况下,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
<!--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 用户创建。其他用户没有此文件的写入权限。建议 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 服务,其他服务都依赖于此服务。

日志收集