XenApp and XenDesktop

Citrix Insight Services

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

Citrix Insight Services 提供的功能继续增强和发展,现在已成为 Citrix Smart Tools 的不可或缺部分。借助 Citrix Smart Tools,您可以自动执行部署任务、运行状况检查和电源管理。有关这些技术的信息,请参阅 Citrix Smart Tools 文档。

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

此 XenApp 和 XenDesktop 版本支持以下工具和技术。

安装和升级分析

当您使用完整产品安装程序部署或升级 XenApp 或 XenDesktop 组件时,将在安装/升级组件的计算机上收集和存储有关安装过程的匿名信息。这些数据用于帮助 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

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

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

Citrix 客户体验改善计划 (CEIP)

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

创建或升级站点期间注册

(安装了第一个 Delivery Controller 后)在创建 XenApp 或 XenDesktop 站点时,您会自动在 CEIP 中注册。大约会在您创建站点七天后上载第一个数据包。您可以在创建站点后随时停止参与此计划。为此,请在 Studio 导航窗格中选择配置节点,然后按照指导进行操作。

在升级 XenApp 或 XenDesktop 部署时:

  • 如果从不支持 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

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

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

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

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

Citrix Smart Tools

安装 Delivery Controller 时可以启用 Smart Tools 访问。

默认情况下选择启用 Smart Tools 访问的选项(及参与 Call Home,如果未启用)。单击连接。此时将打开浏览器窗口并自动导航到 Smart Services Web 页面,您在此页面输入您的 Citrix Cloud 帐户凭据。(如果您没有 Citrix Cloud 帐户,只需输入您的 Citrix 帐户凭据,系统会自动为您创建新的 Citrix Cloud 帐户。)您通过身份验证后,系统会在 Smart Tools Agent 目录中无提示安装证书。

要使用 Smart Tools 技术,请参阅 Smart Tools 文档

Citrix Call Home

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

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

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

收集内容

Citrix 诊断工具 (CDF) 将跟踪可用于执行故障排除的日志信息。Call Home 将收集 CDF 跟踪信息子集,此信息有助于排除常见故障,例如 VDA 注册和应用程序/桌面启动。此技术称为“始终启用跟踪”(AOT)。Call Home 不会收集任何其他 Windows 事件跟踪 (ETW) 信息,也无法在经过配置后执行此类操作。

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

  • 由 XenApp 和 XenDesktop 在 HKEY_LOCAL_MACHINE\SOFTWARE\Citrix 下创建的注册表项
  • 位于 Citrix 命名空间下的 Windows Management Instrumentation (WMI) 信息
  • 正在运行的进程的列表
  • Citrix 进程的存储于 %PROGRAM DATA%\Citrix\CDF 中的崩溃转储

在收集跟踪信息时将压缩此信息。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 帐户关联的地址发送一封电子邮件。

必备条件

  • 计算机必须运行 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 并连接到 Citrix Smart Tools。有三个选项:

  • 连接到 Citrix Smart Tools,这包括通过 Smart Tools Agent 实现的 Call Home 功能。这是默认的推荐选项。如果选择此选项,则将配置 Smart Tools Agent。(无论是否选择此选项,都将安装 Smart Tools Agent。)
  • 仅参与 Call Home,但不连接到 Smart Tools。如果选择此选项,则将安装但不配置 Smart Tools Agent。Call Home 功能通过 Citrix Telemetry Service 和 Citrix Insight Services 提供。
  • 不连接到 Smart Tools,也不参与 Call Home。

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

如果您是升级 Controller 且以前注册了 Call Home,则该页面中将仅显示有关 Smart Tools 的问题。如果您已注册了 Call Home 且已安装了 Smart 代理,则不会显示该向导页面。

有关 Smart Tools 的信息,请参阅 Smart Tools 文档

PowerShell cmdlet

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

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

启用按计划上载

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

$cred = Get-Credential Enable-CitrixCallHome -Credential $cred

要确认已启用按计划上载功能,请输入 Get-CitrixCallHome。此 cmdlet 应返回 IsEnabled=True 和 IsMasterImage=False。

为从主映像创建的计算机启用按计划上载

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

Enable-CitrixCallHome -Credential $cred -MasterImage

要确认已启用按计划上载功能,请输入 Get-CitrixCallHome。此 cmdlet 应返回 IsEnabled=True 和 IsMasterImage=True。

创建自定义计划

为诊断收集和上载创建每天或每周计划。

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

取消按计划上载功能

取消按计划上载后,仍可以使用 PowerShell cmdlet 上载诊断数据。

Disable-CitrixCallHome

要确认已禁用按计划上载功能,请输入 get-CitrixCallHome。此 cmdlet 应返回 IsEnabled=False 和 IsMasterImage =False。

示例

以下 cmdlet 会创建一个在每天晚上 11:20 打包并上载数据的计划。请注意,Hours 参数采用 24 小时制时间。当 UploadFrequency 参数值为 Daily 时,将忽略 DayOfWeek 参数(如果已指定)。

$timespan – New-TimeSpan –Hours 22 –Minutes 20 Set-CitrixCallHomeSchedule –TimeOfDay $timespan -UploadFrequency Daily

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

以下 cmdlet 会创建一个计划,在每个星期三晚上 11:20 上载数据。

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

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

配置代理服务器以完成 Call Home 上载

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

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

步骤 2. 在 PowerShell 中,运行 netsh winhttp import proxy source=ie

Call Home 代理

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

Call Home 代理配置

步骤 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>]

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

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

参数 说明
凭据 指示上载至 CIS。
InputPath 要包括在包内的 zip 文件的位置。这可能是 Citrix 支持部门要求提供的一个附加文件。请务必包括“.zip”扩展名。
OutputPath 将在其中保存诊断信息的位置。在本地保存 Call Home 数据时,此参数是必需的。
描述和事件时间 关于上载操作的自由形式的信息。
SRNumber Citrix 技术支持事件编号。
名称 用于标识包的名称。
UploadHeader JSON 格式的字符串,用于指定上载到 CIS 的上载标头。
AppendHeaders JSON 格式的字符串,用于指定上载到 CIS 的附加标头。
Collect JSON 格式的字符串,用于指定要收集或忽略的数据。采用 {‘collector’:{‘enabled’:Boolean}}” 形式,其中 Boolean 为 true 或 false。有效的 collector 值为:’wmi’、’process’、’registry’、’crashreport’、’trace’、’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 <PSCredential> -Path <String> [<CommonParameters>]

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

示例

以下 cmdlet 会请求将 Call Home 数据上载(不包括从 WMI 收集器获取的数据)到 CIS。此数据(在下午 2:30 记录)与 PVS VDA 的失败注册相关,对应的 Citrix 支持案例编号为 123456。除了 Call Home 数据外,会将文件“c:\Diagnostics\ExtraData.zip”包含到上载包中。

C:\PS>Start-CitrixCallHomeUpload -InputPath “c:\Diagnostics\ExtraData.zip” -Description “Registration failures with PVS VDAs” -IncidentTime “14:30” -SRNumber 123456 -Name “RegistrationFailure-021812016” -Collect “{‘wmi’:{‘enabled’:false}}” -UploadHeader “{‘key1’:’value1’}” -AppendHeaders “{‘key2’:’value2’}”

以下 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

以下 cmdlet 可上载以前保存的数据包。

$cred=Get-Credential C:\PS>Send-CitrixCallHomeBundle –Credential $cred -Path \\mynetwork\myshare\mydata.zip

Citrix Scout

有关完整的详细信息,请参阅 Citrix Scout