关于 App-V 5.0 报告

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

App-V 5.0 报告概述

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

  1. Microsoft Application Virtualization (App-V) 5.0 报表服务器具有以下先决条件:

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

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

    • 使用 SQL Server Reporting Services (SSRS) 安装和运行的SQL Server

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

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

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

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

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

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

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

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

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

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

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

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

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

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

问题 详细信息

向报告数据库发送报告信息的频率是多少?

频率取决于在运行 App-V 5.0 客户端的计算机上配置报告任务的方式。 必须配置发送报告数据的频率/间隔。 默认情况下不启用 App-V 5.0 报告。

报表服务器数据库中存储哪些信息?

以下列表显示报表数据库中存储的内容:

  • 运行 App-V 5.0 客户端的计算机上运行的操作系统:主机名、版本、Service Pack、类型 - 客户端/服务器、处理器体系结构。

  • App-V 5.0 客户端信息:版本。

  • 已发布的包列表:GUID、版本 GUID、名称。

  • 应用程序使用情况信息:名称、版本、流式处理服务器、用户 (域\别名) 、包版本 GUID、启动状态和时间、关闭时间。

发送到报表服务器的平均信息量是多少?

具体视情况而定。 以下列表显示发送到报表服务器的三组数据:

  1. 操作系统和 App-V 5.0 客户端信息。 每次发送此数据时,大约为 150 字节。

  2. 已发布的包列表。 对于 30 个包,大约为 7 KB。 仅当使用发布刷新更新包列表时,才会发送此消息,这很少执行;如果没有更改,则不会发送此信息。

  3. 虚拟应用程序使用情况信息 - 每个事件大约 0.25KB。 如果在发送信息之前同时发生,则打开和关闭将计为一个事件。 使用计划任务发送时,仅将自上次成功上传以来的数据发送到服务器。 如果通过 PowerShell cmdlet 手动发送,则有一个可选参数,用于控制下次是否需要重新发送数据 - 该参数为 DeleteOnSuccess

    因此,例如,如果打开和关闭了 20 个应用程序,并且计划每天发送报告信息,则典型的每日流量应约为 0.15KB + 20 x 0.25KB,或大约 5KB/用户

是否可以安排报告?

是。 除了使用 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.0 客户端报告

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

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

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

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

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

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.0 客户端的计算机上报告缓存的最大大小配置为 100 MB。 如果在将数据发送到服务器之前达到缓存限制,则会滚动更新日志,并根据需要覆盖数据。

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

Set-AppvClientConfiguration –ReportingDataBlockSize 10240

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

收集的数据类型

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

客户端信息 包信息 应用程序使用情况

主机名

包名称

开始和结束时间

App-V 5.0 客户端版本

包版本

运行状态

处理器体系结构

包源

关闭状态

操作系统版本

缓存百分比

应用程序名称

Service Pack 级别

应用程序版本

操作系统类型

用户

连接组

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

将数据发送到服务器

可以将运行 App-V 5.0 客户端的计算机配置为自动将数据发送到指定的报表服务器。 若要指定服务器,请使用 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.0 报表服务器,请创建自定义计划任务或脚本。 指定客户端以所需频率将数据发送到指定位置。

如果没有现有的 App-V 5.0 报表服务器,请使用 –URL 参数将数据发送到指定的共享。 例如:

Send-AppVClientReport –URL \Myshare\MyData\ -DeleteOnSuccess

前面的示例会将报告数据发送到 -URL 参数指示的 \MyShare\MyData</strong> 位置。 发送数据后,将清除缓存。

注意

如果指定了报表服务器以外的位置,则使用 .xml 格式发送数据,无需进行其他处理。

创建报表

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

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

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

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

    存储过程:

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

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

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

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

部署 App-V 5.0 Server

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