第 5 章 下载报告
运行扫描后,您可以下载该扫描的报告,以查看该扫描期间收集和处理的数据。
了解更多
要了解有关下载报告的更多信息,请参阅以下信息:
5.1. 下载报告
运行扫描后,您可以下载该扫描的报告,以查看该扫描期间收集和处理的数据。
扫描的报告有两种格式,即以逗号分隔的变量(CSV)格式和 JavaScript Object Notation (JSON)格式。它们也可以在两种内容类型中提供,扫描中的原始输出作为详细信息报告,并作为部署报告处理内容。
提供了第三类报告,即 insights 报告,但只能通过 Discovery 命令行界面生成此报告。下载 insights 报告提供了一个 .tar.gz
文件,您可以传输到 cloud.redhat.com 上的混合云控制台。传输此文件允许在 Red Hat Insights 清单服务和订阅服务中使用报告数据。
了解更多
要了解更多有关合并和下载报告的信息,请参阅以下信息:
要了解有关如何创建报告的更多信息,请参阅以下信息。此信息包括报告生成进程的时序。这些进程将详细信息报告的原始事实更改为指纹数据,然后将指纹数据更改为部署报告的去除重复数据并合并的数据。此信息还包括一个部分指纹示例,用于显示用于创建发现报告的数据类型。
5.1.1. 下载报告
在 Scans 视图中,您可以选择一个或多个报告,并下载它们来查看报告数据。
先决条件
如果要下载扫描的报告,该扫描的最新扫描作业必须成功完成。
流程
- 在 Scans 视图中,导航到您要下载报告的扫描行。
- 点 Download for that scan。
验证步骤
下载的报告作为 .tar.gz
文件保存到浏览器的下载位置,例如 report_id_224_20190702_173309.tar.gz
。文件名格式为 report_id_ID_DATE_TIME.tar.gz
,其中 ID
是服务器分配的唯一报告 ID,DATE
是 yyyymmdd 格式的日期,TIME
是 hhmmss 格式的时间,基于 24 小时系统。日期和时间数据由运行客户端与服务器 API 的浏览器的交互来确定。
要查看报告,请将 .tar.gz
文件解压缩到 report_id_ID
目录中。未压缩的报告捆绑包包含四个报告文件:两个 CSV 和 JSON 格式的详细信息报告,以及 CSV 和 JSON 格式的两个部署报告。
虽然您可以为您自己的内部进程查看和使用这些报告的输出,但 Discovery 文档不提供任何信息以帮助您解释报告结果。另外,虽然红帽支持可以提供一些与安装和使用 Discovery 相关的基本帮助,但支持团队不提供任何帮助以帮助您了解报告。报告及其格式旨在供红帽订阅教育和认知计划(SEAP)团队在客户互动期间使用,并为其他红帽内部流程提供数据,如向各种混合云控制台服务提供数据。
5.1.2. 如何创建报告
扫描过程用于发现您的 IT 基础架构中的系统,检查和收集这些系统的性质和内容的信息,并从每个系统检查期间收集的信息创建报告。
系统是 任何可通过 SSH 连接、vCenter Server 数据、Satellite Server API 或 Red Hat OpenShift 集群 API 进行干预的实体。因此,系统可以是物理或虚拟机,也可以是不同类型的实体,如容器或集群。
5.1.2.1. 事实和指纹
在扫描过程中,会为每个源中包含的每个系统收集一组事实。事实是 有关系统的单一数据,如操作系统版本、CPU 内核数或红帽产品使用的权利。
处理事实的目的是为每个系统创建一组汇总的数据,称为指纹。指纹 是标识唯一系统及其特征的一组事实,包括架构、操作系统、安装在该系统及其版本的不同产品、在该系统上使用的权利等。
运行扫描作业时生成指纹数据,但数据仅用于创建一种报告类型。当您请求详情报告时,您会收到该扫描的原始事实,而无需任何指纹。当您请求部署报告时,您会收到包括去除重复数据、合并和后处理过程的结果的指纹数据。这些进程包括识别从原始事实识别已安装的产品和版本,查找已使用的权利、从不同源查找和合并重复产品实例,以及查找在非默认位置安装的产品以及其他步骤。
5.1.2.2. 系统去除重复数据和系统合并
在扫描期间,可在多个源中找到单个系统。例如,vCenter 服务器上的虚拟机也可以运行由 Satellite 管理的 Red Hat Enterprise Linux 操作系统安装。如果您构造了一个包含每种源、vcenter、satellite 和 network 的扫描,则单个系统会在扫描期间由所有三个源报告。
目前,您无法将 OpenShift 或 Ansible 源与扫描中的任何其他源组合,因此重复数据删除和合并过程不适用于 OpenShift 或 Ansible 扫描。
要解决这个问题并构建准确的指纹,Discovery 会将未处理的系统事实从扫描发送到指纹引擎。指纹引擎通过使用重复数据删除和合并过程,为在多个源中找到的系统匹配和合并数据。
系统去除重复数据进程使用有关系统的特定事实来识别重复系统。这个过程分为几个阶段,使用这些事实在连续更广泛的数据中合并重复的系统:
-
来自网络源的所有系统都合并到一个网络系统中。如果系统对于
subscription_manager_id
或bios_uuid
事实的值相同,则系统被视为重复。 -
vcenter 源中的所有系统组合为一个 vcenter 系统集。如果系统对
vm_uuid
事实的值具有相同的值,则系统被视为重复。 -
satellite 源中的所有系统合并到一个 satellite 系统集合中。如果系统对于
subscription_manager_id
事实的值相同,则系统被视为重复。 -
网络系统设置与 satellite 系统集合并,以组成单个网络 Satellite 系统集。如果系统对于
subscription_manager
事实的值或者mac_addresses
事实中的 MAC 地址值相同,则系统被视为重复。 -
network-satellite 系统集与 vcenter 系统集合并,以形成完整的系统集。如果系统在
mac_addresses
事实中有匹配的 MAC 地址值,或者vm_uuid
事实的 vcenter 值与bios_uuid
事实的网络值匹配,则系统被视为重复。
5.1.2.2.1. 系统合并
在去除重复数据过程后,下一步是执行这两个系统的合并。合并的系统来自每个源的系统事实合并。当两个系统中出现的事实合并时,合并过程使用以下优先级来合并事实(从最高到最低):
- 网络源事实
- Satellite 源事实
- vCenter 源事实
系统指纹包含一个 元数据
字典,用于捕获该系统的每个事实的原始源。
5.1.2.3. 系统后处理
完成去除重复数据和合并后,有一个创建派生系统事实的后处理阶段。派生的系统事实 是从对多个系统事实的评估生成的。大多数派生的系统事实都与产品标识数据相关,如存在特定产品及其版本。
以下示例演示了如何创建派生的系统事实 system_creation_date
。
system_creation_date
事实是一个派生的系统事实,包含真实系统创建时间。此事实的值由以下事实评估确定:每个事实的值都会按照以下优先级顺序进行检查,其优先级顺序由与真实系统创建时间匹配的准确性决定。最高非空值用于决定 system_creation_date
事实的值。
-
date_machine_id
-
registration_time
-
date_anaconda_log
-
date_filesystem_create
-
date_yum_history
5.1.2.4. 报告创建
在处理报告数据后,报告创建过程会使用两种不同的格式构建两个报告,即 JavaScript Object Notation (JSON)和以逗号分隔的变量(CSV)。每个格式 的详情 报告包含没有处理的原始事实,并且每个格式的 部署 报告包含原始事实通过指纹、重复数据删除、合并和后处理过程后的输出。
报告格式旨在供红帽订阅教育和认知计划(SEAP)团队在客户互动和其他红帽内部过程中使用。
虽然您可以为您自己的内部进程查看和使用这些报告的输出,但 Discovery 文档不提供任何信息以帮助您解释报告结果。另外,虽然红帽支持可以提供一些与安装和使用 Discovery 相关的基本帮助,但支持团队不提供任何帮助以帮助您了解报告。报告及其格式旨在供红帽订阅教育和认知计划(SEAP)团队在客户互动期间使用,并为其他红帽内部流程提供数据,如向各种混合云控制台服务提供数据。
5.1.2.5. 指纹示例
指纹由一组有关单一系统的事实组成,除了有关该系统上产品、授权、源和元数据的事实。以下示例显示了指纹数据。单一系统的指纹(即使其中安装很少的红帽产品)可以是很多行。因此,本例中只使用一个部分指纹。
Example
{ "os_release": "Red Hat Enterprise Linux Atomic Host 7.4", "cpu_count": 4, "products": [ { "name": "JBoss EAP", "version": null, "presence": "absent", "metadata": { "source_id": 5, "source_name": "S62Source", "source_type": "satellite", "raw_fact_key": null } } ], "entitlements": [ { "name": "Satellite Tools 6.3", "entitlement_id": 54, "metadata": { "source_id": 5, "source_name": "S62Source", "source_type": "satellite", "raw_fact_key": "entitlements" } } ], "metadata": { "os_release": { "source_id": 5, "source_name": "S62Source", "source_type": "satellite", "raw_fact_key": "os_release" }, "cpu_count": { "source_id": 4, "source_name": "NetworkSource", "source_type": "network", "raw_fact_key": "os_release" } }, "sources": [ { "id": 4, "source_type": "network", "name": "NetworkSource" }, { "id": 5, "source_type": "satellite", "name": "S62Source" } ] }
指纹的前几行显示系统的事实,包括有关操作系统和 CPU 的事实。在本例中,os_release
事实描述了已安装的操作系统和发行版本,作为 Red Hat Enterprise Linux Atomic Host 7.4
。
接下来,指纹会在 products
部分中列出安装的产品。产品具有名称、版本、存在和元数据字段。在 JBoss EAP 部分中,presence
字段显示 absent
作为值,因此本例中的系统没有安装 Red Hat JBoss Enterprise Application Platform。
指纹还列出该系统在 entitlements
部分中消耗的权利。列表中的每个权利都有一个名称、ID 和元数据,用于描述该事实的原始源。在示例指纹中,系统有 Satellite Tools 6.3
权利。
除了 products
和 entitlements
部分中的元数据字段外,指纹还包含用于系统事实 元数据
的元数据部分。对于每个系统事实,指纹的 metadata
部分中有一个对应的条目,用于标识该系统事实的原始源。在示例中,在扫描 satellite 源的过程中,在 Satellite 服务器中找到 os_release
事实。
最后,指纹会在 sources 部分中列出包含此系统的 源
。系统可以包含在多个源中。例如,对于包含网络源和 satellite 源的扫描,可在扫描的两个部分中找到单一系统。