从 CVAD 核心组件上传 AOT 日志
Beginning with CVAD 2507 CU1 and CVAD 2511, AOT logs are gathered from all applicable components. The supported components include DDC, StoreFront, Citrix Director, Windows VDA, Linux VDA, Mac VDA, License Server, FAS, Cloud Connector, PVS, WEM, Session Recording, Citrix Workspace UI, and Citrix Gateway.
通过 Citrix Web Studio 为本地 CVAD 集中配置日志转发
Citrix Web Studio 提供了一个集中位置,用于配置整个站点的 Always-on Tracing (AOT) 日志转发。此设置定义了 AOT 日志的发送位置,并自动将配置传播到环境中的相关组件。
在 Web Studio 中配置日志服务器时:
- 配置将写入站点数据库。
- Delivery Controller 检索更新的设置并将其分发给所选交付组中的 VDA。
- VDA 使用收到的配置将其 AOT 日志转发到指定的日志服务器。
- 参与 AOT 日志记录的 StoreFront 通过相同的集中机制接收必要的详细信息。
- Director 使用提供的 AuthKey 和日志服务器详细信息来查询和显示 AOT 日志,以进行监视和故障排除。
这种集中式方法消除了单独配置每个组件的需要。您只需在 Web Studio 中设置一次日志服务器详细信息,Citrix 就会自动将配置传播到整个站点。
以下是配置在 Web Studio 中设置后将获取日志服务器详细信息的组件列表:
- Citrix 导向器/监控
- Citrix 交付控制器
- Windows 虚拟投递代理
- Linux 虚拟投递代理
- Mac 虚拟投递代理
- 思杰店面
- 会话录制代理
- CWAs (思杰工作区应用程序)
配置本地部署环境的日志服务器设置

- 登录 Web Studio 并在左侧窗格中选择设置。
- 在日志服务器磁贴中,如果未配置日志服务器,请选择添加。
- 在日志服务器页面上,打开启用日志转发到日志服务器。
-
输入日志服务器地址和端口。VDA 和交付控制器使用此信息转发 AOT 日志。
注意:
-
如果您正在使用 Citrix Connector Appliance 部署日志服务器,请确保仅配置端口 443。
-
在 Citrix Studio 中更新日志服务器地址和端口最初有效,但如果您重新访问设置并在未重新输入身份验证密钥的情况下修改日志服务器详细信息,则身份验证密钥占位符在保存后会变为空,即使操作看起来成功。这会导致 Director 和 Monitor 中缺少或配置无效。作为一种解决方法,在修改日志服务器设置时,请务必重新输入并验证身份验证密钥,直到此问题解决。
-
-
选择哪些组件转发日志:
-
包括交付控制器:从所有交付控制器发送 AOT 日志。
-
选择交付组:从所选交付组中的 VDA 发送日志。
- 所有交付组:从所有 VDA 发送日志。
- 选择特定交付组:选择要包括的单个交付组。
-
- 输入在日志服务器上生成的 AuthKey。dDirector 使用此密钥进行身份验证和检索日志。
- 选择保存以应用配置。
对现有配置进行编辑
要更新日志服务器或修改日志记录范围,请转到设置 > 日志服务器并选择编辑。
通过 DaaS 设置配置 Citrix DaaS/云环境的日志服务器设置
始终在线跟踪 (AOT) 支持本地 (CVAD) 和 Citrix DaaS(云)部署。但是,日志收集行为因组件托管位置而异。
在安装和配置 AOT 日志服务器(在 Linux、Windows 或连接器设备上)后,完成以下步骤以在 Citrix DaaS 设置中为云部署启用日志转发到日志服务器:

适用于 DaaS 的 Citrix Web Studio(DaaS 设置)提供了一个集中位置,用于为云托管站点配置始终在线跟踪 (AOT) 日志转发。此配置确定 AOT 日志的发送位置,并控制哪些 VDA 参与日志转发。Monitor 使用这些设置来检索和显示日志以进行故障排除。
- 登录适用于 DaaS 的 Web Studio(DaaS 设置),并在左侧窗格中选择设置。
- 在日志服务器磁贴中,如果当前未配置日志服务器,请选择添加。
- 在日志服务器页面上,输入日志服务器地址和端口。VDA 使用此信息将 AOT 日志转发到服务器。
-
定义哪些 VDA 转发日志:
- 选择选择交付组以控制范围。
- 所有交付组(默认)转发站点中所有 VDA 的日志。
- 要定位特定的 VDA,请选择选择特定的交付组,然后选择要包含的交付组。
注意:
如果您正在使用 Citrix Connector Appliance 部署日志服务器,请确保仅配置了端口 443。
- 选择部署日志服务器的区域(资源位置)。
- 输入日志服务器生成的 Authkey。Monitor 使用此密钥进行身份验证并检索日志以供显示。
- 选择“保存”以应用配置。
针对其他组件的日志转发配置
配置会话录制服务器的 AOT 日志上传
您可以通过在会话录制服务器计算机上运行以下 PowerShell 命令,将会话录制服务器配置为将 AOT 日志上传到中央日志服务器:
#Enable - run following command in Session Recording Server PowerShell
Enable-CitrixAOTUpload -AotDataStoreEndpoint <https://FQDNofServer>:<server port> -Role SessionRecording
#Disable - run following command in Session Recording Server PowerShell
Disable-CitrixAOTUpload
<!--NeedCopy-->
配置 FAS 的 AOT 日志上传
您可以通过在 FAS 服务器上运行以下 PowerShell 命令,将 FAS 配置为将 AOT 日志上传到中央日志服务器:
#Enable - run following command in FAS PowerShell
Enable-CitrixAOTUpload -AotDataStoreEndpoint <https://FQDNofServer>:<server port> -Role FAS
#Disable - run following command in FAS PowerShell
Disable-CitrixAOTUpload
<!--NeedCopy-->
配置 PVS 的 AOT 日志上传
您可以通过在 PVS 服务器上运行以下 PowerShell 命令,将 PVS 配置为将 AOT 日志上传到中央日志服务器:
#Enable - run following command in PVS PowerShell
Enable-CitrixAOTUpload -AotDataStoreEndpoint <https://FQDNofServer>:<server port> -Role PVS
#Disable - run following command in PVS PowerShell
Disable-CitrixAOTUpload
<!--NeedCopy-->
注意:
如果您有多个 PVS 服务器,请在每个服务器上运行该命令以启用或禁用 AOT 日志上传。
上传许可证服务器的 AOT 日志
- The Logserver URL needs to be updated inside SLS config file, which can be find at the location “C:\Program Files (x86)\Citrix\Licensing\WebServicesForLicensing\SimpleLicenseServiceConfig.xml” with XML tag “AotServerURL”
示例:
<AotServerURL>https://<FQDNofLogServer:443>//ctxlogserver/UploadCitrixLogStream</AotServerURL>
<!--NeedCopy-->
注意:
许可证服务器何时生成日志?
许可证服务器 AOT 日志仅在特定事件期间生成,例如:许可证服务器安装或升级、WSL (Citrix Web Services for Licensing) 服务重启、许可证激活失败、暗站点激活失败以及与时钟相关的许可问题
如果最近没有发生这些事件,则日志的缺失不一定表示存在问题。
快速检查
- 确认最近是否发生了符合条件的事件(重启、升级、激活问题等)。
- 重新启动 Citrix Web Services for Licensing 服务,并预留最多一小时用于上传处理。
- 验证 AOT 日志服务器 URL 是否配置正确。
- 确认 Citrix 许可 Web 服务正在运行。
- 检查:
C:\Program Files (x86)\Citrix\Licensing\LS\resource\aot如果文件包含数据,则日志可能正在等待上传。
注意:
许可证服务器 AOT 日志记录是事件驱动的,而非连续的。当没有发生符合条件的事件时,看不到日志是正常的。
- 许可证服务器会自动定期将日志上传到 AOT 服务器。
配置 Citrix 连接器的 AOT 日志上传
要在 AOT 日志服务器中收集 Cloud Connector 日志,需要满足以下要求:
-
Cloud Connector 必须是 版本 6.157.0.19398 或更高版本。
-
在 云 DDC 部署 中,日志服务器配置详细信息会随 5 月版本 (DDC 128) 自动同步到注册表,无需手动配置
-
在 混合部署(本地 DDC) 中,需要手动配置注册表才能启用日志收集。请在 Cloud Connector 计算机上创建以下注册表项:
路径:
HKLM\Software\Citrix\ConfigSyncService
条目:
-
LogServerEnabled (REG_DWORD) = 1 -
LogServerEndpoint (REG_SZ) = <https://<logserver-fqdn>:<port>>
配置适用于 Citrix Workspace 应用程序的 AOT 日志上传
Citrix 赋能 Citrix Workspace 应用程序客户端自动将诊断日志上传到集中式日志服务器。此功能通过向管理员提供客户端诊断信息的即时访问权限,而无需手动收集日志,从而提高了故障排除效率。客户端 AOT 将自动上传,并在整个 CVAD 环境中启用 AOT 功能以及用户启动资源时触发。
对系统的要求
- 思杰虚拟应用和桌面 2511 或 CVAD 2507 CU1 及更高版本
- 思杰 工作区 应用程序 2511 或 CWA 2507.1 CU1 及更高版本
- 确保已安装所选 Citrix Workspace 应用程序 (CWA) 的所需版本。有关详细信息,请参阅 支持的版本
配置 NetScaler 的 AOT 日志上传功能
- 通过 SSH 连接到 NetScaler 命令行界面,然后通过运行“shell”命令进入 NetScaler 外壳。
-
请您导航到 /var/analytics_conf 目录所在的位置。
cd /var/analytics_conf <!--NeedCopy--> - 通过执行交互式 Python 脚本“python {auditlog_schema_generator_for_hec_export.py}”生成架构文件。架构文件定义了 HTTP 标头(认证令牌、用户代理等)和负载属性(角色、机器 IP 等)。
此脚本生成的输出示例片段
root@Raju-adc2# python auditlog_schema_generator_for_hec_export.py
Schema Builder: Follow the prompts to define your schema.
Include 'Auth-Token'? (Y/n):
Enter the display name (alias) for 'Auth-Token' (press Enter to keep as is): Authkey
'Auth-Token' can only go in 'header'. Automatically selected.
Include 'HostName'? (Y/n): n
Include 'Content-type'? (Y/n): y
Enter the display name (alias) for 'Content-type' (press Enter to keep as is):
'Content-type' can only go in 'header'. Automatically selected.
Default value for 'Content-type' is 'application/json'.
Do you want to change it? (y/N):
Include 'User-agent'? (Y/n):
Enter the display name (alias) for 'User-agent' (press Enter to keep as is):
'User-agent' can only go in 'header'. Automatically selected.
Default value for 'User-agent' is 'AUDITLOGS/1.0'.
Do you want to change it? (y/N):
Include 'Role'? (Y/n): y
Enter the display name (alias) for 'Role' (press Enter to keep as is):
Where should 'Role' be included? (HEADER/payload): HEADER
Default value for 'Role' is 'GW'.
Do you want to change it? (y/N): y
Enter new default value for 'Role': Gateway
<!--NeedCopy-->
生成的示例架构文件
{
"Header": {
"Auth-Token": {
"name": "AuthKey"
},
"Content-type": {
"name": "Content-type",
"value": "application/json"
},
"User-agent": {
"name": "User-agent",
"value": "AUDITLOGS/1.0"
},
"Role": {
"name": "Role",
"value": "Gateway"
},
"MachineIP": {
"name": "MachineIP"
},
"MachineName": {
"name": "MachineName"
}
},
"Payload": {
"LogLevel": "Level",
"MessageContent": "Message",
"ModuleName": "Module",
"Time": "TimeStamp"
},
"Format": {
"delimiter": ""
}
}
<!--NeedCopy-->
- 退出 shell 并返回 NetScaler 命令行界面
- 创建一个 syslog Action,它定义了 Syslog 服务器、端口和架构文件(在上一步中创建)等
add audit syslogAction {Action Name} {AOT Server IP/FQDN} -serverPort {Destination Port} -logLevel {Log Level} -transport HTTP -httpAuthToken {Authentication Token generated on the AOT sever} -httpEndpointUrl {AOT Server URL where logs will be sent} -httpSchemaFile {Schema File created in Previous Step}
<!--NeedCopy-->
示例:
add audit syslogAction act1 10.102.154.196 -serverPort 8088 -logLevel ALL -transport HTTP -httpAuthToken fbb94d5b234d86a6cb155e3f808dd33c9698a0d1a866e814573b1909e4c9e56896f433da1071e3276bd133269fd69203d8f29166816f4d427e709773ceb9d41d531043331f7f76 -httpEndpointUrl "/services/collector/event" -httpSchemaFile sample.json
<!--NeedCopy-->
- 将 syslogAction 绑定到审计系统日志策略
add audit syslogPolicy {PolicyName} True {Name of the Syslog Action}
<!--NeedCopy-->
示例:
add audit syslogPolicy pol1 true act1
<!--NeedCopy-->