Citrix Virtual Apps and Desktops

Citrix 洞察服务

Citrix Insight Services (CIS) 是 Citrix 的一个平台,用于实现仪器化、遥测和业务洞察生成。其仪器化和遥测功能使技术用户(客户、合作伙伴和工程师)能够自我诊断和修复问题,并优化其环境。有关 CIS 及其工作原理的详细信息和最新信息,请参阅 https://cis.citrix.com(需要 Citrix 帐户凭据)。

所有上传到 Citrix 的信息均用于故障排除和诊断目的,以及提高产品质量、可靠性和性能,但须遵守:

此 Citrix 虚拟应用和桌面™ 版本支持以下技术。

除了 CIS 和 Citrix Analytics 之外(且独立于它们):当您安装(或升级)Studio 时,会自动收集(并随后上传)Google Analytics 数据。安装 Studio 后,您可以使用注册表项 HKLM\Software\Citrix\DesktopStudio\GAEnabled 更改此设置。值为 1 表示启用收集和上传,0 表示禁用收集和上传。

安装和升级情况分析

当您使用完整产品安装程序部署或升级 Citrix Virtual Apps and Desktops 组件时,有关安装过程的匿名信息会在您安装/升级组件的计算机上收集和存储。此数据用于帮助 Citrix 改进客户的安装体验。

所有相关信息都将本地存储在 %ProgramData%\Citrix\CTQs 目录下,供您查阅。

在完整产品安装程序的图形界面和命令行界面中,此数据的自动上传默认启用。

  • 您可以在注册表设置中更改默认值。如果在安装/升级之前更改注册表设置,则在使用完整产品安装程序时将使用该值。
  • 如果您使用命令行界面进行安装/升级,可以通过在命令中指定一个选项来覆盖默认设置。

控制自动上传:

  • 控制安装/升级分析数据自动上传的注册表设置(默认值 = 1):

    • Location: HKLM:\Software\Citrix\MetaInstall
    • Name: SendExperienceMetrics
    • 值:0 = 禁用,1 = 启用
  • 使用 PowerShell,以下 cmdlet 可禁用安装/升级分析数据的自动上传:

     New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\MetaInstall -Name SendExperienceMetrics -PropertyType DWORD -Value 0
     <!--NeedCopy-->
    
  • To disable automatic uploads with the XenDesktopServerSetup.exe or XenDesktopVDASetup.exe command, include the /disableexperiencemetrics option.

    To enable automatic uploads with the XenDesktopServerSetup.exe or XenDesktopVDASetup.exe command, include the /sendexperiencemetrics option.

Citrix 客户体验改善计划

当您参与 Citrix 客户体验改善计划 (CEIP) 时,匿名统计数据和使用信息将发送给 Citrix,以帮助 Citrix 改进其产品的质量和性能。有关详细信息,请参阅 https://more.citrix.com/XD-CEIP。

在站点创建或升级期间注册

创建站点(安装第一个 Delivery Controller™ 后)时,您将自动注册 CEIP。首次数据上传大约在创建站点七天后进行。

创建站点后,您可以随时停止参与。在 Web Studio 左窗格中选择设置节点,然后关闭Citrix 客户体验改善计划设置。

当您升级 Citrix 虚拟应用和桌面 部署时:

  • 如果您从不支持 CEIP 的版本升级,系统会询问您是否要参与。
  • 如果您从支持 CEIP 且已启用参与的版本升级,则 CEIP 会在升级后的站点中启用。
  • 如果您从支持 CEIP 且已禁用参与的版本升级,则 CEIP 会在升级后的站点中禁用。
  • 如果您从支持 CEIP 且参与状态未知版本升级,系统会询问您是否要参与。

收集的信息是匿名的,因此上传到 Citrix Insight Services 后无法查看。

安装 VDA 时的注册

默认情况下,安装 Windows VDA 时会自动注册 CEIP。您可以在注册表设置中更改此默认值。如果在安装 VDA 之前更改注册表设置,则会使用该值。

控制 CEIP 自动注册的注册表设置(默认值 = 1):

Location: HKLM: \Software\Citrix\Telemetry\CEIP Name: Enabled Value: 0 = disabled, 1 = enabled

默认情况下,Enabled 属性在注册表中是隐藏的。如果未指定,则启用自动上传功能。

Using PowerShell, the following cmdlet disables enrollment in CEIP:

New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\Telemetry\CEIP -Name Enabled -PropertyType DWORD -Value 0
<!--NeedCopy-->

收集的运行时数据点会定期作为文件写入输出文件夹(默认 %programdata%/Citrix/VdaCeip)。

首次数据上传大约在安装 VDA 七天后进行。

安装其他产品和组件时的注册功能

您在安装相关的思杰产品、组件和技术(例如思杰预配™、AppDNA、思杰许可证服务器、适用于 Windows 的思杰 Workspace™ 应用程序、通用打印服务器和会话录制)时,也可以参与 CEIP。有关安装和参与默认值的详细信息,请参阅其文档。

思杰回传

在 Citrix Virtual Apps and Desktops 中安装某些组件和功能时,系统会为您提供参与 Citrix Call Home 的机会。Call Home 会收集诊断数据,然后定期将包含这些数据的遥测包直接上传到 Citrix Insight Services(通过默认端口 443 上的 HTTPS),以进行分析和故障排除。

In Citrix Virtual Apps and Desktops, Call Home runs as a background service under the name Citrix Telemetry Service. For more information, see https://more.citrix.com/XD-CALLHOME.

Call Home 计划功能也可在 Citrix Scout 中使用。有关详细信息,请参阅 (/zh-cn/citrix-virtual-apps-desktops/2402-ltsr/manage-deployment/cis/scout.html)。

收集的内容

Citrix Diagnostic Facility (CDF) 跟踪会记录对故障排除有用的信息。Call Home 会收集一部分 CDF 跟踪,这些跟踪在排查常见故障(例如 VDA 注册和应用程序/桌面启动)时非常有用。此技术称为始终开启跟踪 (AOT)。AOT 日志保存在磁盘上的 C:\Users\CitrixTelemetryService\Appdata\Local\CitrixAOT 中。

Call Home 不会收集任何其他 Windows 事件跟踪 (ETW) 信息,也无法配置为这样做。

Call Home 还会收集其他信息,例如:

  • Citrix 虚拟应用和桌面 在 HKEY_LOCAL_MACHINE\SOFTWARE\Citrix 下创建的注册表。
  • 思杰命名空间下的 Windows 管理规范 (WMI) 信息。
  • 正在运行的进程列表。
  • Crash dumps of Citrix processes that are stored in %PROGRAM DATA%\Citrix\CDF.
  • 安装和升级信息。这可以包括完整的产品元安装程序日志、失败的 MSI 日志、MSI 日志分析器的输出、StoreFront™ 日志、许可兼容性检查日志以及初步站点升级测试的结果。

跟踪信息在收集时会进行压缩。Citrix Telemetry Service 最多保留 10 MB 的压缩近期跟踪信息,最长时间限制为八天。

  • 压缩数据可使 Call Home 在 VDA 上保持较小的占用空间。
  • 跟踪信息保存在内存中,以避免预配计算机上的 IOP。
  • 跟踪缓冲区使用循环机制在内存中保留跟踪信息。

Call Home 收集 (/zh-cn/citrix-virtual-apps-desktops/2402-ltsr/manage-deployment/call-home-datapoints.html) 中列出的关键数据点。

配置和管理摘要

您可以在使用完整产品安装向导时或之后使用 PowerShell cmdlet 注册 Call Home。注册后,默认情况下,诊断信息会在当地时间每周日凌晨 3:00 左右收集并上传到 Citrix。上传时间会从指定时间开始随机化,间隔两小时。这意味着使用默认计划的上传会在凌晨 3:00 到凌晨 5:00 之间进行。

如果您不想定期上传诊断信息(或者您想更改计划),可以使用 PowerShell cmdlet 手动收集和上传诊断信息或将其存储在本地。

当您注册计划的 Call Home 上传以及手动将诊断信息上传到 Citrix 时,您需要提供 Citrix 帐户或 Citrix Cloud™ 凭据。Citrix 会将这些凭据交换为上传令牌,该令牌用于识别客户并上传数据。凭据不会保存。

上传发生时,通知将通过电子邮件发送到与 Citrix 帐户关联的地址。

如果您在安装组件时启用了 Call Home,则可以 (#disable-call-home)。

先决条件

  • 计算机必须运行 PowerShell 3.0 或更高版本。
  • Citrix Telemetry 服务必须在计算机上运行。
  • 系统变量 PSModulePath 必须设置为遥测服务的安装路径。例如,其默认安装路径为 C:\Program Files\Citrix\Telemetry Service\。

在组件安装期间启用 Call Home

在 VDA 安装或升级期间:当您使用完整产品安装程序中的图形界面安装或升级虚拟投递代理时,系统会询问您是否要参与 Call Home。有两个选项:

  • 参与回传功能。
  • 不参与回传功能。

如果您正在升级 VDA 并且之前已注册 Call Home,则不会显示该向导页面。

在 Controller 安装或升级期间:当您使用图形界面安装或升级 Delivery Controller 时,系统会询问您是否要参与 Call Home。有三个选项:

当您安装 Controller 时,如果该服务器应用了包含策略设置“Log on as a service”的 Active Directory GPO,则无法在安装向导的 Call Home 页面上配置信息。有关详细信息,请参阅 CTX218094。

如果您正在升级 Controller 并且之前已注册 Call Home,则不会询问您是否参与。

PowerShell cmdlets

PowerShell 帮助提供了全面的语法,包括这些常见用例中未使用的 cmdlet 和参数的说明。

要使用代理服务器进行上传,请参阅 配置代理服务器。

  • 启用计划上传:诊断集合会自动上传到 Citrix。如果您不输入用于自定义计划的其他 cmdlet,则会使用默认计划。

     $cred = Get-Credential
     Enable-CitrixCallHome -Credential $cred
     <!--NeedCopy-->
    

    要确认已启用计划上传,请输入 Get-CitrixCallHome。如果已启用,则返回 IsEnabled=True 和 IsMasterImage=False。

  • 为从主映像创建的计算机启用计划上传:在主映像中启用计划上传可省去配置计算机目录中创建的每台计算机的麻烦。

    Enable-CitrixCallHome -Credential $cred -MasterImage

    要确认已启用计划上传,请输入 Get-CitrixCallHome。如果已启用,则返回 IsEnabled=True 和 IsMasterImage=True。

  • 创建自定义计划: 为诊断数据收集和上传创建每日或每周计划。

     $timespan = New-TimeSpan –Hours hours -Minutes minutes
     Set-CitrixCallHomeSchedule –TimeOfDay $timespan –DayOfWeek day -UploadFrequency {Daily|Weekly}
     <!--NeedCopy-->
    

示例:

以下 cmdlet 创建一个计划,用于在每天晚上 10:20 捆绑和上传数据。Hours 参数使用 24 小时制。当 UploadFrequency 参数值为 Daily 时,如果指定了 DayOfWeek 参数,则会忽略它。

$timespan – New-TimeSpan –Hours 22 –Minutes 20
Set-CitrixCallHomeSchedule –TimeOfDay $timespan -UploadFrequency Daily
<!--NeedCopy-->

要确认计划,请输入 Get-CitrixCallHomeSchedule。在前面的示例中,它返回 StartTime=22:20:00, DayOfWeek=Sunday (ignored), Upload Frequency=Daily。

以下 cmdlet 创建一个计划,用于在每周三晚上 10:20 捆绑和上传数据。

$timespan – New-TimeSpan –Hours 22 –Minutes 20
Set-CitrixCallHomeSchedule –TimeOfDay $timespan –DayOfWeek Wed -UploadFrequency Weekly
<!--NeedCopy-->

要确认计划,请输入 Get-CitrixCallHomeSchedule。在前面的示例中,它返回 StartTime=22:20:00, DayOfWeek=Wednesday, Upload Frequency=Weekly。

禁用 回传

您可以使用 PowerShell 命令或通过 Citrix Scout 禁用回传功能。

即使禁用 Call Home 计划上传,AOT 日志也会收集并保存到磁盘。(当禁用计划上传时,AOT 日志不会自动上传到 Citrix。)您可以禁用 AOT 日志的收集和本地存储。

使用 PowerShell 禁用回传功能

运行以下 cmdlet 后,诊断数据将不会自动上传到 Citrix。(您仍然可以使用 Citrix Scout 或遥测 PowerShell cmdlet 上传诊断数据。)

Disable-CitrixCallHome

要确认 Call Home 已禁用,请输入 Get-CitrixCallHome。如果已禁用,则返回 IsEnabled=False 和 IsMasterImage=False。

使用 Citrix Scout 禁用收集计划

要使用 Citrix Scout 禁用诊断收集计划,请遵循 计划收集 中的指导。在步骤 3 中,单击 Off 以取消所选计算机的计划。

禁用 AOT 日志收集

运行以下 cmdlet(将 Enabled 字段设置为 false)后,将不会收集 AOT 日志。

Enable-CitrixTrace -Listen'{"trace":{"enabled":false,"persistDirectory":"C:\Users\Public","maxSizeBytes":1000000, "sliceDurationSeconds":300}}'

Listen 参数包含 JSON 格式的参数。

为 Call Home 上传配置代理服务器

在启用 Call Home 的计算机上完成以下任务。以下过程中的示例图包含服务器地址和端口 10.158.139.37:3128。您的信息将有所不同。

  1. 在浏览器中添加代理服务器信息。在 Internet Explorer 中,选择 Internet 选项 > 连接 > 局域网设置。选择“为 LAN 使用代理服务器”并输入代理服务器地址和端口号。

  2. In PowerShell, run netsh winhttp import proxy source=ie.

    配置代理服务器时运行 netsh 命令的示例

  3. 使用文本编辑器打开并编辑 TelemetryService.exe 配置文件,此文件位于 C:\Program Files\Citrix\Telemetry Service 路径下。请将红色框中所示的信息添加进去。

    将代理服务器信息添加到 TelemetryService.exe 文件中

  4. 重新启动 Telemetry 服务。

请在 PowerShell 环境中执行 Call Home 的所有相关命令。

手动进行诊断信息的收集和上传

您可以使用 CIS 网站将诊断信息包上传到 CIS。您还可以使用 PowerShell cmdlet 收集诊断信息并将其上传到 CIS。

要使用 CIS 网站上传捆绑包,请执行以下操作:

  1. 请使用您的 Citrix 帐户的登录凭证信息,以便登录到 Citrix Insight Services。
  2. 选择我的工作区。
  3. 选择运行状况检查,然后导航到您的数据位置。

CIS 支持多个用于管理数据上传的 PowerShell cmdlet。本文档涵盖了两种常见情况下的 cmdlet:

  • 使用 Start-CitrixCallHomeUpload cmdlet 手动收集诊断信息捆绑包并将其上传到 CIS。(该捆绑包未在本地保存。)
  • 使用 Start-CitrixCallHomeUpload cmdlet 手动收集数据并在本地存储诊断信息捆绑包。这允许您预览数据。稍后,使用 Send-CitrixCallHomeBundle cmdlet 手动将该捆绑包的副本上传到 CIS。(您最初保存的数据仍保留在本地。)

PowerShell 帮助提供了全面的语法,包括这些常见用例中未使用的 cmdlet 和参数的说明。

当您输入 cmdlet 将数据上传到 CIS 时,系统会提示您确认上传。如果 cmdlet 在上传完成之前超时,请检查系统事件日志中的上传状态。如果服务已在执行上传,则上传请求可能会被拒绝。

收集数据并将捆绑包上传到 CIS:

Start-CitrixCallHomeUpload [-Credential] PSCredential [-InputPath string] [-Description string] [-IncidentTime string] [-SRNumber string] [-Name string] [-UploadHeader string] [-AppendHeaders string] [-Collect string] [<CommonParameters>]
<!--NeedCopy-->

收集数据并将其本地保存:

Start-CitrixCallHomeUpload -OutputPath <String> [-InputPath string] [-Description string] [-IncidentTime string] [-SRNumber string] [-Name string] [-UploaderHeader string] [-AppendHeaders string] [-Collect strings] [<CommonParameters>]
<!--NeedCopy-->

以下参数是有效的:

  • 凭据: 将上传定向到 CIS。
  • InputPath: 要包含在捆绑包中的 zip 文件位置。这可能是 Citrix 支持请求的附加文件。请务必包含 .zip 扩展名。
  • OutputPath: 诊断信息保存的位置。在本地保存 Call Home 数据时需要此参数。
  • 描述和事件时间: 关于上传的自由格式信息。
  • SR编号: Citrix 技术支持事件编号。
  • 名称: 标识捆绑包的名称。
  • UploadHeader: 指定上传到 CIS 的上传标头的 JSON 格式字符串。
  • AppendHeaders: 指定上传到 CIS 的附加标头的 JSON 格式字符串。
  • 收集: JSON 格式字符串,指定要收集或省略的数据,格式为 {‘collector’:{‘enabled’:Boolean}},其中 Boolean 为 true 或 false。 有效的收集器值为:

    • ‘WMI’
    • ‘进程’
    • ‘注册表’
    • ‘崩溃报告’
    • ‘跟踪’
    • ‘文件’
    • ‘MSI’
    • ‘本地数据’
    • ‘站点数据’
    • ‘埃斯埃夫比’

    默认情况下,除“sfb”之外的所有收集器均已启用。

    “sfb”收集器旨在按需使用,以诊断 Skype for Business 问题。除了“enabled”参数外,“sfb”收集器还支持“account”和“accounts”参数来指定目标用户。请使用以下形式之一:

    • “-收集 “{‘埃斯埃夫比’:{‘账户’:’domain\\user1’}}}
    • “-收集 “{‘埃斯埃夫比’:{‘账户’:[‘domain\\user1’, ‘domain\\user2’]}}}
  • 常用参数:请参阅 PowerShell 帮助。

上传以前在本地保存的数据:

Send-CitrixCallHomeBundle -Credential <PSCredentia\> -Path string [<CommonParameters>]

Path 参数指定了以前保存的捆绑包的位置。

示例:

以下 cmdlet 请求将 Call Home 数据(不包括来自 WMI 收集器的数据)上传到 CIS。此数据与 Citrix Provisioning VDA 的注册失败有关,该失败在下午 2:30 记录,对应 Citrix 支持案例 123456。除了 Call Home 数据外,文件“c:\Diagnostics\ExtraData.zip”也包含在上传的捆绑包中。

C:\PS\>Start-CitrixCallHomeUpload -InputPath "c:\Diagnostics\ExtraData.zip" -Description "Registration failures with Citrix Provisioning VDAs" -IncidentTime "14:30" -SRNumber 123456 -Name "RegistrationFailure-021812016" -Collect "{'wmi':{'enabled':false}}" -UploadHeader "{'key1':'value1'}" -AppendHeaders "{'key2':'value2'}"
<!--NeedCopy-->

以下 cmdlet 保存与 Citrix 支持案例 223344 相关的 Call Home 数据,该案例在上午 8:15 记录。数据保存在网络共享上的 mydata.zip 文件中。除了 Call Home 数据外,文件“c:\Diagnostics\ExtraData.zip”也将包含在保存的捆绑包中。

C:\PS\>Start-CitrixCallHomeUpload -OutputPath \\mynetwork\myshare\mydata.zip -InputPath "c:\Diagnostics\ExtraData.zip" -Description "Diagnostics for incident number 223344" -IncidentTime "8:15" -SRNumber 223344
<!--NeedCopy-->

以下 cmdlet 上传您之前保存的数据捆绑包。

$cred=Get-Credential
C:\PS>Send-CitrixCallHomeBundle –Credential $cred -Path \\mynetwork\myshare\mydata.zip
<!--NeedCopy-->
Citrix 洞察服务