Installing and Configuring Discovery
Chapter 1. About discovery
The product discovery tool 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.
Learn more
To learn more about the purpose, benefits, and characteristics of discovery, see the following information:
To learn more about the products and product versions that discovery can find and inspect, see the following information:
To evaluate whether discovery is a correct solution for you, see the following information:
1.1. What is discovery?
The product discovery tool, also known as discovery, is an inspection and reporting tool. It is designed to find, identify, and report environment data, or facts, such as the number of physical and virtual systems on a network, their operating systems, and other configuration data. In addition, it is designed to find, identify, and report more detailed facts for some versions of key Red Hat packages and products for the IT resources in that network.
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.
The product discovery tool 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 SSH key of a user with sufficient authority to run the inspection process on a particular source or some of the assets on that 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 discovery are encrypted in a database. The values are encrypted with AES-256 encryption. They are decrypted when the discovery server runs a scan with the use of a vault password to access the encrypted values that are stored in the database.
The product discovery tool 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. What products does discovery find?
The product discovery tool finds the following Red Hat products. For each version or release, the earliest 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 5 and later
- 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 Application Services products (formerly Red Hat Middleware)
- Red Hat JBoss BRMS version 5.0.1 and later, version 6.0.0 and later (also known as Red Hat Decision Manager, and currently part of Red Hat Process Automation Manager)
- 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 OpenShift Container Platform
- Red Hat OpenShift Container Platform version 4 and later
1.3. Is discovery right for me?
The product discovery tool is intended to help you find and understand your Red Hat product inventory, including unknown product usage across complex networks. The reports generated by discovery are best understood through your partnership with a Red Hat Solution Architect (SA) or Technical Account Manager (TAM) or through the analysis and assistance supplied by the Subscription Education and Awareness Program (SEAP).
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. In addition, although Red Hat Support can provide some basic assistance related to installation and usage of discovery, 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. Installing prerequisites for discovery
Before you begin the installation process, review the information about discovery prerequisites. Then complete any installation or configuration tasks for the prerequisites.
Procedure
- 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 are going to install discovery must meet or exceed the following hardware requirements:
- CPU: 2 core minimum, with a recommended 4 cores
- Disk Storage: 30 GB
- RAM: 1 GB minimum, with a recommended 2 GB
2.2. Software prerequisites
The system on which you are going to install discovery must meet the following software requirements:
- Operating system: The latest version of Red Hat Enterprise Linux 8 or Red Hat Enterprise Linux 9, installed as a clean install and specifically not upgraded from RHEL 7
- File system: Must run with d_type (Podman requirement)
In addition to these software requirements, discovery has dependencies on other software that is required to install and run discovery, primarily 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.
Related Information
- For more information about the definition of Red Hat Enterprise Linux clean installs, see the key migration terminology section in the Upgrading from RHEL 8 to RHEL 9 guide.
2.3. Other environment prerequisites
The environment in which you are going to install and use discovery must meet the following requirements. Some of these requirements affect the systems on which you are going to install and run discovery. Others affect the systems in your IT infrastructure that you are going to scan with discovery.
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 discovery is installed and running:
- The system should be a system that is dedicated to discovery work only and should not be used for either development or production work.
The system must have an internet connection to register to Red Hat subscription management tools and access Red Hat content.
- For a disconnected installation, the connected system on which you are downloading the containers must meet this requirement.
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.
- The discovery server must have access, through the SSH protocol, to the IT infrastructure assets that are to be scanned.
On the systems in your network where discovery runs scans:
- 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
bash
shell. The shell cannot be the/sbin/nologin
shell or the/bin/false
shell. - 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 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.
-
A user account that is used as a credential for a network scan where authentication is done with an SSH key must have a copy of the private key on the discovery server. The private key must be stored in the
/var/discovery/server/volumes/sshkeys
directory, the default location for this directory at the time of server installation.
Additional resources
- For more information about the creation of credentials for network scans and their association with elevated privileges, see the topic about adding network sources and credentials in the Installing and Configuring Discovery guide.
Chapter 3. Installing discovery containers with the connected installation process
You use the connected installation process when you want to run discovery from a system that has internet access, also commonly referred to as a connected or online environment. During the discovery connected installation process, you complete all steps from the system that you intend to use as the discovery server. You will enter commands to obtain, install, configure the environment for, and start the discovery containers from the container images on the Red Hat Ecosystem Catalog website.
The connected installation process uses Podman to perform the container installation tasks for the discovery server and its supporting PostgreSQL database.
Prerequisites
- Before you begin, ensure that all hardware, software, and environment prerequisites are installed and configured. For more information about the prerequisites, see Installing prerequisites for discovery.
Procedure
To install discovery with the connected installation process, you do the following tasks:
From a single connected system, run a series of commands:
- Access and download the container images.
- Install, configure, and start the discovery server and database containers.
3.1. Installing the discovery database and server container images for the connected installation
During the connected installation of the discovery database and server container images, you obtain the discovery containers from the container images on the Red Hat Ecosystem Catalog website, configure the containers and configure discovery, and start the containers.
While you are completing the steps to configure the containers and configure discovery, you must enter values for a number of environment variables. The example code provided in the following procedure includes example values for these environment variables. All of the environment variable values can be customized to suit the needs of your environment. For example, due to heavy traffic on your network, you might need to set a longer connection timeout than the default provided in the example command. To do so, you would change the value of the -e NETWORK_CONNECT_JOB_TIMEOUT
environment variable.
Included in the environment variables that you set are the discovery server administrator username, server administrator password, server hostname, and server port. These values can also be changed, and it is possible that security standards at your organization might require that you change them. At a minimum, you should change the password value to align with common security best practices. The values for the username, password, and hostname are set with -e
option for the podman run
command. The value for the port is set with the --publish 9443:443
option for the podman run
command. The following list contains the defaults for these discovery environment variables, including the default server administrator password that you should consider changing:
-
server administrator username:
admin
-
server administrator password:
dscpassw0rd
-
server hostname:
localhost
-
server port:
9443
Note any changes to any usernames and passwords in the environment variables in the password management system that is used by your organization. Red Hat does not provide support for lost passwords for discovery, and discovery does not offer a method to recover these usernames and passwords.
In addition, if you upgrade discovery, you must use the same database username and password during the upgrade. The failure to use the same database credentials could result in data loss of previously stored discovery data.
Prerequisites
- The system on which you are downloading the discovery container images must be connected to the internet.
- That system must be able to connect to the Red Hat Ecosystem Catalog.
- You must have root privileges or their equivalent to run the commands in the following procedure.
Procedure
To install the discovery server and database containers with the connected installation process, use the following steps:
Log in with root access, supplying your
sudo
credentials when prompted.$ sudo su -
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
Create directories for the discovery server.
# mkdir -p /var/discovery/server/volumes/data # mkdir -p /var/discovery/server/volumes/log # mkdir -p /var/discovery/server/volumes/sshkeys
Pull the container images for the discovery database and server.
# podman pull registry.redhat.io/rhel8/postgresql-12:latest # podman pull registry.redhat.io/discovery/discovery-server-rhel9:latest
Run the following command to start and configure the discovery database container in a new
discovery-pod
pod. This command is shown on multiple lines for readability, but note the continuation characters at the end of each line.ImportantThe following sample command contains the settings for multiple discovery environment variables. The values of these environment variables can be changed as needed for your environment. In particular, the value for the discovery server administrator password is used in multiple environment variables in this step and the following step and is shown as a variable because it is strongly recommended that you change this value. As you do this step, preserve any changed values for the environment variables related to usernames and passwords in your password management system. The product discovery tool does not offer a method to recover these usernames and passwords.
# podman run --name dsc-db \ --pod new:discovery-pod \ --publish 9443:443 \ --restart on-failure \ -e POSTGRESQL_USER=dsc \ -e POSTGRESQL_PASSWORD=server_administrator_password \ -e POSTGRESQL_DATABASE=dsc-db \ -v dsc-data:/var/lib/pgsql/data \ -d registry.redhat.io/rhel8/postgresql-12:latest
Run the following command to start and configure the discovery server container in the
discovery-pod
pod. This command is shown on multiple lines for readability, but note the continuation characters at the end of each line.ImportantThe following sample command contains the settings for multiple discovery environment variables. The values of these environment variables can be changed as needed for your environment. As in the previous step, the value for the discovery server administrator password is shown as a variable. As you do this step, preserve any changed values for the environment variables related to usernames and passwords in your password management system. The product discovery tool does not offer a method to recover these usernames and passwords.
# podman run \ --name discovery \ --restart on-failure \ --pod discovery-pod \ -e DJANGO_DEBUG=False \ -e NETWORK_CONNECT_JOB_TIMEOUT=60 \ -e NETWORK_INSPECT_JOB_TIMEOUT=600 \ -e PRODUCTION=True \ -e QPC_DBMS_HOST=localhost \ -e QPC_DBMS_PASSWORD=server_administrator_password \ -e QPC_DBMS_USER=dsc \ -e QPC_DBMS_DATABASE=dsc-db \ -e QPC_SERVER_PASSWORD=server_administrator_password \ -e QPC_SERVER_TIMEOUT=120 \ -e QPC_SERVER_USERNAME=admin \ -e QPC_SERVER_USER_EMAIL=admin@example.com \ -v /var/discovery/server/volumes/data/:/var/data:z \ -v /var/discovery/server/volumes/log/:/var/log:z \ -v /var/discovery/server/volumes/sshkeys/:/sshkeys:z \ -d registry.redhat.io/discovery/discovery-server-rhel9:latest
Additional resources
- For more information about the optional procedure to install the discovery command line interface, see Installing the discovery command line interface.
- For more information about logging in to discovery, see Accessing the discovery user interface.
Chapter 4. Installing discovery containers with the disconnected installation process
The disconnected installation process is required when you want to run discovery from a system that does not have internet access, also commonly referred to as a disconnected, offline, or air-gapped environment. During the discovery disconnected installation process, you must complete some steps on a connected system, one that has internet connectivity. These steps include obtaining the container images from the Red Hat Ecosystem Catalog website and then transferring the images to the disconnected system that you intend to use as the discovery server. You also complete steps on the disconnected system to install, configure the environment for, and start the discovery containers.
The disconnected installation process uses Podman to install the containers for the discovery server and its supporting PostgreSQL database.
Prerequisites
- Before you begin, ensure that all hardware, software, and environment prerequisites are installed and configured. For more information about the prerequisites, see Installing prerequisites for discovery.
Procedure
To install discovery with the disconnected installation process, you do the following tasks:
From the connected system, run a series of commands:
- Access and download the container images.
From the disconnected system, run a series of commands:
- Transfer the container images to the disconnected system.
- Install, configure, and start the discovery server and database containers.
4.1. Installing the discovery database and server container images for the disconnected installation
During the disconnected installation of the discovery database and server container images, you begin with a connected system to install the Podman container management tool and obtain the discovery containers from the container images on the Red Hat Ecosystem Catalog website. You then transfer those container images to the disconnected system where you want to run discovery, install Podman on the disconnected system, configure the containers and configure discovery, and start the containers.
While you are completing the steps to configure the containers and configure discovery, you must enter values for a number of environment variables. The example code provided in the following procedure includes example values for these environment variables. All of the environment variable values can be customized to suit the needs of your environment. For example, due to heavy traffic on your network, you might need to set a longer connection timeout than the default provided in the example command. To do so, you would change the value of the -e NETWORK_CONNECT_JOB_TIMEOUT
environment variable.
Included in the environment variables that you set are the discovery server administrator username, server administrator password, server hostname, and server port. These values can also be changed, and it is possible that security standards at your organization might require that you change them. At a minimum, you should change the password value to align with common security best practices. The values for the username, password, and hostname are set with -e
option for the podman run
command. The value for the port is set with the --publish 9443:443
option for the podman run
command. The following list contains the defaults for these discovery environment variables, including the default server administrator password that you should consider changing:
-
server administrator username:
admin
-
server administrator password:
dscpassw0rd
-
server hostname:
localhost
-
server port:
9443
Note any changes to any usernames and passwords in the environment variables in the password management system that is used by your organization. Red Hat does not provide support for lost passwords for discovery, and discovery does not offer a method to recover these usernames and passwords.
In addition, if you upgrade discovery, you must use the same database username and password during the upgrade. The failure to use the same database credentials could result in data loss of previously stored discovery data.
Prerequisites
- The connected system on which you are downloading the discovery container images must be connected to the internet.
- The connected system must be able to connect to the Red Hat Ecosystem Catalog.
- You must have root privileges or their equivalent to run the commands in the following procedure.
Procedure
To install the discovery server and database containers with the disconnected installation process, use the following steps:
On the connected system
Log in with root access, supplying your
sudo
credentials when prompted.$ sudo su -
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 database and server containers and save them as
.tar.gz
files.# podman pull registry.redhat.io/rhel8/postgresql-12:latest # podman save registry.redhat.io/rhel8/postgresql-12:latest -o postgres.tar.gz # podman pull registry.redhat.io/discovery/discovery-server-rhel9:latest # podman save registry.redhat.io/discovery/discovery-server-rhel9 -o discovery.tar.gz
On the disconnected system
Log in with root access, supplying your
sudo
credentials when prompted.$ sudo su -
-
Use the transfer method of your choice to transfer the
postgres.tar.gz
anddiscovery.tar.gz
files to the disconnected system where you are going to install discovery. Load the container images into container storage.
# podman load postgres.tar.gz # podman load discovery.tar.gz
Create directories for the discovery server.
# mkdir -p /var/discovery/server/volumes/data # mkdir -p /var/discovery/server/volumes/log # mkdir -p /var/discovery/server/volumes/sshkeys
Run the following command to start and configure the discovery database container in a new
discovery-pod
pod. This command is shown on multiple lines for readability, but note the continuation characters at the end of each line.ImportantThe following sample command contains the settings for multiple discovery environment variables. The values of these environment variables can be changed as needed for your environment. In particular, the value for the discovery server administrator password is used in multiple environment variables in this step and the following step and is shown as a variable because it is strongly recommended that you change this value. As you do this step, preserve any changed values for the environment variables related to usernames and passwords in your password management system. The product discovery tool does not offer a method to recover these usernames and passwords.
# podman run --name dsc-db \ --pod new:discovery-pod \ --publish 9443:443 \ --restart on-failure \ -e POSTGRESQL_USER=dsc \ -e POSTGRESQL_PASSWORD=server_administrator_password \ -e POSTGRESQL_DATABASE=dsc-db \ -v dsc-data:/var/lib/pgsql/data \ -d registry.redhat.io/rhel8/postgresql-12:latest
Run the following command to start and configure the discovery server container in the
discovery-pod
pod. This command is shown on multiple lines for readability, but note the continuation characters at the end of each line.ImportantThe following sample command contains the settings for multiple discovery environment variables. The values of these environment variables can be changed as needed for your environment. As in the previous step, the value for the discovery server administrator password is shown as a variable. As you do this step, preserve any changed values for the environment variables related to usernames and passwords in your password management system. The product discovery tool does not offer a method to recover these usernames and passwords.
# podman run \ --name discovery \ --restart on-failure \ --pod discovery-pod \ -e DJANGO_DEBUG=False \ -e NETWORK_CONNECT_JOB_TIMEOUT=60 \ -e NETWORK_INSPECT_JOB_TIMEOUT=600 \ -e PRODUCTION=True \ -e QPC_DBMS_HOST=localhost \ -e QPC_DBMS_PASSWORD=server_administrator_password \ -e QPC_DBMS_USER=dsc \ -e QPC_DBMS_DATABASE=dsc-db \ -e QPC_SERVER_PASSWORD=server_administrator_password \ -e QPC_SERVER_TIMEOUT=120 \ -e QPC_SERVER_USERNAME=admin \ -e QPC_SERVER_USER_EMAIL=admin@example.com \ -v /var/discovery/server/volumes/data/:/var/data:z \ -v /var/discovery/server/volumes/log/:/var/log:z \ -v /var/discovery/server/volumes/sshkeys/:/sshkeys:z \ -d registry.redhat.io/discovery/discovery-server-rhel9:latest
Additional resources
- For more information about the optional procedure to install the discovery command line interface, see Installing the discovery command line interface.
- For more information about logging in to discovery, see Accessing the discovery user interface.
Chapter 5. Installing the discovery command line interface
After you have finished the procedure to install the discovery server and database containers, you can install the discovery command line interface (CLI) as an optional step.
The discovery command line interface is available within the server container. Therefore, the code needed to install the command line interface is already available on the system where you installed the server and database containers, regardless of whether you used the connected or disconnected procedure for the installation.
Prerequisites
- You must install the discovery command line interface on the same system where you installed the discovery server and database containers.
Procedure
To install the discovery command line interface, you do the following tasks:
From the system where the discovery server and database containers are installed, run a series of commands:
- Use the Toolbox tool to set up a containerized command line environment for discovery.
- Create an alias to run the command line interface and make the alias persistent across sessions.
- Configure hostname and port information to use for communication between the command line interface and the server.
5.1. Installing the discovery command line interface
The installation process for the discovery command line interface includes creating a containerized command line environment with the Toolbox tool and configuring an alias to access the command line environment.
Prerequisites
- You must have root privileges or their equivalent to run some of the commands in the following procedure.
Procedure
To install the discovery command line interface, use the following steps:
Log in with root access, supplying your
sudo
credentials when prompted.$ sudo su -
Install the Toolbox tool to set up a containerized command line environment for the discovery command line interface.
# yum install toolbox -y
Create a new toolbox container from the discovery server container image.
# toolbox create --image registry.redhat.io/discovery/discovery-server-rhel9:latest discovery-toolbox
Create an alias to run the discovery command line interface.
# alias dsc='toolbox run --container discovery-toolbox dsc'
-
To persist this alias across multiple discovery sessions, use a text editor to add the previous command to the
/root/.bashrc
file. Configure the hostname by using the
hostname
command and port that the discovery command line interface uses to communicate with the discovery server. For theserver_port
value, enter the port that is being used for HTTPS communication.NoteIn the procedure to install the discovery server and database containers, the value for the server_port was set by the following option in the
podman run
command:--publish 9443:443
. If you did not use9443
as the server port, enter the value that you used.# dsc server config --host hostname --port server_port
Additional resources
- For more information about logging in to discovery, see Accessing the discovery user interface.
Chapter 6. Accessing the discovery user interface
You access the discovery graphical user interface through a browser. You access the discovery command line interface by running a terminal session command to connect to the server.
Learn more
To learn more about the requirements and steps to log in to and out of the discovery graphical user interface, see the following information:
To learn more about the requirements and steps to log in to and out of the discovery command line interface, see the following information:
6.1. Logging in to the discovery user interface
To log in to the discovery user interface, you need the IP address of the system where the discovery server is installed, the port number for the connection if the default port was changed during server installation, and the server administrator username and password to use when logging in. If you do not have this information, contact the administrator who installed the discovery server.
Prerequisites
- To use the discovery graphical user interface, the system on which you want to run the user interface must be able to communicate with the system on which the discovery server is installed.
Procedure
In a browser, enter the URL for the discovery server in the following format:
https://IPaddress:server_port
, whereIPaddress
is the IP address of the discovery server andserver_port
is the exposed server port.The following examples show two different ways to enter the URL, based on the system that you are logging in from and whether the default port is used:
If you log in from the system where the server is installed and the default port
9443
is used, you can use the loopback address (also known as localhost) as the IP address, as shown in the following example:https://127.0.0.1:9443
If you log in from a system that is remote from the server, the server is running on the IP address
192.0.2.0
, and the default port was changed during installation to8443
, you would log in as shown in the following example:https://192.0.2.0:8443
After you enter the URL for the server, the discovery login page displays.
- On the login page, enter the username and password for the discovery server administrator account and then click Log in to log in to the server.
Verification steps
If this is the first time that you have logged in to discovery, the Welcome page displays. You can begin by adding sources and credentials that can be used in scans. If you have previously logged in to discovery, the Welcome page is skipped and you can interact with your previously created sources, credentials, and scans.
6.2. Logging out of the discovery user interface
Procedure
- In the application toolbar, click the person icon or your username.
- Click Logout.
6.3. Logging in to the discovery command line interface
To log in to the discovery command line interface, you need the username and password for the discovery server administrator. If you do not have this information, contact the administrator who installed the discovery server.
The login command retrieves a token that is used for authentication with subsequent command line interface commands. That token is removed when you log out of the server, and expires daily.
Prerequisites
- The discovery command line interface must be installed on the same system where the server container is installed.
- You must access the command line interface on the same system where the server container is installed.
Procedure
To log in to the command line interface, enter the following command, where
server_username
is the username for the discovery server administrator andserver_password
is the password for the server administrator:# dsc server login --username server_administrator_username --password server_administrator_password
After you log in to the command line interface, you can begin entering commands to create sources, credentials, and scans.
Currently, man page information is not available from the discovery command line interface. You can access the man page information in the quipucords
repository, which is the upstream project for the product discovery tool. The man page information is located in the qpc
subrepo in that project.
For more information about using the discovery commands, see the qpc man page at https://github.com/quipucords/qpc/blob/master/docs/source/man.rst. When you begin using the command line interface, substitute the dsc
command for the qpc
command in your command line entries.
6.4. Logging out of the discovery command line interface
The command to log out of the server removes the token that was created when you logged in to the server. This token also expires daily.
Procedure
To log out of the command line interface, enter the following command:
# dsc server logout
Chapter 7. Configuring and maintaining discovery
After installation is complete, you might have to complete other steps to configure or maintain discovery. The options that you choose during installation and the way in which you use discovery can determine the types of configuration and maintenance tasks that you need to perform.
Learn more
If you are going to run network scans with credentials that include SSH keys as the authentication method, then the discovery server must have access to the keyfile information. To learn more about adding SSH keys to the discovery server, see the following information:
7.1. Adding SSH keys to the discovery server for network scans
When you configure sources and credentials for a network scan, you select the type of credential to use to authenticate to the network assets that are being scanned. One of the available options for the credential is to authenticate with a username and SSH keyfile. If you choose this option, you must add a copy of the private key to a specific directory on the server so that discovery can authenticate to those assets and complete the processes that occur during a scan.
You might have to perform these steps as an ongoing maintenance task as you create and refine the credentials needed for your network scans.
Each SSH private key provided must be copied into the directory that was mapped to /sshkeys
path on the server container during the discovery server installation. In other words, the SSH private key must be copied to your file system at the mount point where the container will look for it. The default path for this mount point directory is /var/discovery/server/volumes/sshkeys
on the system where discovery is installed. That file path is a shared volume to the container at discovery:/sshkeys
.
This process is required because the container must have a standardized mount point to map to the container volume during container initialization. Using a standardized mount point is required for security reasons. A container should never have full access to your entire file system. When you are using the discovery command line interface or the graphical user interface, using the full path to a resource will result in an error stating that the file is not a valid file on the file system. This message occurs because the container searches for the path on its own file system, not at the full path that is passed to it.
When you or other discovery users are using the graphical user interface to create network credentials that use SSH, the field that requires the mount point directory location is the SSH Key File field. For the command line interface, it is the --sshkeyfile
argument. For both of these options, the default value of the mount point directory is /var/discovery/server/volumes/sshkeys
.
Procedure
To add an SSH keyfile to the discovery server:
- Copy the private key from the keyfile, using the copy method of your choice.
-
Add the private key to the
/var/discovery/server/volumes/sshkeys
directory on the discovery server, the default location for this directory at the time of server installation. - Repeat these steps as needed for all credentials that use SSH keyfiles as the authentication method, including when relevant new credentials are added.