通过客户反馈改善服务器可管理性:客户体验改善计划如何能够针对 IT 专业人士改进 Windows Server 2012 产品
一位医生曾在谈话中告诉我,他的一位患者在病症出现后一年才最终决定就医。他说如果这位患者在病症首次出现时就抓紧治疗,预期的治疗结果会非常乐观,但现在的情况要严重得多。这个故事让我想起了之前曾多次听到的忠告,“永远不要对医生有所隐瞒”。医生的任务只有一个:那就是帮助您恢复健康。医生只有在全面掌握您的病情后才能对症下药,因此,如果您无法坦诚地面对他们,受伤的只会是自己。此外,通过了解您的病情,医生也将积累帮助其他患者所需的知识和技能。这种模式和思路同样适用于 Windows Server 2012 Beta 的客户体验改善计划 (CEIP)。我们会通过该计划请求您允许我们收集有关服务器运行状况和使用情况的数据。我们经常收到有关 CEIP 的各种问题,例如“什么是 CEIP?”和“CEIP 数据将如何使用?”。在本博文中,Karen 将为您解答这些问题,以及另外一个至关重要的问题:“我为什么要启动 CEIP?”
本博文的作者是 Windows Server 遥测团队的项目经理 Karen Albrecht。
--谨启! Jeffrey
当我们和服务器社区谈及 Windows 客户体验改善计划 (CEIP) 时,大部分人的反应都是“从来没听说过”。即使是那些对本计划有所耳闻的人,有时也会选择不启用本计划,因为他们“不希望共享自己的数据”。在本博文中,我将介绍什么是 CEIP,以及在已部署的服务器上启用该计划将带给您的好处。此外,我还将介绍 Windows Server 2012 中能够帮助您更加轻松启用 CEIP 的几项新功能。
我们先来回答“什么是 CEIP?”这个问题。对于从未了解过 CEIP 的用户,在使用 Windows Server 2012 Beta 时,您可以通过服务器管理器 -> 本地服务器 -> 选择 [Customer Experience Improvement Program](客户体验改善计划)链接来访问该计划。
CEIP 是用于了解您如何使用 Windows Server 2012 的计划,其目的是根据您的反馈改进产品。您可以通过多种方式加入 Windows Server 2012 CEIP 计划。对于 Windows Server 2012 Beta 等预发行测试版软件,CEIP 将默认启用,以帮助我们在最终版本发行前改进该软件。对于 Windows Server 2008 R2 等已发行软件,我们将通过 CEIP 用户界面(如上所示)提供通知,方便您选择加入该计划。
我们知道您需要服务器时刻保持最佳状态,尤其是在服务器性能和网络带宽方面。为了满足这一要求,我们尽可能降低了 CEIP 报告收集和传输过程的资源耗费。Windows 会通过一个名为 Windows 事件跟踪 (ETW) 的高速跟踪组件记录 CEIP 使用信息。ETW 可帮助 Windows Server 2012 在对服务器性能无显著影响的情况下记录 CEIP 使用数据。CEIP 使用信息会使用包括合并计算器和上载程序两项计划任务两部分的过程传输给 Microsoft。合并计算器会将 CEIP 数据导出为压缩的二进制格式以准备传输。该二进制文件的大小通常小于 1 MB,能够尽可能降低对网络带宽的影响。上载程序计划任务会每隔 24 小时自动运行并将 CEIP 二进制数据通过 Windows 遥测协议传输至 Microsoft 前端服务器。
“CEIP 会收集哪些数据?”是大家经常提出的另一个问题。这些数据包含您的服务器如何配置和使用的基本信息,包括:已安装的角色、已安装的功能、使用的设置和硬件信息。CEIP 不会有意收集个人身份识别信息 (PII)。因此,CEIP 报告不会包含您的姓名、地址或电话号码等联系人信息。这意味着 CEIP 将不会要求您参与调查或强迫您阅读垃圾电子邮件,也不会通过任何其他方式与您联系。Microsoft 客户体验改善计划隐私声明中详细介绍了 CEIP 所收集的数据以及我们将如何使用这些数据。
接下来,我们将回答“将这些数据发送给 Microsoft 对我有什么好处?”这一核心问题,您一定会对 Windows Server 如何使用您的数据来改善产品感到大吃一惊。以下介绍的只是这些用途的冰山一角,我们希望借由这些示例让您一睹我们如何通过 CEIP 数据来改进产品。
提高服务器可靠性 :在 Windows Server 2012 Developer Preview 和 Windows Server 2012 Beta 预发行版本中,可靠性分析组件 (RAC) 功能可确定 Windows Server 崩溃、Windows Server 挂起和应用程序崩溃的根本原因。RAC 会将 CEIP 数据和 Windows 错误报告 (WER) 数据相结合,以便重构崩溃或挂起时的系统状态全貌。通过综合分析来自这两个计划的数据,我们可以识别出多发问题,以便会审和修复这些问题,随着版本更迭,我们的平台将变得越来越可靠。若要详细了解 WER 所收集的数据,请参阅 Microsoft 错误报告隐私声明。
改善服务器管理脚本的可编程性 :对于大规模部署,IT 管理通常会通过 PowerShell 和 WMI 脚本来完成,因为它们可以显著简化大规模部署的管理。如果 Commandlet 或 WMI 接口更改或删除,重写脚本以适应平台更改可能会非常痛苦。在 Windows Server 2012 中,我们将使用 CEIP 来监控已弃用 API 的使用情况,以便等到这些 API 对您的影响最小时再将其删除,从而解决这个问题。例如,在 Windows Server 2012 中,曾考虑过弃用 Win32_ServerFeature WMI 接口,并代之以 MSFT_ServerManagerDeploymentTasks。(对于未使用过该接口的用户,Win32_ServerFeature 会检测已安装的角色和功能。)
作为弃用过程的一部分,我们添加了 CEIP 数据以记录接口使用情况,根据来自 Windows Server 2012 Beta 的最新 CEIP 数据,我们发现 47% 的用户正在使用 Win32_ServerFeature。借助这些数据,我们得以确认 Win32_ServerFeature 的迁移进度,因此,我们将等到迁移至 MSFT_ServerManagerDeploymentTasks 不会对您产生影响时,再将该接口从产品中正式删除。
多样化的 Windows 认证硬件 :“Microsoft 会与合作伙伴共享哪些 CEIP 数据?”是大家经常提出的问题之一。作为硬件认证的一部分,在某些情况下,我们会将部分 CEIP 数据(不包含 PII)与 IxVs(独立硬件或软件供应商)共享。为市场中多样化的硬件提供高质量的驱动程序支持是 Windows Server 的重要功能之一。实现这一目标的难点在于了解市场中的哪些设备最为常用。CEIP 数据会用于建模硬件配置文件和映射设备的多样性,以便告知 IxVs 相应的认证策略。借助这些数据,IxVs 可以确定需要认证的驱动程序范围(根据市场情况)并设置认证设备的优先级(根据热门程度)。
改善产品体验 :每天,我们都会通过 CEIP 数据来了解大量功能的配置情况,以便根据您的使用模式确定工作的优先级。例如,为了降低设置新服务器的成本,CEIP 会记录您所使用的设置。这样我们就可以根据最常用的模式来调整默认设置,以便帮助您更加迅速地完成新服务器设置。此外,我们还会在内部测试中使用这些数据。为了扩大测试范围,涵盖真实情境的使用模式,我们会分析 CEIP 数据以了解产品的使用情况。这将确保我们在设计和测试过程中,始终将您的使用模式纳入考虑范围。当然,除了上述示例,CEIP 还通过许多方式借助客户反馈推动了产品的改进,但鉴于时间有限,我们就此进入下一个话题,这就是如何配置 CEIP。
在 Windows Server 2008 R2 发布后,我们对 CEIP 的采用率进行了评估,并发现市场中只有 5-7% 的服务器发送了 CEIP 报告。通过针对 CEIP 采用率与用户展开的合作,我们发现尽管许多服务器选择加入了 CEIP,我们却未能收到来自它们的数据。我们分析了这种情况的根本原因,并了解到这些服务器之所以无法发送报告,主要是由于它们部署在防火墙环境中。为了发送 CEIP 数据,服务器需要能够通过 HTTPS(默认端口为 443)进行通信,并且需要配置代理设置(如果服务器部署在使用代理服务器的网络中)。通过与技术采用计划 (TAP) 用户展开的合作,我们频繁发现一个或多个此类设置并未配置,进而导致 CEIP 数据无法发送至 Microsoft。
为了方便您发送 CEIP 数据,Windows Server 2012 Beta 包含了多项能够克服拦截问题的新功能,帮助您一劳永逸地完成 CEIP 设置。要参加 CEIP 计划并向我们提供 CEIP 数据,最简单的方法就是使用一种名为 Windows 反馈转发器 (WFF) 的新功能。WFF 是一种将来自域中计算机的 CEIP 数据通过代理发送至 Microsoft 的服务。WFF 将代理来自 Windows 7 和 Windows Server 2008 或更高版本等 Windows 产品的 CEIP 数据。WFF 还将代理来自任何已启用“发送客户反馈”的 Microsoft 产品的数据。
该转发器可以设置于域中,也可以作为边缘服务器。域中的服务器将通过组策略配置为向该转发器发送数据。当某台计算机触发了数据收集时,它会通过 HTTP 将这些数据发送至转发器,然后转发器会通过 HTTPS 将这些数据转发至 Microsoft。
- 安装 Windows 反馈转发器
- 使用用户界面 (UI)
- 在任何 Windows Server 2012 计算机上,启动服务器管理器,然后启动“添加角色和功能”向导。
- 在“添加角色和功能”向导中,导航至 [Features](功能)页面,然后选择 [Windows Feedback Forwarder](Windows 反馈转发器)。
- 指定一个传入端口号(默认端口号为 53533)。如果该域具有 Internet 代理,请指定代理信息,然后完成安装。
- 在服务器管理器中,选择左侧导航窗格中的 [All Servers](所有服务器)。在 [Servers](服务器)磁贴中,右键单击已安装 Windows 反馈转发器的服务器,然后选择 [Windows Feedback Forwarder Configuration](Windows 反馈转发器配置)。保持该对话框打开以进行下一个步骤。
- 或者使用 PowerShell
- 启动 PowerShell 并运行“Add-WindowsFeature WFF”
- 在服务器管理器中,选择左侧导航窗格中的 [All Servers](所有服务器)。在 [Servers](服务器)磁贴中,右键单击已安装 Windows 反馈转发器的服务器,然后选择 [Windows Feedback Forwarder Configuration](Windows 反馈转发器配置)。
- 选择 [Forwarding Settings](转发器设置)选项卡,指定一个传入端口号(默认端口号为 53533)。如果该域具有 Internet 代理,请指定代理信息,然后单击 [Apply]“应用”。
- 使对话框保持打开状态以进行下一个步骤。
- 使用用户界面 (UI)
- 部署 Windows 反馈转发器组策略
- 要将域中的计算机配置为向 Windows 反馈转发器发送 CEIP 数据,最简单的方法是部署组策略。您可以通过 2 种方式部署组策略,即使用 Windows 反馈转发器配置的对话框,或使用组策略管理控制台来创建指向组策略对象的链接。
- 使用 Windows 反馈转发器配置的对话框
- 在 Windows 反馈转发器配置的对话框中,选择 [Group Policy](组策略)选项卡。
- 输入您希望部署组策略对象的域名称,然后单击 [Find](查找)。注意:您可能必须在此步骤输入凭据,具体取决于当前用户上下文的设置。
- 组织单位列表弹出后,请选择一个或多个组织单位。
- 单击 [Apply](应用)按钮
- 手动创建组策略对象
- 在 Windows 反馈转发器配置的对话框中,选择 [Forwarding Settings](转发设置)选项卡。复制 Windows 反馈转发 URL,以暂时将其存储。
- 在 GPMC 中创建新的组策略对象和集合:
- 使用 Windows 反馈转发器配置的对话框
- 要将域中的计算机配置为向 Windows 反馈转发器发送 CEIP 数据,最简单的方法是部署组策略。您可以通过 2 种方式部署组策略,即使用 Windows 反馈转发器配置的对话框,或使用组策略管理控制台来创建指向组策略对象的链接。
另一个启用 CEIP 的方法是 Windows 自动反馈对话框,这是服务器管理器中提供的一种新的多计算机选择加入体验。借助该功能,只需 3 次单击,即可配置多台发送 CEIP 数据的计算机。
- 启动服务器管理器,在左侧的导航窗格中选择 [All Servers](所有服务器)。
- 在 [Servers](服务器)磁贴中,按下 Ctrl+A 以选择所有服务器 -> 右键单击并选择 [Configure Windows Automatic Feedback](配置 Windows 自动反馈)
- 单击 [Enable Both Customer Experience Improvement Program And Windows Error Reporting](启用客户体验改善计划和 Windows 错误报告),将在连接到该服务器管理器控制台的所有服务器上启用这两项计划
我们非常希望了解您对本计划的看法,以及我们如何能够改进该计划,以便为您的部署和 Windows Server 使用提供最佳体验。请在下方提供您的宝贵意见。
Karen Albrecht
项目经理
Windows Server 遥测