Citrix Virtual Apps and Desktops

Citrix Insight Services

Citrix Insight Services (CIS) 是用于性能监测、遥测以及生成业务洞察的 Citrix 平台。通过其性能监测和遥测功能,技术用户(客户、合作伙伴和工程师)就可以自行诊断和修复问题并优化其环境。有关 CIS 及其工作原理的最新详细信息,请访问 https://cis.citrix.com(需要 Citrix 帐户凭据)。

上载到 Citrix 的所有信息均用于故障排除和诊断目的,以及提高产品的质量、可靠性和性能,对这些信息的使用将遵循以下策略:

此 Citrix Virtual Apps and Desktops 版本支持以下技术。

除了(以及不同于)CIS 和 Citrix Analytics 之外:在安装(或升级)Studio 时,会自动收集 Google Analytics(并在以后上载)。安装 Studio 后,可以使用注册表项 HKLM\Software\Citrix\DesktopStudio\GAEnabled 更改此设置。值 1 将启用收集和上载,0 将禁用收集和上载。

安装和升级分析

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

该信息以本地方式存储在 %ProgramData%\Citrix\CTQs 下面。

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

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

控制自动上载:

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

    • 位置:HKLM:\Software\Citrix\MetaInstall
    • 名称:SendExperienceMetrics
    • 值:0 = 禁用,1 = 启用
  • 使用 PowerShell 时,以下 cmdlet 禁用自动上载安装/升级分析数据:

     New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\MetaInstall -Name SendExperienceMetrics -PropertyType DWORD -Value 0
     <!--NeedCopy-->
    
  • 要在 XenDesktopServerSetup.exe 或 XenDesktopVDASetup.exe 命令中禁用自动上载,请包含 /disableexperiencemetrics 选项。

    要在 XenDesktopServerSetup.exe 或 XenDesktopVDASetup.exe 命令中启用自动上载,请包含 /sendexperiencemetrics 选项。

Citrix 客户体验改善计划

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

创建或升级站点期间注册

(安装了第一个 Delivery Controller 后)在创建站点时,您会自动在 CEIP 中注册。大约会在您创建站点七天后上载第一个数据包。您可以在创建站点后随时停止参与。即在 Studio 导航窗格中选择配置节点(产品支持选项卡),并按指导信息进行操作。

升级 Citrix Virtual Apps and Desktops 部署时:

  • 如果从不支持 CEIP 的版本升级,系统将询问您是否要参与此计划。
  • 如果从支持 CEIP 的版本升级,且已启用计划参与功能,则将在升级后的站点中启用 CEIP。
  • 如果从支持 CEIP 的版本升级,且已禁用计划参与功能,则将在升级后的站点中禁用 CEIP。
  • 如果从支持 CEIP 的版本升级,且计划参与情况未知,则系统会询问您是否要参与计划。

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

安装 VDA 时注册

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

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

位置:HKLM: \Software\Citrix\Telemetry\CEIP 名称:已启用 值:0 = 已禁用,1 = 已启用

默认情况下,Enabled 属性隐藏在注册表中。当它保持未指定时,启用自动上载功能。

使用 PowerShell 时,以下 cmdlet 禁用在 CEIP 中注册:

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

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

大约在您安装 VDA 七天后第一次上载数据。

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

您也可以在安装相关 Citrix 产品、组件和技术(如 Citrix Provisioning、AppDNA、Citrix 许可证服务器、适用于 Windows 的 Citrix Workspace 应用程序、通用打印服务器和 Session Recording)时参与 CEIP。请参阅这些产品、组件和技术的文档,以了解有关其安装和计划参与过程的默认设置的详细信息。

Citrix Call Home

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

在 Citrix Virtual Apps and Desktops 中,Call Home 作为一个后台服务以名称 Citrix Telemetry Service 运行。有关详细信息,请参阅 https://more.citrix.com/XD-CALLHOME

Citrix Scout 中也提供 Call Home 计划功能。有关详细信息,请参阅 Citrix Scout

收集内容

Citrix 诊断工具 (CDF) 将跟踪可用于执行故障排除的日志信息。Call Home 将收集 CDF 跟踪信息子集,此信息有助于排除常见故障,例如 VDA 注册和应用程序/桌面启动。此技术称为“始终启用跟踪”(AOT)。AOT 日志保存在磁盘的 C:\Users\CitrixTelemetryService\Appdata\Local\CitrixAOT 中。

Call Home 不会收集任何其他 Windows 事件跟踪 (ETW) 信息,也无法在经过配置后执行此类操作。

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

  • 由 Citrix Virtual Apps and Desktops 在 HKEY_LOCAL_MACHINE\SOFTWARE\Citrix 下创建的注册表项。
  • 位于 Citrix 命名空间下的 Windows Management Instrumentation (WMI) 信息。
  • 正在运行的进程列表。
  • Citrix 进程的存储于 %PROGRAM DATA%\Citrix\CDF 中的故障转储。
  • 安装和升级信息。这可以包括完整产品 Metainstaller 日志、失败的 MSI 日志、MSI 日志分析器的输出、StoreFront 日志、许可兼容性检查日志以及初步站点升级测试的结果。

在收集跟踪信息时将压缩此信息。Citrix Telemetry Service 最多保留 10 MB 压缩后的近期跟踪信息,最长时间期限为 8 天。

  • 通过压缩数据,Call Home 可在 VDA 中占用较少的空间。
  • 跟踪信息保留在内存中,以避免在置备的计算机上发生 IOPS。
  • 跟踪缓冲区采用循环机制在内存中保留跟踪信息。

Call Home 将收集 Call Home 关键数据点中列出的关键数据点。

配置和管理摘要

可以在使用完整产品安装向导期间注册 Call Home,也可在以后使用 PowerShell cmdlet 进行此注册。您注册后,默认情况下,会在当地时间每个星期日大约凌晨 3:00 收集诊断信息并上载到 Citrix。上载将从指定的时间开始在两小时的时间间隔内随机进行。这意味着使用默认计划执行的上载操作会在凌晨 3:00 和 5:00 之间发生。

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

在注册按计划的 Call Home 上载时,以及手动向 Citrix 上载诊断信息时,必须提供 Citrix 帐户或 Citrix Cloud 凭据。Citrix 会将凭据更换为用于标识客户以及上载数据的上载令牌。凭据不会被保存。

上载时,系统会向与 Citrix 帐户关联的地址发送一封电子邮件。

如果在安装组件时启用了 Call Home,可以稍后将其禁用

必备条件

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

在组件安装期间启用 Call Home

在安装或升级 VDA 期间: 在完整产品安装程序中使用图形用户界面安装或升级 Virtual Delivery Agent 时,系统会询问您是否希望参与 Call Home。有两种选择:

  • 参与 Call Home。
  • 不参与 Call Home。

如果您是升级 VDA 且以前注册了 Call Home,则不会显示该向导页面。

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

安装 Controller 时,如果服务器具有应用了策略设置“作为服务登录”的 Active Directory GPO,您将无法在安装向导中的 Call Home 页面上配置信息。有关详细信息,请参阅 CTX218094

如果您要升级 Controller 并且以前注册了 Call Home,系统不会要求您参与。

PowerShell cmdlet

PowerShell 可帮助提供全面的语法,包括对并用于这些常见情况的 cmdlet 和参数的说明。

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

  • 启用按计划上载: 诊断收集信息会自动上载到 Citrix。如果没有为自定义计划输入其他 cmdlet,则会使用默认的计划。

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

    要确认已启用按计划上载,请输入 Get-CitrixCallHomeGet-CitrixCallHome。如果已启用,则返回 IsEnabled=TrueIsMasterImage=False

  • 为从主映像创建的计算机启用按计划上载: 通过在主映像中启用按计划上载,无需对计算机目录中创建的每台计算机进行配置。

    Enable-CitrixCallHome -Credential $cred -MasterImage

    要确认已启用按计划上载功能,请输入 Get-CitrixCallHome。如果已启用,则返回 IsEnabled=TrueIsMasterImage=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

禁用 Call Home

您可以使用 PowerShell cmdlet 或通过 Citrix Scout 禁用 Call Home。

即使禁用了 Call Home 按计划上载,系统也会收集 AOT 日志并将其存储到磁盘中。(禁用按计划上载时,AOT 日志不会自动上载到 Citrix。)您可以禁用AOT 日志的收集和本地存储。

通过 PowerShell 禁用 Call Home

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

Disable-CitrixCallHome

要确认 Call Home 是否处于禁用状态,请输入 Get-CitrixCallHome。如果已禁用,则返回 IsEnabled=FalseIsMasterImage=False

使用 Citrix Scout 禁用收集计划

要使用 Citrix Scout 禁用诊断信息收集计划,请按照计划收集中的指导操作。在步骤 3 中,单击以取消选定计算机的计划。

禁用 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. 在 PowerShell 中,运行 netsh winhttp import proxy source=ie

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

  3. 使用文本编辑器,编辑 TelemetryService.exe 配置文件,该文件位于 C:\Program Files\Citrix\Telemetry Service 中。添加红框中显示的信息。

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

  4. 重新启动 Telemetry Service。

在 PowerShell 中运行 Call Home cmdlet。

手动收集和上载诊断信息

可以使用 CIS Web 站点向 CIS 上载诊断信息包。也可以使用 PowerShell cmdlet 收集诊断信息并将其上载到 CIS。

要使用 CIS Web 站点上载包,请执行以下操作:

  1. 使用 Citrix 帐户凭据登录到 Citrix Insight Services。
  2. 选择 My Workspace(我的工作区)。
  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-->

以下参数有效:

  • Credential: 指示上载至 CIS。
  • InputPath: 要包括在包内的 zip 文件的位置。这可能是 Citrix 支持部门要求提供的一个附加文件。请务必包括“.zip”扩展名。
  • OutputPath: 将用于保存诊断信息的位置。在本地保存 Call Home 数据时,此参数是必需的。
  • Description 和 Incident Time: 有关上载的自由格式的信息。
  • SRNumber: Citrix 技术支持事件编号。
  • Name: 用于标识包的名称。
  • UploadHeader: JSON 格式的字符串,用于指定上载到 CIS 的上载标头。
  • AppendHeaders: JSON 格式的字符串,用于指定上载到 CIS 的附加标头。
  • 收集:JSON 格式的字符串,用于指定要收集或忽略的数据,采用 {‘collector’:{‘enabled’:Boolean}} 格式,其中 Boolean 为 true 或 false。 有效的 collector 值为:

    • ‘wmi’
    • ‘process’
    • ‘registry
    • ‘crashreport’
    • ‘trace’
    • ‘file’
    • ‘msi’
    • ‘localdata’
    • ‘sitedata’
    • ‘sfb’

    默认情况下,会启用除 ‘sfb’ 之外的所有收集器。

    ‘sfb’ 收集器经过专门设计,可根据需求用于诊断 Skype for Business 问题。除 ‘enabled’ 参数以外,’sfb’ 收集器支持使用 ‘account’ 和 ‘accounts’ 参数来指定目标用户。使用以下一种形式:

    • “-Collect “{‘sfb’:{‘account’:’domain\\user1’}}”
    • “-Collect “{‘sfb’:{‘accounts’:[‘domain\\\user1’, ‘domain\\\user2’]}}”
  • 常用参数: 请参阅 PowerShell 帮助。

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

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

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

示例:

以下 cmdlet 会请求将 Call Home 数据上载(不包括从 WMI 收集器获取的数据)到 CIS。此数据(在下午 2:30 记录)与 Citrix Provisioning VDA 的失败注册相关,对应的 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 Insight Services