Installing and Configuring Red Hat Discovery
Preface
Use this guide to install and configure Red Hat Discovery in connected and disconnected environments.
Chapter 1. Track your product data with Red Hat Discovery
Red Hat Discovery is designed to help users collect data about their usage of specific Red Hat software. By using Discovery, users can reduce the amount of time and effort that is required to calculate and report usage of those Red Hat products.
1.1. What is Red Hat Discovery
Red Hat Discovery is an agentless inspection and reporting tool that identifies physical and virtual systems on a network, their operating systems, configuration data, and installed Red Hat products. Use these findings to understand and manage your subscription usage and IT inventory.
The ability to inspect the software and systems that are running on your network improves your ability to understand and report on your subscription usage. Ultimately, this inspection and reporting process is part of the larger system administration task of managing your inventories.
Red Hat Discovery requires the configuration of two basic structures to access IT resources and run the inspection process. A credential contains user access data, such as the username and password or Secure Shell (SSH) key. It provides sufficient authority to run the inspection process on a particular source. A source contains data about a single asset or multiple assets that are to be inspected.
These assets can be physical machines, virtual machines, or containers, identified as hostnames, IP addresses, IP ranges, or subnets. These assets can also be a systems management solution such as vCenter Server or Red Hat Satellite Server, or can be clusters deployed on Red Hat OpenShift Container Platform.
Currently, the only virtualized deployment that Discovery can scan with a specialized source for virtualization infrastructure is VMware vCenter. No other virtualization infrastructure that is supported by Red Hat can be scanned with a specialized scan. General scans of your network might still find these assets, without the precise metadata returned by a specialized scan.
You can save multiple credentials and sources to use with Discovery in various combinations as you run inspection processes, or scans. When you have completed a scan, you can access these facts in the output as a collection of formatted data, or report, to review the results.
By default, the credentials and sources that are created during the use of Red Hat Discovery are encrypted in a database. The values are encrypted with AES-256 encryption. They are decrypted when the Red Hat Discovery server runs a scan with the use of a vault password to access the encrypted values that are stored in the database.
Red Hat Discovery is an agentless inspection tool, so there is no need to install the tool on every source that is to be inspected. However, the system that Discovery is installed on must have access to the systems to be discovered and inspected.
1.2. Products that Red Hat Discovery finds
Red Hat Discovery detects specific Red Hat products. For each version or release, the earliest supported version is listed, with later releases indicated as applicable.
If a product has changed names recently so that you might be more familiar with the current name for that product, that name is provided as additional information. No later version is implied by the inclusion of a newer product name unless specific versions of that product are also listed.
Red Hat Enterprise Linux
- Red Hat Enterprise Linux version 6 and later
- Red Hat Enterprise Linux version 7 and later
- Red Hat Enterprise Linux version 8 and later
- Red Hat Enterprise Linux version 9 and later
- Red Hat Enterprise Linux version 10 and later
Red Hat Application Services products (formerly Red Hat Middleware)
- JBoss Enterprise Web Server version 1 and later; Red Hat JBoss Web Server 3.0.1 and later
- Red Hat JBoss Enterprise Application Platform version 4.2 and later, version 4.3 and later, version 5 and later, version 6 and later, version 7 and later
- Red Hat Fuse version 6.0 and later
Red Hat Ansible Automation Platform
- Ansible Automation Platform version 2 and later
Red Hat OpenShift Container Platform
- Red Hat OpenShift Container Platform version 4 and later
Red Hat Advanced Cluster Security for Kubernetes
- Red Hat Advanced Cluster Security for Kubernetes version 4 and later
Red Hat Advanced Cluster Management for Kubernetes
- Red Hat Advanced Cluster Management for Kubernetes version 2 and later
1.3. Red Hat Discovery suitability and support
Red Hat Discovery helps you discover your Red Hat product inventory across complex networks. Work with a Red Hat Solution Architect (SA) or Technical Account Manager (TAM) to interpret the generated reports.
You can also work with the Subscription Education and Awareness Program (SEAP) for analysis and assistance.
Although you can install and use Discovery independently and then generate and view report data, the Discovery documentation does not provide any information to help you interpret report results. Red Hat Support can provide some basic assistance related to installation and usage of Discovery. However, the support team does not provide any assistance to help you understand the reports.
The Discovery tool does not automatically share data directly with Red Hat. Instead, you choose whether to prepare and send report data to Red Hat for ingestion by Red Hat tools and services. You can use the Discovery tool locally to scan your network for the Red Hat products that Discovery currently supports and then use the generated reports for your own internal purposes.
Chapter 2. Install prerequisites for Red Hat Discovery
Discovery requires specific hardware, software, and environment configurations. You must install Discovery on a dedicated system that does not run any other workloads.
Discovery is a containerized solution that can be deployed on any RHEL or OpenShift Container Platform platform. The following documentation is written for Discovery installed on a dedicated RHEL system. No warranty or support is offered for installation on a nondedicated system.
- Install the following requirements for hardware, software, and the environment in which you are going to install and use Discovery.
2.1. Hardware prerequisites
The system on which you install Red Hat Discovery must meet or exceed these hardware requirements:
- CPU: 2 core minimum, with a recommended 4 cores
- RAM: 2 GB minimum, with a recommended 4 GB
- Disk Storage: 30 GB
Red Hat Discovery uses rootless Podman, which, by default, stores containers in the following filepath: ${HOME}/.local/share/containers. Ensure that the partition that contains this directory has at least 30 GB of storage. If Podman is configured to use a non-standard directory for container storage, ensure that the configured directory has 30 GB of storage.
2.2. Software prerequisites
The system on which you install Red Hat Discovery must meet these software requirements:
- Operating system: The latest version of Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, or Red Hat Enterprise Linux 10, installed as a clean install and specifically not upgraded from Red Hat Enterprise Linux 7 or any previous version.
The system must have
cgroups v2enabled and active. You can verify by running the following read-only command as a regular, not-root user. If it outputscgroup2fs, thencgroups v2is enabled.stat -fc %T /sys/fs/cgroup
The system must have a supported version of Podman installed, and its filesystem must have
d_typeenabled to support Podman container storage. You can verify thatd_typeis enabled by running the following read-only command as a regular, not-root user. If it outputstrue, then Podman is installed withd_typeenabled.LANG=C LC_ALL=C podman info | awk -F': ' '/Supports d_type/ {print $2}'
Installing and running Discovery requires a supported version of Red Hat Enterprise Linux with the Podman container tool. The Podman package is included with Red Hat Enterprise Linux 8 and later, so you are not required to obtain the Podman package separately. You need sudo privileges to install Podman if it is not yet installed, and you need Podman version 4.9.4 or later to successfully install Discovery.
The Discovery documentation is written for the most recent version of the Red Hat Discovery RPMs and container images installed on your system. No warranty or support is offered by Red Hat if the version of Discovery used is obsolete.
2.3. Other environment prerequisites
Review environment requirements for both the Red Hat Discovery server system and the systems in your IT infrastructure that you plan to scan.
In your network:
- If you want to use Discovery to scan a network that contains multiple air-gapped environments, you must install a Discovery server for each of those air-gapped environments.
On the system where Red Hat Discovery is installed and running:
- The system onto which Red Hat Discovery will be installed and run must be dedicated to Discovery work only and must not be used for either development or production work.
-
Do not run any
discoveryctlcommands as therootuser or by usingsudoorsu. Doing so will result in a broken installation. Podman is installed on the system during the installation process if it is not already present.
- For a disconnected installation, Podman will be installed on both the connected system and disconnected system if it is not already present.
The system must have an internet connection to access Red Hat subscription management services and Red Hat content.
- For a disconnected installation, the connected system on which you are downloading the containers must meet this requirement.
A Red Hat subscription must include access to the Discovery repository for the Red Hat Enterprise Linux version and system architecture. As part of the installation process, enable this repository on the system using
subscription-managerand install binary packages from it usingdnf.For a disconnected installation, the disconnected system must be able to install packages from a local package source that includes the Discovery repository.
Setting up and maintaining a local package source in a disconnected environment is outside the scope of Red Hat Discovery documentation. Ensure that the required repositories are accessible on the disconnected system. Common approaches include using This content is not included.Satellite to synchronize repositories to the disconnected environment or using a local package mirror configured with the required repositories.
The system must have access to the Red Hat Ecosystem Catalog with your Red Hat Customer Portal credentials.
For a disconnected installation, the connected system on which you are downloading the containers must meet this requirement.
NoteIf you cannot use the Red Hat Ecosystem Catalog to download Red Hat content, join the Red Hat Developer program to create a Red Hat Customer Portal account, obtain a Red Hat Developer subscription, and gain access to Red Hat content. For more information, see the Red Hat Developer website.
On the systems in your network where Discovery runs scans:
The following requirements apply to the systems that Discovery scans, not to the system where Discovery is installed and running.
- Any network sources that are targeted for scanning must be running the SSH protocol.
-
A user account that is used as a credential for a scan requires the
bashshell. The shell cannot be the/sbin/nologinshell or the/bin/falseshell. - A user account that is used as a credential for a network scan must have adequate permissions to run commands and read certain files on those systems. For example, some commands that run during a scan require privilege elevation to gather the complete set of facts for the scan. The Using Red Hat Discovery guide has additional information about the creation of credentials for network scans and the privileges that must be associated with those credentials to enable a more complete scan of network assets.
-
Discovery network scans will use program paths as defined in the target system’s
PATHvariable.
Chapter 3. Install Red Hat Discovery containers in a connected environment
The connected installation process uses container images from the Red Hat Ecosystem Catalogto install and configure Red Hat Discovery on a Red Hat Enterprise Linux system that has internet access. Discovery starts automatically when installed.
3.1. Install the Red Hat Discovery database and server container images for the connected installation
During the connected installation, you obtain the Discovery containers from the container images on the Red Hat Ecosystem Catalog website. You then configure the containers, configure Discovery, and start the containers.
Prerequisites
- The system on which you are downloading the Discovery container images is connected to the internet.
- That system can connect to the Red Hat Ecosystem Catalog.
Procedure
Install or update Podman.
sudo dnf install -y podman
Enable the Discovery repository for the Red Hat Enterprise Linux version and system architecture, and install the
discoveryctlpackage. Replace<repository>with the repository name from the prerequisites table.sudo subscription-manager repos --enable <repository> sudo dnf install -y discoveryctl
Run the following command to configure and install Discovery.
WarningDo not run any
discoveryctlcommands withsudoor as therootuser. Doing so will result in a broken installation.discoveryctl install
The Discovery application automatically starts after a successful installation.
NoteWhen you run the
discoveryctl installcommand for the first time, it might prompt you to provide multiple required values.-
discoveryctl installprompts you to define a new admin login username and password. You use those values to log in to Discovery. -
discoveryctl installmight prompt you to enter your credentials for the Red Hat container registry (registry.redhat.io) so that it can pull the Discovery container images. Discovery does not log, store, or use your Red Hat container registry credentials in any other way. The first time you start Discovery, the initial startup procedure for the application might take a long time to complete. To obtain more verbose data during the initial startup of the Discovery application, use the following commands:
# check if the service is running systemctl --user status discovery-app
# list all current containers podman ps -a
# display service logs sudo journalctl -t discovery-app sudo journalctl -t discovery-server
# display and follow service logs sudo journalctl -f -t discovery-app sudo journalctl -f -t discovery-server
If you want to access Discovery on another computer in the same network, you must allow traffic on TCP port 9443 through any firewall. This applies to any firewall to or on the system that is running the Discovery server.
-
Verification
Run the following command to confirm that the Discovery containers are running:
podman ps
The output lists the running Discovery containers, including the server, database, and UI containers.
3.2. Change the Red Hat Discovery username and password
Change the Discovery server login username and password after installation to meet your organization’s security requirements.
Prerequisites
The Discovery server password meets the following requirements:
- It is at least ten characters long.
- It contains at least one number.
- It contains at least one letter.
- It does not match the login username.
- It does not match known weak passwords.
- It does not match the previously provided Discovery default password.
Procedure
To reset the username, run the following command and follow the prompts to enter the new username:
discoveryctl reset_admin_username
To reset the password, run the following command and follow the prompts to enter the new password:
discoveryctl reset_admin_password
NoteIf Discovery is running when you change the username or password, you must restart Discovery for the new values to take effect.
To restart Discovery, run the following command:
systemctl --user restart discovery-app
ImportantRed Hat does not provide support for lost passwords for Discovery, and Discovery does not offer a method to recover passwords. However, you can reset your username or password at any time after installation completes.
Verification
- Log in to Discovery with the new username or password to verify that the change was applied successfully.
Chapter 4. Install Red Hat Discovery containers in an air-gapped environment
You use the disconnected installation process when you want to run Red Hat Discovery on a Red Hat Enterprise Linux system that does not have internet access, also commonly referred to as a disconnected, offline, or air-gapped environment.
The process has two phases. First, on a connected RHEL system with internet access, you obtain the Discovery container images from the Red Hat Ecosystem Catalog and save them to a file for transfer. Second, on the disconnected RHEL system, you transfer the container images and install and configure Discovery. When installation is complete, Discovery starts automatically and is ready to use.
4.1. Install the Discovery application for the disconnected installation
Install Podman on the connected system and pull the Red Hat Discovery container images from the Red Hat Ecosystem Catalog. Then follow the steps to install the Discovery application on a disconnected system:
- Transfer the images to the disconnected system
- Load them into local storage
-
Install the
discoveryctlmanagement tool - Configure and start the Discovery application
Prerequisites
Connected system:
- This system connects to the internet.
- This system must be able to connect to the Red Hat Ecosystem Catalog.
Disconnected system:
-
This system must be able to install Red Hat standard packages through
dnf. The Discovery repository for the Red Hat Enterprise Linux version and system architecture must be accessible on this system from a local package source:
RHEL version Architecture Repository name 10
x86_64
discovery-2-for-rhel-10-x86_64-rpms9
x86_64
discovery-2-for-rhel-9-x86_64-rpms8
x86_64
discovery-2-for-rhel-8-x86_64-rpmsSetting up and maintaining a local package source in a disconnected environment is outside the scope of Red Hat Discovery documentation. Ensure that the required repositories are accessible on the disconnected system. Common approaches include using This content is not included.Satellite to synchronize repositories to the disconnected environment or using a local package mirror configured with the required repositories.
Procedure
On the connected system:
Install or update Podman on the connected system.
sudo dnf install -y podman
Log in to the Red Hat Ecosystem Catalog (the registry.redhat.io website). When prompted, supply your Red Hat Customer Portal account credentials.
podman login registry.redhat.io
Pull the Discovery container images and save them into a
.tar.gzfile.podman pull registry.redhat.io/discovery/discovery-ui-rhel9:2.7 registry.redhat.io/discovery/discovery-server-rhel9:2.7 registry.redhat.io/rhel9/postgresql-15:latest registry.redhat.io/rhel9/redis-7:latest podman save --multi-image-archive registry.redhat.io/discovery/discovery-ui-rhel9:2.7 registry.redhat.io/discovery/discovery-server-rhel9:2.7 registry.redhat.io/rhel9/postgresql-15:latest registry.redhat.io/rhel9/redis-7:latest | gzip > discovery-images.tar.gz
On the disconnected system:
-
Transfer
discovery-images.tar.gzto the disconnected system where Discovery will be installed. Install or update Podman on the disconnected system.
sudo dnf install -y podman
Load the container images into local storage for Podman.
podman load -i discovery-images.tar.gz
Enable the Discovery repository for the Red Hat Enterprise Linux version and system architecture, and install the
discoveryctlpackage. Replace<repository>with the repository name from the prerequisites table.sudo subscription-manager repos --enable <repository> sudo dnf install -y discoveryctl
Run the following command to configure and install Discovery.
WarningDo not run any
discoveryctlcommands withsudoor as therootuser. Doing so will result in a broken installation.discoveryctl install
The Discovery application will automatically start after a successful installation.
NoteThe first time
discoveryctl installruns, it prompts for a new admin login username and password. Use those credentials to log in to Discovery.The initial startup of Discovery might take a long time to complete. To monitor startup progress, use the following commands:
# check if the service is running systemctl --user status discovery-app
# list all current containers podman ps -a
# display service logs sudo journalctl -t discovery-app sudo journalctl -t discovery-server
# display and follow service logs sudo journalctl -f -t discovery-app sudo journalctl -f -t discovery-server
To access Discovery from another computer in the same network, allow traffic on TCP port 9443 through any firewall to or on the system that is running the Discovery server.
-
Transfer