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。首次数据上传大约在您创建站点七天后进行。

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

当您升级 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 名称:Enabled 值: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 产品、组件和技术时参与 CEIP,例如 Citrix Provisioning™、AppDNA、Citrix License Server、适用于 Windows 的 Citrix Workspace™ 应用程序、Universal Print Server 和 Session Recording。有关安装和参与默认值的详细信息,请参阅其文档。

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 的后台服务运行。

Call Home 计划功能也可在 Citrix Scout 中使用。有关详细信息,请参阅 Citrix Scout

收集的内容

Citrix Diagnostic Facility (CDF) 跟踪记录了可用于故障排除的信息。Call Home 收集 CDF 跟踪的子集,这些跟踪在故障排除常见故障(例如 VDA 注册和应用程序/桌面启动)时非常有用。此技术称为始终开启跟踪 (AOT)。AOT 日志保存到 C:\ProgramData\Citrix\TelemetryService\CitrixAOT 磁盘。

注意:

ProgramData 文件夹是隐藏的。要显示它,请单击查看 > 显示 > 隐藏的项目

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

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

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

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

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

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

配置和管理摘要

您可以在使用完整产品安装向导时或之后使用 PowerShell cmdlet 注册 Call Home。注册后,默认情况下,诊断信息会在每周日大约上午 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 和参数的说明。

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

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

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

    要确认已启用计划上传,请输入 Get-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 网站将诊断信息包上载到 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-->

以下参数有效:

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

    • 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。此数据与 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 Insight Services