发现故障排除

Subscription Central 1-latest

发现故障排除

Red Hat Customer Content Services

摘要


第 1 章 关于发现

Discovery 旨在帮助用户收集有关他们使用特定红帽软件的数据。通过使用发现功能,用户可以减少计算和报告这些红帽产品使用情况所需的时间和工作量。

了解更多

要了解更多有关 Discovery 的目的、优点和特性的信息,请查看以下信息:

要了解有关 Discovery 可以查找和检查的产品和产品版本的更多信息,请参阅以下信息:

要评估 Discovery 是否为正确的解决方案,请查看以下信息:

1.1. 什么是发现?

Discovery 是一个检查和报告工具。它旨在查找、识别和报告环境数据或事实,如网络上的物理和虚拟系统数量、其操作系统和其他配置数据。此外,它还旨在查找、识别和报告相应网络 IT 资源的关键红帽软件包和产品的更详细的事实。

检查网络中运行的软件和系统的功能可让您了解和报告您的订阅使用情况。最终,这种检查和报告过程是管理清单更大的系统管理任务的一部分。

发现需要配置两个基本结构来访问 IT 资源并运行检查过程。凭证 包含用户访问数据,如具有足够颁发机构的用户的用户名和密码或 SSH 密钥,以便在特定源或该源上的某些资产上运行检查过程。 包含有关要检查的单个资产或多个资产的数据。这些资产可以是物理机、虚拟机或容器,它们标识为主机名、IP 地址、IP 范围或子网。这些资产也可以是 vCenter Server 或 Red Hat Satellite Server 等系统管理解决方案,也可以是在 Red Hat OpenShift Container Platform 上部署的集群。

注意

目前,发现的唯一虚拟化部署可以使用虚拟化基础架构的专用源进行扫描,即 VMware vCenter。红帽不支持的其他虚拟化基础架构可通过特殊扫描进行扫描。网络的一般扫描可能仍然找到这些资产,而不会由特殊扫描返回的确切元数据。

您可以在各种组合中保存多个凭证和源以用于 Discovery,因为您运行检查过程或 扫描。完成扫描后,您可以将输出中的这些事实作为格式化数据的集合访问,或 报告 以查看结果。

默认情况下,使用 Discovery 时创建的凭证和源在数据库中加密。该值使用 AES-256 加密。当发现服务器使用 vault 密码运行扫描时,它们会被解密,以访问存储在数据库中的加密值。

发现是一个无代理检查工具,因此不需要在要检查的每个源上安装该工具。但是,安装 Discovery 的系统必须有权访问要发现和检查的系统。

1.2. 发现哪些产品?

发现以下红帽产品:对于每个版本或发行版本,会列出最早的版本,其中会包括适用的版本。

如果产品最近更改了名称,以便您可能更熟悉该产品的当前名称,则该名称会作为附加信息提供。除非还列出该产品的特定版本,否则不会包括较新的产品名称。

Red Hat Enterprise Linux

  • Red Hat Enterprise Linux 5 及更新的版本
  • Red Hat Enterprise Linux 6 及更新的版本
  • Red Hat Enterprise Linux 版本 7 及更新的版本
  • Red Hat Enterprise Linux 版本 8 及更新的版本
  • Red Hat Enterprise Linux 9 及更新的版本

Red Hat Application Services 产品(以前称为 Red Hat Middleware)

  • Red Hat JBoss BRMS 版本 5.0.1 及更新版本,版本 6.0.0 及更新的版本(也称为 Red Hat Decision Manager,目前是 Red Hat Process Automation Manager 的一部分)
  • JBoss Enterprise Web Server 版本 1 及更高版本;Red Hat JBoss Web Server 3.0.1 及更高版本
  • Red Hat JBoss Enterprise Application Platform 版本 4.2 及更新的版本,版本 4.3 及更新的版本,版本 5 及更新的版本,版本 6 及更新的版本,版本 7 及更新的版本
  • Red Hat Fuse 版本 6.0 及更新的版本

Red Hat Ansible Automation Platform

  • Ansible Automation Platform 版本 2 及更新的版本

Red Hat OpenShift Container Platform

  • Red Hat OpenShift Container Platform 版本 4 及更新的版本

Red Hat Advanced Cluster Security for Kubernetes

  • Red Hat Advanced Cluster Security for Kubernetes 版本 4 及更新的版本

Red Hat Advanced Cluster Management for Kubernetes

  • Red Hat Advanced Cluster Management for Kubernetes 版本 2 及更新的版本

1.3. 发现是否适合我?

发现旨在帮助您查找并了解您的红帽产品清单,包括复杂网络间的未知产品使用。通过与红帽解决方案架构师(SA)或大客户经理(TAM)或大客户经理(TAM)合作,或通过订阅教育和认知计划(SEAP)提供的分析和帮助,您最好理解 Discovery 生成的报告。

虽然您可以独立安装和使用发现,然后生成和查看报告数据,但 Discovery 文档不提供任何信息以帮助您解释报告结果。另外,虽然红帽支持可以提供一些与安装和配置 Discovery 相关的基本帮助,但支持团队不提供任何帮助以帮助您了解报告。

Discovery 工具不会自动与红帽共享数据。相反,您可以选择是否准备向红帽发送报告数据,以便红帽工具和服务。您可以在本地使用 Discovery 工具扫描您的网络以获取当前支持的红帽产品,然后使用生成的报告进行自己的内部目的。

第 2 章 发现故障排除

2.1. 确定发现服务器的版本

先决条件

  • 您必须以 Discovery 服务器管理员身份登录到命令行界面。
  • 您需要 sudo 访问权限来执行 Podman 中的某些功能。

流程

要确定 Discovery 服务器的版本,请使用以下步骤:

  • 输入 dsc server status 命令。预期输出提供您要使用的服务器版本:

    "server_address": "127.0.0.1:9443", "server_id":
    "45a8ea20-2ec4-4113-b459-234fed505b0d", "server_version": "1.0.0.3e15fa8786a974c9eafe6376ff31ae0211972c36"

    如果无法获取运行 server status 命令,或者您无法登录到服务器,请使用以下 Podman images 命令:

    podman images --filter 'reference=registry.redhat.io/discovery/discovery-server-rhel9:latest' --format '{{.Labels.url}}'

2.2. 卸载发现

先决条件

  • 您必须以 Discovery 服务器管理员身份登录到命令行界面。
  • 您需要 sudo 访问权限来执行 Podman 中的某些功能。

流程

要卸载 Discovery 服务器,请使用以下步骤:

  1. 停止容器并删除 pod。

    $ podman stop discovery
    $ podman stop dsc-db
    $ podman pod rm discovery-pod
  2. 移除 Discovery 容器镜像。

    $ podman rmi registry.redhat.io/discovery/discovery-server-rhel9
    
    $ podman rmi registry.redhat.io/rhel9/postgresql-12
  3. 删除存储卷。

    $ podman volume rm dsc-db
  4. 如果已安装,请卸载命令行界面。

    $ sudo dnf remove dsc

2.3. 使用命令行界面获取帮助

先决条件

  • 您必须以 Discovery 服务器管理员身份登录到命令行界面。

流程

  • 有关一般主题的帮助,请参阅 man page 信息。

    注意

    目前,无法从 Discovery 命令行界面获得 man page 信息。您可以访问 quipucords 存储库中的手册页信息,这是 Discovery 的上游项目。man page 信息位于该项目中的 qpc 子仓库中。

    有关使用 Discovery 命令的详情请参考 qpc man page https://github.com/quipucords/qpc/blob/master/docs/source/man.rst。当您开始使用命令行界面时,请在命令行条目中替换 qpc 命令的 dsc 命令。

  • 如需特定子命令的帮助,请使用 -h 选项。例如:

    $ dsc cred -h
    $ dsc source -h
    $ dsc scan -h

2.4. 无法使用命令行界面运行 dsc 命令

以下错误消息或类似的消息可能表示您尚未为 Discovery 建立 dsc 别名命令。

bash: dsc: command not found

先决条件

  • 您必须以 Discovery 服务器管理员身份登录到命令行界面。
  • 您需要 sudo 访问权限来执行 Podman 中的某些功能。

流程

要创建 dsc 别名,请使用以下命令:

$ podman exec dsc-db psql -c 'CREATE ROLE dsc LOGIN PASSWORD' <username>
$ podman exec dsc-db psql -c 'GRANT ALL PRIVILEGES ON DATABASE' "dsc-db" to dsc

验证

如果第二个命令失败,则数据库可能不存在。要创建数据库,请使用以下命令:

$ podman exec dsb-db psql -c 'CREATE DATABASE "dsc-db"'

2.5. SSH 凭证配置

如果您收到一条错误消息,其中包含与 文件系统上不是有效文件 的消息,则该消息可能会指示文件系统中支持 SSH keyfiles 访问的挂载点的问题。

使用 SSH keyfiles 创建网络凭证时,请确保私钥的副本已正确添加到服务器上的 "${HOME}"/.local/share/discovery/sshkeys 目录中。

有关凭证配置和使用 SSH keyfiles 进行身份验证的详细信息,请参考 将 SSH 密钥添加到发现服务器以进行网络扫描

2.6. 日志文件位置

先决条件

  • 您必须以 Discovery 服务器管理员身份登录到命令行界面。

流程

本地文件系统中的发现服务器的日志文件位于以下路径中:"{ HOME}"/.local/share/discovery/log

容器本身的日志文件可以通过以下命令访问:

$ podman exec -it discovery bash
$ cd "{HOME}"/.local/share/discovery/log/

日志数据也会复制到 stdout,并可通过 Podman 日志访问。要跟踪日志输出,请在以下命令中包含 -f 选项:

$ podman logs -f discovery

2.7. 无法使用命令行界面连接到 Discovery 服务器

以下错误消息或类似信息可能表示 Discovery 服务器存在问题:

尝试与服务器通信时发生连接错误

通过重启服务器 pod 来恢复服务器。

先决条件

  • 您必须以 Discovery 服务器管理员身份登录到命令行界面。
  • 您需要 sudo 访问权限来执行 Podman 中的某些功能。

流程

要恢复 Discovery 服务器,请使用以下命令:

$ podman pod start discovery-pod

2.8. 备份和恢复发现数据库

先决条件

  • 您必须以 Discovery 服务器管理员身份登录到命令行界面。
  • 您可能需要 sudo 访问权限来执行 Podman 中的某些功能。

流程

  • 要备份发现数据库,请使用 pg_dump 命令创建数据的脚本转储。出现提示时,输入 Discovery 数据库管理员的凭据。
  • 要将以前的数据库恢复到新的或升级的 Discovery 服务器,请使用以下命令,其中 dump.sql 是脚本转储文件的示例名称:

    $ podman cp _dump.sql_ dsc-db:.
    $ podman exec dsc-db psql -f _dump.sql_
    $ podman exec dsc-db rm _dump.sql_

2.9. 备份和恢复 SSH 凭证

先决条件

  • 您必须以 Discovery 服务器管理员身份登录到命令行界面。

流程

  • 要备份 SSH 凭据,请导航到以下目录并复制 SSH keyfile 目录: "${HOME}"/.local/share/discovery/sshkeys
  • 要恢复 SSH 凭证,请使用以下命令,其中 SSHkeys_backup_directory 是备份单个 keyfiles 的 SSH keyfile 备份目录的路径:

    $ cp -p __SSHkeys_backup_directory__/* "${HOME}"/.local/share/discovery/sshkeys/

2.10. 备份和恢复加密的 SSH 凭证

密码不会以纯文本形式存储。它们通过将 secret.txt 文件的内容用作 secret 密钥来加密和解密。如果您需要备份和恢复 secret.txt 文件,请使用以下步骤。

先决条件

  • 您必须以 Discovery 服务器管理员身份登录到命令行界面。

流程

  • 要备份加密的 SSH 凭据,请导航到 "${HOME}"/.local/share/discovery/data 目录,再复制 secret.txt 文件。
  • 要恢复 secret.txt 文件,请输入以下命令,其中 path_to_backup 是备份 secret.txt 文件的路径:

    $ cp -p __path_to_backup__/secret.txt "${HOME}"/.local/share/discovery/data/

2.11. 重启后重启 Discovery 服务器

先决条件

  • 您必须以 Discovery 服务器管理员身份登录到命令行界面。
  • 您需要 sudo 访问权限来执行 Podman 中的某些功能。

流程

  • 要在重启后重启 Discovery 服务器,请使用以下命令:

    $ podman pod restart discovery-pod

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.