Citrix Virtual Apps and Desktops

从 CVAD 核心组件上传 AOT 日志

从 CVAD 2507 CU1 和 CVAD 2511 开始,将从所有适用组件收集 AOT 日志。支持的组件包括 DDC、StoreFront、Citrix Director、Windows VDA、Linux VDA、Mac VDA、许可证服务器、FAS、Cloud Connector、PVS、WEM、会话录制、Citrix Workspace UI 和 Citrix Gateway。

通过 Citrix Web Studio 进行集中式日志转发配置

  • 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 Director/Monitor
  • Citrix Delivery Controller
  • Windows VDA
  • Linux VDA
    • Mac VDA
    • StoreFront
  • 会话录制代理
  • CWAs

配置本地环境的日志服务器设置

AOT Log Server Settings

  1. 登录到 Web Studio,然后在左侧窗格中选择 设置
      1. 日志服务器 磁贴中,如果未配置日志服务器,请选择 添加
      1. 日志服务器 页面上,启用 将日志转发到日志服务器
  2. 输入 日志服务器地址端口。VDA 和 Delivery Controller 使用此信息转发 AOT 日志。

    注意:

    1. 如果您正在使用 Citrix Connector Appliance 部署日志服务器,请确保仅配置端口 443。

    2. 在 Citrix Studio 中更新日志服务器地址和端口最初是有效的,但如果您重新访问设置并修改日志服务器详细信息而未重新输入身份验证密钥,则身份验证密钥占位符在保存后会变为空,即使操作看起来成功。这会导致 Director 和 Monitor 中缺少或配置无效。作为一种解决方法,在修改日志服务器设置时,请务必重新输入并验证身份验证密钥,直到此问题解决。

  3. 选择哪些组件转发日志:

    1. 包括 Delivery Controller:从所有 Delivery Controller 发送 AOT 日志。

    2. 选择交付组:从所选交付组中的 VDA 发送日志。

      • 所有交付组:从所有 VDA 发送日志。
      • 选择特定交付组:选择要包括的单个交付组。
  4. 输入在日志服务器上生成的 AuthKey。Director 使用此密钥进行身份验证和检索日志。
  5. 选择 保存 以应用配置。

编辑现有配置

要更新日志服务器或修改日志记录范围,请转到 设置 > 日志服务器,然后选择 编辑

配置 Citrix DaaS/云环境的日志服务器设置

AOT Log Server Settings 1

适用于 DaaS 的 Citrix Web Studio 提供了一个集中位置,用于配置云管理站点的 Always-on Tracing (AOT) 日志转发。此配置确定 AOT 日志的发送位置,并控制哪些 VDA 参与日志转发。Monitor 使用这些设置来检索和显示日志以进行故障排除。

  1. 登录到 Web Studio,然后在左侧窗格中选择 设置
  2. 日志服务器 磁贴中,如果当前未配置日志服务器,请选择 添加
  3. 日志服务器 页面上,输入 日志服务器地址端口。VDA 使用此信息将 AOT 日志转发到服务器。
  4. 定义哪些 VDA 转发日志:

    1. 选择 选择交付组 以控制范围。
    2. 所有交付组(默认)转发站点中所有 VDA 的日志。
    3. 要定位特定 VDA,请选择 选择特定交付组,然后选择要包括的交付组。

    注意:

    如果您正在使用 Citrix Connector Appliance 部署日志服务器,请确保仅配置端口 443。

  5. 选择部署日志服务器的区域(资源位置)。
  6. 输入日志服务器生成的 Authkey。Monitor 使用此密钥进行身份验证并检索日志以供显示。
  7. 选择 保存 以应用配置。

其他组件的日志转发配置

配置会话录制服务器的 AOT 日志上传

您可以通过在会话录制服务器计算机上运行以下 PowerShell 命令,将会话录制服务器配置为将 AOT 日志上传到中央日志服务器:

#Enable - run following command in Session Recording Server PowerShell
-  Enable-CitrixAOTUpload -AotDataStoreEndpoint <server address>:<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 <server address>:<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 <server address>:<server port> -Role PVS

#Disable - run following command in PVS PowerShell
Disable-CitrixAOTUpload
<!--NeedCopy-->

注意:

如果您有多个 PVS 服务器,请在每个服务器上运行该命令以启用或禁用 AOT 日志上传。

上传许可证服务器的 AOT 日志

  • Logserver URL 需要在 SLS 配置文件中更新,该文件位于 “C:\Program Files (x86)\Citrix\Licensing\WebServicesForLicensing\SimpleLicenseServiceConfig.xml” 处,XML 标签为 “AotServerURL”。

示例:

<AotServerURL>https://10.110.249.168:8443/ctxlogserver/UploadCitrixLogStream</AotServerURL>
<!--NeedCopy-->
  • 许可证服务器会自动定期将日志上传到 AOT 服务器。

配置适用于 Windows 的 Citrix Connector 的 AOT 日志上传

Logserver URL 会自动从 Citrix Cloud 同步。无需执行任何操作。

配置 Citrix Workspace 应用程序的 AOT 日志上传

Citrix 允许 Citrix Workspace 应用程序客户端自动将诊断日志上传到集中式日志服务器。此功能通过向管理员提供对客户端诊断信息的即时访问,而无需手动收集日志,从而提高了故障排除效率。客户端 AOT 将自动上传,并在整个 CVAD 环境中启用 AOT 功能以及用户启动资源时触发。

系统要求

  • Citrix Virtual Apps and Desktops 2511 或 CVAD 2507 CU1 及更高版本
  • Citrix Workspace 应用程序 2511 或 CWA 2507.1 CU1 及更高版本
客户端平台 最低版本 支持矩阵
CWA for Windows CWA 2507.1 CU1, 2511 通过 Storefront 直接访问(本地)
CWA for HTML5 CWA 2511 通过 Storefront 直接访问(本地)
CWA for Chrome OS CWA 2511 通过 Storefront 直接访问(本地)

要为适用于 Windows 的 CWA 启用 AOT 功能,请添加以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\Dazzle Name: AotLogCollectionEnabled Type: REG_SZ Value: True

配置 NetScaler 的 AOT 日志上传

  • 通过 SSH 连接到 NetScaler CLI,然后通过运行 “shell” 命令进入 NetScaler shell。
  • 进入 /var/analytics_conf 目录

    cd /var/analytics_conf
    <!--NeedCopy-->
    
  • 通过执行交互式 Python 脚本 “python {Add script name}” 来生成架构文件。架构文件定义了 HTTP 标头(例如 Auth-token、User-Agent 等)和负载属性(例如 Role、Machine IP 等)。

此脚本生成的输出片段

root@Raju-adc2# python schema_generator_for_syslog_final.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 CLI
  • 创建一个 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 绑定到 Audit Syslog Policy
add audit syslogPolicy {PolicyName} True {Name of the Syslog Action}
<!--NeedCopy-->

示例:

add audit syslogPolicy pol1 true act1
<!--NeedCopy-->
从 CVAD 核心组件上传 AOT 日志