Citrix 洞察服务

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
    • 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.

    为了能够通过执行 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):

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

默认情况下,注册表中隐藏了 Enabled 属性。当它未指定时,自动上传功能处于启用状态。

使用 PowerShell,以下命令可禁用 CEIP 注册:

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

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

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

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

You can also participate in CEIP when you install related Citrix products, components, and technologies, such as Citrix Provisioning™, AppDNA, Citrix License Server, Citrix Workspace™ app for Windows, Universal Print Server, and Session Recording. See their documentation for details about installation and participation default values.

Citrix 回传功能

在 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.

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 虚拟应用和桌面在 HKEY_LOCAL_MACHINE\SOFTWARE\Citrix 下创建的注册表。
  • 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 上保持较小的占用空间。
  • 跟踪信息保存在内存中,以避免对预配计算机造成 IOPs 影响。
  • 跟踪缓冲区使用循环机制在内存中保留跟踪信息。

Call Home 收集 (/zh-cn/citrix-virtual-apps-desktops/2503/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,您可以稍后禁用它

先决条件

  • 计算机必须运行 PowerShell 3.0 或更高版本。
  • Citrix 遥测服务必须在计算机上运行。
  • The system variable PSModulePath must be set to Telemetry’s install path, for example, C:\Program Files\Citrix\Telemetry Service\.

在组件安装期间启用 Call Home

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

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

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

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

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

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

PowerShell cmdlets

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

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

  • 启用计划上传: 诊断集合会自动上传到 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

禁用回传功能

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

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

使用 PowerShell 禁用回拨功能

运行以下 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。请务必将红色框中显示的所有必要信息添加进去。

    Add proxy information to the TelemetryService.exe file

  4. 重新启动遥测服务。

在 PowerShell 命令行界面中运行 Call Home 功能命令。

手动收集并上传用于诊断的信息

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

要使用 CIS 网站上传捆绑包:

  1. 使用您的思杰帐户凭据登录思杰洞察服务。
  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 数据时,此参数是必需的。
  • 描述和事件时间: 关于上传的自由格式信息。
  • SRNumber: Citrix 技术支持部门提供的事件编号。
  • Name: 标识捆绑包的名称。
  • UploadHeader: 指定上传到 CIS 的上传标头的 JSON 格式字符串。
  • AppendHeaders: 指定上传到 CIS 的附加标头的 JSON 格式字符串。
  • 收集: JSON 格式字符串,指定要收集或省略哪些数据,格式为 {‘collector’:{‘enabled’:Boolean}},其中 Boolean 为 true 或 false。 有效的收集器值为:

    • ‘WMI 信息’
    • ‘进程’
    • ‘注册表’
    • ‘崩溃报告’
    • ‘跟踪’
    • ‘文件’
    • ‘MSI 安装程序’
    • ‘本地数据’
    • ‘站点数据’
    • ‘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 Support 案例 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 Support 案例 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 洞察服务