关于 App-V 5.1 报告

Microsoft Application Virtualization (App-V) 5.1 包含内置报告功能,可帮助你收集有关运行 App-V 5.1 客户端的计算机的信息以及有关虚拟应用程序包使用情况的信息。 可以使用此信息从集中式数据库生成报告。

App-V 5.1 报告概述

以下列表显示了 App-V 5.1 中用于报告的端到端高级工作流。

  1. App-V 5.1 报表服务器具有以下先决条件:

    • Internet 信息服务 (IIS) Web 服务器角色

    • IIS/安全) 下的 Windows 身份验证角色 (

    • SQL Server 已安装并运行 SQL Server Reporting Services (SSRS)

    若要确认 SQL Server Reporting Services 正在运行,请在 Web 浏览器中以管理员身份在将托管 App-V 5.1 Reporting 的服务器上查看 http://localhost/Reports 。 应显示 SQL Server Reporting Services 主页。

  2. 安装 App-V 5.1 报表服务器和关联的数据库。 有关安装报表服务器的详细信息,请参阅 如何在独立计算机上安装报表服务器并将其连接到数据库。 配置运行 App-V 5.1 客户端的计算机应将数据发送到报表服务器的时间。

  3. 如果不使用 Configuration Manager 等电子软件分发系统来查看报表,则可以在 SQL Server Reporting Service 中定义报表。

    注意

    如果使用 Configuration Manager 与 App-V 5.1 的集成,则大多数报表都是从 Configuration Manager 生成的,而不是从 App-V 5.1 生成的。

  4. Import-Module AppvClient 管理员身份导入 App-V 5.1 PowerShell 模块后,启用 App-V 5.1 客户端。 此示例 PowerShell cmdlet 启用 App-V 5.1 报告:

    Set-AppvClientConfiguration -reportingserverurl <url>:<port> -reportingenabled 1 - ReportingStartTime <0-23> - ReportingRandomDelay <#min>
    

    若要立即发送 App-V 5.1 报告数据, Send-AppvClientReport 请在 App-V 5.1 客户端上运行。

    有关安装启用了报告的 App-V 5.1 客户端的详细信息,请参阅 关于客户端配置设置。 若要使用 Windows PowerShell 管理 App-V 5.1 报告,请参阅 如何使用 PowerShell 在 App-V 5.1 客户端上启用报告

  5. 报表服务器从 App-V 5.1 客户端接收数据后,会将数据发送到报表数据库。 当数据库接收并处理客户端数据时,会将成功的回复发送到报表服务器,然后将通知发送到 App-V 5.1 客户端。

  6. 当 App-V 5.1 客户端收到成功通知时,它会清空数据缓存以节省空间。

    注意

    默认情况下,在服务器确认接收数据后,将清除缓存。 可以手动配置客户端以保存数据缓存。

如果 App-V 5.1 客户端设备未收到来自服务器的成功通知,它会将数据保留在缓存中,并尝试在下一个配置的时间间隔重新发送数据。 客户端继续收集数据并将其添加到缓存。

App-V 5.1 报表服务器常见问题解答

下表显示了有关 App-V 5.1 报告的常见问题的解答

问题 详细信息
向报告数据库发送报告信息的频率是多少? 频率取决于在运行 App-V 5.1 客户端的计算机上配置报告任务的方式。 必须配置发送报告数据的频率/间隔。 默认情况下不启用 App-V 5.1 报告。
报表服务器数据库中存储哪些信息? 以下列表显示报表数据库中存储的内容:
  • 运行 App-V 5.1 客户端的计算机上运行的操作系统:主机名、版本、Service Pack、类型 - 客户端/服务器、处理器体系结构。
  • App-V 5.1 客户端信息:版本。
  • 已发布的包列表:GUID、版本 GUID、名称。
  • 应用程序使用情况信息:名称、版本、流式处理服务器、用户 (域\别名) 、包版本 GUID、启动状态和时间、关闭时间。
发送到报表服务器的平均信息量是多少? 具体视情况而定。 以下列表显示发送到报表服务器的三组数据:
  1. 操作系统和 App-V 5.1 客户端信息。 每次发送此数据时,大约为 150 字节。
  2. 已发布的包列表。 对于 30 个包,大约为 7 KB。 仅当使用发布刷新更新包列表时,才会发送此消息,这很少执行;如果没有更改,则不会发送此信息。
  3. 虚拟应用程序使用情况信息 - 每个事件约 0.25 KB。 如果在发送信息之前同时发生,则打开和关闭将计为一个事件。 使用计划任务发送时,仅将自上次成功上传以来的数据发送到服务器。 如果通过 PowerShell cmdlet 手动发送,则有一个可选参数,用于控制下次是否需要重新发送数据 - 该参数为 DeleteOnSuccess
  4. 例如,如果打开和关闭了 20 个应用程序,并且计划每天发送报告信息,则典型的每日流量应约为 0.15 KB + 20 x 0.25 KB,或大约 5 KB/用户
是否可以安排报告? 是。 除了使用 PowerShell Cmdlet (Send-AppvClientReport) 手动发送报告外,还可以计划任务以便自动执行。 有两种方法可以计划报告:
  1. 使用 PowerShell cmdlet - Set-AppvClientConfiguration。 例如:
    Set-AppvClientConfiguration -ReportingEnabled 1 -ReportingServerURL http://any.com/appv-reporting
    有关客户端配置设置的完整列表,请参阅 关于客户端配置设置 并查找以下条目: ReportingEnabledReportingServerURLReportingDataCacheLimitReportingDataBlockSizeReportingStartTimeReportingRandomDelayReportingInterval
  2. 使用组策略。 如果使用域控制器进行分发,则设置与前面列出的设置相同。
    注意
    组策略设置替代使用 PowerShell 配置的本地设置。

App-V 5.1 客户端报告

若要使用 App-V 5.1 报告,必须安装和配置 App-V 5.1 客户端。 客户端安装后,使用 Set-AppVClientConfiguration PowerShell cmdlet 或 ADMX 模板 配置报告。 报告功能 cmdlet 通过以下链接提供,并以 Reporting 开头。 有关客户端配置设置的完整列表,请参阅 关于客户端配置设置。 以下部分提供了使用 PowerShell 的 App-V 5.1 客户端报告配置的示例。

使用 PowerShell 配置 App-V 客户端报告

以下示例演示 PowerShell 参数如何配置 App-V 5.1 客户端的报告功能。

注意

还可以使用 App-V 5.1 ADMX 模板中的组策略设置配置以下配置任务。 有关使用 ADMX 模板的详细信息,请参阅 如何使用 ADMX 模板和组策略修改 App-V 5.1 客户端配置

若要在运行 App-V 5.1 客户端的计算机上启用报告和启动数据收集,请执行以下操作:

Set-AppVClientConfiguration -ReportingEnabled 1

若要将客户端配置为自动将数据发送到特定的报表服务器,请执行以下操作

Set-AppVClientConfiguration -ReportingServerURL http://MyReportingServer:MyPort/ -ReportingStartTime 20 -ReportingInterval 1 -ReportingRandomDelay 30 -ReportingInterval 1 -ReportingRandomDelay 30

此示例将客户端配置为自动将报告数据发送到报表服务器 URL http://MyReportingServer:MyPort/。 此外,报告数据每天在晚上 8:00 到 8:30 之间发送,具体取决于为会话生成的随机延迟。

限制客户端上数据缓存的大小

Set-AppvClientConfiguration -ReportingDataCacheLimit 100

将运行 App-V 5.1 客户端的计算机上报告缓存的最大大小配置为 100 MB。 如果在将数据发送到服务器之前达到缓存限制,则会滚动更新日志,并根据需要覆盖数据。

若要配置在客户端和服务器之间通过网络传输的数据块大小,请执行以下操作

Set-AppvClientConfiguration -ReportingDataBlockSize 10240

指定客户端发送到 10,240 MB 的最大数据块。

收集的数据类型

下表显示了可以使用 App-V 5.1 报告收集的信息类型。

客户端信息 包信息 应用程序使用情况
主机名 包名称 开始和结束时间
App-V 5.1 客户端版本 包版本 运行状态
处理器体系结构 包源 关闭状态
操作系统版本 缓存百分比 应用程序名称
Service Pack 级别 应用程序版本
操作系统类型 用户名
连接组

客户端以 .xml 格式收集和保存此数据。 数据缓存默认处于隐藏状态,需要管理员权限才能打开 XML 文件。

将数据发送到服务器

可以将运行 App-V 5.1 客户端的计算机配置为自动将数据发送到指定的报表服务器。 若要指定服务器,请使用 Set-AppvClientConfiguration cmdlet 和以下设置:

  • ReportingEnabled
  • ReportingServerURL
  • ReportingStartTime
  • ReportingInterval
  • ReportingRandomDelay

配置前面的设置后,必须创建计划任务。 计划任务与 ReportingServerURL 设置指定的服务器联系,并开始传输。 如果要在计划时间之外手动发送数据,请使用以下 PowerShell cmdlet:

Send-AppVClientReport -URL http://MyReportingServer:MyPort/ -DeleteOnSuccess

如果以前配置了报表服务器,则可以省略 -URL 参数。 或者,如果应将数据发送到备用位置,请指定其他 URL 来替代此数据收集配置的 ReportingServerURL

-DeleteOnSuccess 参数指示如果传输成功,则清除数据缓存。 如果未指定此项,则不会清除缓存。

手动数据收集

还可以使用 Send-AppVClientReport cmdlet 手动收集数据。 无论是否使用现有报表服务器,此解决方案都很有用。 以下列表显示有关使用或不使用报表服务器收集数据的信息。

使用报表服务器 没有报表服务器
如果已有 App-V 5.1 报表服务器,请创建自定义计划任务或脚本。 指定客户端以所需频率将数据发送到指定位置。 如果没有现有的 App-V 5.1 报表服务器,请使用 -URL 参数将数据发送到指定的共享。 例如:
Send-AppVClientReport -URL \Myshare\MyData\ -DeleteOnSuccess
前面的示例将报告数据发送到 -URL 参数指示的 \MyShare\MyData 位置。 发送数据后,将清除缓存。
注意
如果指定了报表服务器以外的位置,则使用 .xml 格式发送数据,无需再进行处理。

创建报表

若要使用 App-V 5.1 检索报表信息并创建报表,必须使用下列方法之一:

  • Microsoft SQL Server Reporting Services (SSRS) - Microsoft SQL Server Reporting Services 随 Microsoft SQL Server 提供。 安装 App-V 5.1 报表服务器时,不会安装 SSRS。 必须单独部署它才能生成关联的报表。

    有关使用 SQL Server Reporting Services Microsoft的详细信息,请使用以下链接。

  • 脚本 - 可以通过直接针对 App-V 5.1 报告数据库编写脚本来生成报告。 例如:

    存储过程:

    spProcessClientReport 计划于午夜或 12:00 AM 运行。

    若要运行 Microsoft SQL Server 计划存储过程,必须运行Microsoft SQL Server 代理。 应确保Microsoft SQL Server 代理设置为 “自动启动”。 有关详细信息,请参阅 自动重启 SQL Server 代理

    使用 App-V 5.1 数据库脚本时也会创建存储过程。

还应确保报表服务器 Web 服务的 “最大并发连接数” 设置为服务器可以在不影响可用性的情况下进行管理的值。 报告 Web 服务的建议最大并发连接数为 10,000

部署 App-V 5.1 Server

如何在独立的计算机上安装报告服务器,并将其连接到数据库