Install the CloudBees Analytics server with the interactive command-line installer

6 minute readReference

The command-line user interface installation method is supported only by Linux platforms. In this mode, additional command line parameters that are listed in CloudBees Analytics Server Silent Unattended Installation Example can be used. The following procedure includes instructions for adding a system to a CloudBees Analytics cluster during installation.

For details about the overall steps for installing CloudBees Analytics on a group of servers to create a CloudBees Analytics server cluster, refer to Installing the CloudBees Analytics Server in Cluster Mode.

Installing on a system with other CloudBees CD/RO components

For a production environment, CloudBees recommends that you install the CloudBees Analytics server on a system other than systems running other CloudBees CD/RO components (such as the CloudBees CD/RO server, web server, repository server, or agent). If you must install it on the same system (such as for testing or other non-production or trial-basis situations), refer to CloudBees Analytics server with other components for details.

Installing the CloudBees Analytics server

  1. If you have not already, download the CloudBees Analytics-only installer file. To download this version, select your required installer:

  2. Start the installer:

    1. Enter the following command to make the installer file executable:

      Command
      Current version
      chmod +x CloudBeesSDAAnalyticsServer-x64-<version>
      chmod +x CloudBeesSDAAnalyticsServer-x64-2024.09.0.176472
    2. Start the installation:

      For more information about required user privileges, refer to Linux services user permissions.
      • For root or sudo installations:

        Command
        Current version
        ./CloudBeesSDAAnalyticsServer-x64-<version>
        ./CloudBeesSDAAnalyticsServer-x64-2024.09.0.176472
        • For root or sudo installations on Linux systems with a graphical interface system, run:

          Command
          Current version
          ./CloudBeesSDAAnalyticsServer-x64-<version> --mode console
          ./CloudBeesSDAAnalyticsServer-x64-2024.09.0.176472 --mode console
      • For non-root/non-sudo installations, run:

        Command
        Current version
        ./CloudBeesSDAAnalyticsServer-x64-<version> --nonRoot
        ./CloudBeesSDAAnalyticsServer-x64-2024.09.0.176472 --nonRoot
        • For non-root/non-sudo installations on Linux systems with graphical interface system, run:

          Command
          Current version
          ./CloudBeesSDAAnalyticsServer-x64-<version> \ --nonRoot \ --mode console
          ./CloudBeesSDAAnalyticsServer-x64-2024.09.0.176472 \ --nonRoot \ --mode console

          A warning about automatic server start-up with non-root/non- sudo installations appears. Enter Yes to dismiss the warning.

  3. The following prompt appears:

    This will install CloudBees Analytics Server on your computer. Continue? [n/Y]
  4. Continue the installation by entering y.

    The following prompt appears:

    Specify the install directory (for binaries) [/opt/cloudbees/sda]
  5. Press Enter to accept the default installation directory, or enter a new installation directory path for program files and binaries.

    The following prompt appears:

    Specify the data directory (for data files, configurations and logs) [/opt/cloudbees/sda]
  6. Press Enter to accept the default installation directory, or enter a new installation directory path for data files, configurations, and logs.

    The following prompt appears:

    Specify the user the services will run as []
  7. Enter the name of the user who owns the CloudBees Analytics server processes.

    The following prompt appears:

    Specify the group the services will run as [<primary group>]
  8. Enter the name of the group who owns the CloudBees Analytics server processes, or accept the default primary group of the chosen user by pressing Enter.

    The following prompt appears:

    Choose the port which will be used by {SDA-ANALYTICS} server [9201]

    The CloudBees Analytics server uses the OpenSearch search engine to gather and store data from the CloudBees CD/RO server for use in the CloudBees Analytics dashboards.

  9. If you want to specify a non-default port number, enter that number, or accept the default port number by pressing Enter.

    The following prompt appears:

    Choose the port which will be used by the CloudBees Analytics server for communication between nodes within the cluster [9301]

    This port is used for internal communication between nodes within the CloudBees Analytics cluster.

  10. If you want to specify a non-default port number, enter that number, or accept the default port number by pressing Enter.

    The following prompt appears:

    Do you want to specify additional cluster mode settings? [y/N]
  11. (Optional) Enter y if you want to add this system to a CloudBees Analytics server cluster. Otherwise, enter n.

    If you enter y, the following prompt appears:

    Is this node the first node to be installed in the cluster? [n/Y] y
    The following prompts related to the cluster are skipped if you declined to configure it automatically.
  12. If this is the first node that you are adding to the cluster, enter y.

    The following prompt appears:

    Specify the name of the CloudBees Analytics cluster [analytics]
  13. Enter the name of the cluster.

    The following prompt appears:

    Specify the name of this node [<hostname>]
  14. Enter the name of this node in the cluster.

    This serves as a unique identifier and therefore must be a unique name in the cluster.

    The following prompts appear:

    The first node will be automatically configured to hold data and perform data related operations. Installer will automatically create a user with user name "reportuser" to connect to {SDA-ANALYTICS} server. Specify a password for this user []
  15. Enter the password that will be used to access the server. The installer will automatically create a user named reportuser with the password that you provide. If you do not specify a password, the installer generates a default password changeme.

    The installer asks you to confirm the password that you entered. Enter the same password as before.

    The following prompt appears:

    Do you want to provide the certificate file containing a CA-signed certificate for the CloudBees Analytics Server, any intermediate CA certificates and a private key? [y/N]
  16. If you want to use your own certificate file, enter y and then enter the file path at the Specify the PKCS#12 certificate file [] prompt, or enter n.

    You can enter n for a new installation in non-clustered mode or for the first node in clustered mode. In this case, the installer will generate a new self-signed certificate and will use it to sign other TLS certificates.

    The following prompt appears:

    Specify the directory for data stored by the CloudBees Analytics server if the data should be stored in a different location than the regular data directory
  17. If you want to specify a non-default directory to contain the CloudBees Analytics index data, enter that directory path, or accept the default directory by pressing Enter.

    This option is useful if the system lacks enough disk space for the expected growth of data on the volume containing the default data directory.

    The following prompt appears:

    Do you want to specify the remote CloudBees CD/RO server which will be configured to interact with the services being installed? [n/Y]
  18. Enter y if you want to automatically configure the remote CloudBees CD/RO server to interact with the services being installed.

    The following prompts related to the configuration of the remote CloudBees CD/RO server are skipped if you declined to configure it automatically.

    The following prompt appears:

    Specify the host[:port] of the remote CloudBees CD/RO server []
    IPv6 addresses are only supported for Kubernetes platforms. If using an IPv6 address, enclose the address in square brackets. Example: [<IPv6-ADDRESS>].
  19. Enter the name of the CloudBees CD/RO server that will communicate with this CloudBees Analytics server. If the remote server is using a non-default HTTPS port, you must specify the host name as <host>:<port>. If you do not specify a port, HTTPS port 8443 is assumed (the same as the CloudBees CD/RO server default port).

    The following prompt appears:

    Specify the user name with which to login to "<remote host>" [admin]
  20. Enter the name of a CloudBees CD/RO user on the CloudBees CD/RO server who has sufficient privileges to edit server settings. This field defaults to the CloudBees CD/RO-supplied admin user.

    The following prompt appears:

    Specify the password for "<remote user>" on "<remote host>" []
  21. Enter the password for the CloudBees CD/RO user. The default password for the admin user is changeme.

    The following prompt appears:

    The CloudBees Analytics Server will be configured on CloudBees CD/RO server version <version> on <remote host>

    CloudBees CD/RO is installed on the machine. When the installation completes successfully, a message that contains the line Installation complete appears.

Configuring Autostart

For non-root/non-sudo Linux installations, you must configure autostart for the CloudBees Analytics services. For instructions, see Configuring Services Autostart for Non-Root/Non-sudo Linux Installations .

Configuring the CloudBees Analytics Server

If you chose to skip the option to configure the remote CloudBees CD/RO server during the installation or upgrade of the CloudBees Analytics server, you must do so afterward to ensure connectivity and authentication between the CloudBees Analytics server and the CloudBees CD/RO server. To do this, navigate to Administration  Configurations  Analytics server. For details, refer to Configuring the CloudBees Analytics server.

Checking the CloudBees Analytics Server Configuration

You can confirm the correct CloudBees Analytics server settings by entering the following ectool command on the CloudBees CD/RO server command line:

ectool getAnalyticsServerConfiguration

Following is sample output:

<response requestId="1" nodeId="10.30.176.76"> <analyticsServerConfiguration> <analyticsServerConfigurationId>fd48b25e-e74a-11ee-9cbf-02425ed14558</analyticsServerConfigurationId> <analyticsServerUrl>https://prodhost.internal:9201</analyticsServerUrl> <createTime>2024-03-21T06:19:35.801Z</createTime> <enabled>1</enabled> <lastModifiedBy>admin</lastModifiedBy> <modifyTime>2024-03-21T06:20:21.521Z</modifyTime> <owner>admin</owner> <userName>reportuser</userName> </analyticsServerConfiguration> </response>

For details about the getAnalyticsServerConfiguration options, enter

ectool getAnalyticsServerConfiguration --help

Testing Connectivity

After you enable connectivity and authentication between the CloudBees Analytics server and the CloudBees CD/RO server, you can perform a test by using one of the following methods:

  • Check the Test Connection option on the Administration  Configurations  Analytics server, then select Save.

  • Enter the following ectool command on the CloudBees CD/RO server command line:

    ectool setAnalyticsServerConfiguration --testConnection 1

    For details about the setAnalyticsServerConfiguration options, enter

    ectool setAnalyticsServerConfiguration --help

    For example, the following response appears if the user name or password is incorrect:

    ectool error [InvalidCredentials]: HTTP/1.1 401 Unauthorized: Access to 'https://prodserver.internal:9201' is denied due to invalid credentials.

    Also, for example, the following response appears if you specify an invalid analyticsServerUrl:

    ectool error [ConnectException]: HTTP/1.1 404 Not Found: Failed to connect to server on 'https://localhost:9201'.

    The following example shows the response when a valid analyticsServerUrl is used:

    ectool setAnalyticsServerConfiguration --analyticsServerUrl https://prodserver.internal:9201 --testConnection 1 <response requestId="1" nodeId="10.30.176.76"> <analyticsServerConfiguration> <analyticsServerConfigurationId>fd48b25e-e74a-11ee-9cbf-02425ed14558</analyticsServerConfigurationId> <analyticsServerUrl>https://prodserver.internal:9201</analyticsServerUrl> <createTime>2024-03-21T06:19:35.801Z</createTime> <enabled>1</enabled> <lastModifiedBy>admin</lastModifiedBy> <modifyTime>2024-03-21T06:20:21.521Z</modifyTime> <owner>admin</owner> <userName>reportuser</userName> </analyticsServerConfiguration> </response>