查看和使用 AOT 日志

Last published : Nov 13, 2026

通过 Director UI 访问日志

步骤 1

编辑 StartLogServer.bat 文件
StartLogServer.bat 文件包含用于启动 AOT 日志服务器容器的所有配置参数,其中包括控制日志访问和行为的多个环境变量。其中一个关键设置是 LOCAL_DOWN_ONLY。
  • 当 LOCAL_DOWN_ONLY=false 时,日志服务器接受远程日志查看请求。这允许 Citrix Director/Monitor 连接到日志服务器并在 Monitor UI 中直接显示 AOT 日志。
  • 当 LOCAL_DOWN_ONLY=true 时,日志服务器将日志访问限制为仅限本地连接。在此模式下,您必须直接连接到日志服务器计算机才能查看日志,并且 Citrix Director Monitor 将无法检索或显示日志。
AOT bat 文件(/en-us/citrix-virtual-apps-desktops/2507-ltsr/media/aot-bat-file.png)

步骤 2

Web Studio 提供了一个专用设置,允许 Citrix Director 连接到 AOT 日志服务器并在 Monitor 控制台中显示日志。保存 Web Studio 设置后,交付控制器会更新站点配置,Director 会收到日志服务器详细信息,包括日志服务器地址、端口和身份验证密钥。Director 使用这些设置与日志服务器建立安全连接。

步骤 3

配置后:
  1. 打开 Citrix Director 控制台。
  2. 左侧导航面板中会出现一个新的“日志”选项。
  3. 选择“日志”,您将看到“入门”页面,单击“关闭”以跳过它,因为我们之前已完成这些设置。
  4. 现在,您将看到 Director 直接从日志服务器检索并显示 AOT 日志。
思杰控制台
Director 中的“日志”页面提供了来自 Delivery Controller、VDA、StoreFront 服务器以及其他 Citrix 组件的 AOT 事件的统一视图。您可以实时搜索、筛选和检查日志,以快速排查问题。
自由文本搜索: 在“日志”页面顶部,您会找到一个自由文本搜索栏。您可以键入任何关键字来开始缩小结果范围。应用筛选器后,搜索会立即更新结果。示例包括:
  • 用户名
  • 计算机名称
  • 事件关键字(例如,注册、身份验证、STA)
  • 事务 ID
  • 错误消息或部分字符串
时间筛选器: 使用时间选择器(例如,“最近 5 分钟”、“最近 1 小时”、“最近 24 小时”)查看在特定持续时间内生成的日志。这有助于您快速隔离问题发生确切时间附近的事件。
类别筛选器: “类别”字段允许您根据事件或子系统的类型筛选日志。这有助于您专注于与应用程序启动、注册、VDA 配置、图形、HDX Direct、ICA 连接等相关的日志。
日志类筛选器: “日志类”筛选器按严重性或事件类型对日志进行分组。这使您在故障排除时可以只关注错误或重要事件。常见类别包括:
  • 信息
  • 警告
  • 错误
  • 失败
主机名筛选器: “主机名”筛选器允许您选择特定的计算机,例如 VDA、Delivery Controller、CWA 或 StoreFront 服务器。当您想要深入查看单个端点或 VM 的日志而不是搜索整个部署时,这非常有用。
这种集中式访问通过允许从单个控制台快速检索和分析日志来简化故障排除。在 Director - 日志中了解有关先决条件和入门的更多信息。

通过日志服务器访问日志

以下内容是生成 AuthKey。要启用日志访问,用户需要
  1. 修改 StartLogServer.bat 脚本 LOCAL_DOWN_ONLY=false
  2. 生成 AuthKey
为了确保日志安全,您需要在下载日志之前拥有一个 AuthKey。操作步骤如下:
  1. 获取您的 AuthKey – 使用您自己的角色名称/名称来生成它。
  2. 本地运行 – 脚本只能在安装了 Docker 容器的机器上运行。
  3. Windows 用户 – 使用 GetAuthKey.bat 脚本而不是 shell 脚本。
  4. 下载日志 – 身份验证成功后,您可以安全地检索日志。

为 AOT 日志服务器生成和管理身份验证密钥

您可以使用提供的 .sh (Linux) 或 .bat (Windows) 脚本为特定角色或用户快速生成新的身份验证密钥。这些脚本通过返回生成的密钥以及关联的角色来简化此过程。

适用于 Linux

./GetAuthKey.sh role-name

适用于 Windows

GetAuthKey.bat role-name
AOT 日志服务器提供用于管理与不同角色或用户关联的身份验证密钥的命令。这些命令允许管理员直接从容器中添加、列出、验证和删除身份验证密钥。直接在日志服务器容器上使用可用的 docker exec 命令。
  • 添加新的身份验证密钥:为指定角色或用户创建新的身份验证密钥:
docker exec logserver /app/authkey add <RoleName>
  • 列出所有身份验证密钥:显示已创建身份验证密钥的所有现有角色/用户:
docker exec logserver /app/authkey list
  • 验证身份验证密钥:验证给定身份验证密钥是否有效并识别关联的角色:
docker exec logserver /app/authkey validate <key>
  • 删除身份验证密钥:删除与特定角色关联的身份验证密钥:
docker exec logserver /app/authkey del <RoleName>
  • 查看命令用法:显示身份验证密钥管理的可用选项:
docker exec logserver /app/authkey ???
以下示例演示如何管理身份验证密钥:
AOT 身份验证密钥

列出已将其 AOT 日志发送到日志服务器的计算机名称

该参数是从 GetAuthKey.sh 获取的密钥

适用于 Linux

./ListMachines.sh ebac9b7726cb4be597c92c6769134d25
{"machines":["MachineName"]}
空机器表示没有日志

适用于 Windows

ListMachines.bat ebac9b7726cb4be597c92c6769134d25
{"machines":["MachineName"]}
当 LogServer 以“-e LOCAL_DOWN_ONLY=false”启动时,适用于 Windows PowerShell:
Invoke-WebRequest -Uri "https://logserver_fqdn:8443/ctxlogserver/Download/ListMachine" -Headers @{ AuthKey = "ebac9b7726cb4be597c92c6769134d25" }
将 logserver_fqdn 替换为日志服务器的真实 FQDN,将 8443 替换为日志服务器的真实端口。在 HTTP 模式下安装时,将 https 替换为 http。
空机器表示没有日志
按计算机名称和时间范围下载日志。
时间采用 UTC 格式:YYYY-mm-ddTHH:MM:SSZ。
#Usage: ./DownloadLogsByTime.sh [AuthKey] [MachineName] [StartTime|YYYY-mm-ddTHH:MM:SSZ] [EndTime|YYYY-mm-ddTHH:MM:SSZ] [OutputFile]
#Example:

对于 Linux

./DownloadLogsByTime.sh ebac9b7726cb4be597c92c6769134d25 MachineName 2025-01-01T00:00:00Z 2025-01-02T00:00:00Z logs.csv

对于 Windows

DownloadLogsByTime.bat ebac9b7726cb4be597c92c6769134d25 MachineName 2025-01-01T00:00:00Z 2025-01-02T00:00:00Z logs.csv
当 LogServer 以“-e LOCAL_DOWN_ONLY=false”启动时,适用于 Windows PowerShell:
Invoke-WebRequest -Uri "https://logserver_fqdn:8443/ctxlogserver/Download/TimeRange?start=2025-01-01T00:00:00Z&end=2025-01-02T00:00:00Z" -Headers @{ AuthKey = "ebac9b7726cb4be597c92c6769134d25" } -OutFile logs.csv

按关键字筛选器下载日志。时间采用 UTC 格式

注意:
  • 关键字可以是单个词或词的组合。
  • 关键字可以匹配日志消息中的任何位置。
  • 事务 ID 也可以用作关键字。
#Usage: ./DownloadLogsByWords.sh [AuthKey] [StartTime|YYYY-mm-ddTHH:MM:SSZ] [EndTime|YYYY-mm-ddTHH:MM:SSZ] [SearchWords] [OutputFile]
#Example:

对于 Linux

./DownloadLogsByWords.sh authkey 2025-01-01T00:00:00.000Z 2025-12-31T23:59:59.999Z "session launch" logs.csv

对于 Windows

DownloadLogsByWords.bat authkey 2025-01-01T00:00:00.000Z 2025-12-31T23:59:59.999Z "failed vda" logs.csv
当 LogServer 以“-e LOCAL_DOWN_ONLY=false”启动时,适用于 Windows PowerShell:
Invoke-WebRequest -Uri "https://logserver_fqdn:8443/ctxlogserver/Download/SearchLog?start=2025-01-01T00:00:00Z&end=2025-01-02T00:00:00Z&words=failed vda" -Headers @{ AuthKey = "ebac9b7726cb4be597c92c6769134d25" } -OutFile logs.csv
词语之间用空格分隔