Installing CloudBees Analytics

6 minute readReferenceData analytics

The graphical user interface installation method is supported by Windows platforms and Linux platforms running the X Window System. 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, see Installing the CloudBees Analytics Server in Cluster Mode .

Install 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) see CloudBees Analytics server with other components for details.

Installation instructions

  1. (Linux only) Enter the following command to make the installer file executable:

    chmod +x ./CloudBeesFlow-<version>
  2. Do one of the following to start the installation:

    • For Linux with root or sudo privileges or for Windows installations, double-click the installer file.

    • For Linux non-root/non-sudo installations, on a command line enter:

      ./CloudBeesFlow-<version> --nonRoot

      For this installation type, a warning about automatic server start-up with non-root/non-sudo installations appears. Click Yes to dismiss the warning.

    The install wizard welcome screen displays. Click Next to continue. The Directories screen appears.

  3. Review Install directory and Data directory default locations; select Browse to specify different directory locations. Click Next to continue. The Service account screen appears.

  4. If you have a Windows system, complete the information on the Service Account screen as follows:

    • User Name: Name of the user who will run the CloudBees Analytics server services.

    • Password: Password of the user who will run the CloudBees Analytics server services.

    • Domain: Domain name information for the user. Leave this field blank if this is a local user.

    • Use the local system account: Select this check box if you want the CloudBees Analytics server to run as the local Windows system account.

  5. If you have a Linux system, complete the information on the Service Account screen as follows:

    • User Name—Name of the user who owns the CloudBees Analytics server processes.

    • Group Name—Name of the group who owns the CloudBees Analytics server processes.

    Click Next to continue. The Configure Services screen appears.

  6. Review information on the Configure Services screen:

    • Hostname or IP address: Name of the host that will be used to access the installed CloudBees Analytics server.

    • Publish host: The network address that the Elasticsearch node advertises to other nodes in the cluster, so that those nodes can connect to it

    • Elasticsearch port: Port number to be used to access Elasticsearch. The CloudBees Analytics server uses the Elasticsearch search engine and the Logstash data-collection and log-parsing engine to gather data from the CloudBees CD/RO server for use in the Deployments, Releases, and Release Command Center dashboards.

    • Node communication port: Port number used for internal communication between nodes within the Elasticsearch cluster.

    • Logstash port: Port number to be used to store information in Logstash.

    • Logstash monitoring API port: Port number used by the Logstash monitoring APIs that provide runtime metrics about Logstash.

    • Heap size for Elasticsearch (MB): Heap size for Elasticsearch in megabytes.

    • Number of primary shards in Elasticsearch index —Number of primary shards in the Elasticsearch index.

    • Initial RAM for Logstash (MB): Initial heap size for Logstash in megabytes.

    • Maximum RAM for Logstash (MB): Maximum heap size for Logstash in megabytes.

    Complete the information on the Configure Services screen, and click Next to continue. The Cluster Settings screen appears.

  7. Check Configure CloudBees Analytics Server for a clustered deployment if you want to add this system to a CloudBees Analytics server cluster. If you do so, additional fields appear to let you enter the details about this node and the cluster. Otherwise, select Next to proceed to the next step.

    • Elasticsearch Cluster name: Name of the cluster. The cluster name must be unique across all Elasticsearch clusters in the network

    • List of other nodes in the cluster that are likely to be live and reachable —Additional nodes that are running CloudBees Analytics and can become part of the cluster. These can be any nodes (whether they are master-eligible or not). You can enter any combination of IP addresses or host names.

      This is mandatory for additional nodes and optional for the first node. You should specify in this list all available master nodes.

    • Elasticsearch Node name: Name of this node in the cluster. This serves as a unique identifier and therefore must be a unique name in the cluster.

    • This is the first node in the cluster: Check this checkbox if this is the first node that you are adding to the cluster.

    • Configure as master-eligible node: Makes this node eligible to be elected as a master node. Master-eligible nodes participate in updating the cluster state as well as elections of the master node. A master-eligible node can also be a data node. The first node that you add to a cluster is always a master-eligible node (and also a data node).

    • Configure as data node: Determines whether this node will be a data node. A data node stores data that is indexed into Elasticsearch and performs data-related operations such as CRUD, search, and aggregations. A data node can also be a master-eligible node. The first node that you add to a cluster is always a data node (and also a master-eligible node).

      After completing setting on the Cluster Settings, click Next to continue. The Security Settings screen appears. . Allow unsecured access to CloudBees Analytics Server: Check this field if you do not want to use a secure protocol and authentication when accessing the CloudBees Analytics server: Otherwise, the Password and Confirm password fields let you enter the server password: Password: Password to be used to access the server. The installer will automatically create a user with user name reportuser and the password that you specified. If you do not specify a password, the installer will generate a default password. (CloudBees recommends that you change this password.) Confirm password: Confirm the password. Enter the same password in this field as in the previous field.

      + IMPORTANT: Unsecured access is not recommended for use in a production environment.

  8. Complete the information on the Security Settings screen, and click Next to continue. The Advanced Settings screen appears.

  9. Complete the information on the Advanced Settings screen.

    • Use a different directory for data stored by Elasticsearch: Check if you want to use a non-default directory for Elasticsearch index data. If you do so, the Elasticsearch data directory field appears to enter that directory. Otherwise, ElasticSearch data is stored in the default data directory.

    Click Next to continue. The Remote CloudBees Software Delivery Automation Server screen appears.

  10. Complete the information as follows:

    • Skip CloudBees CD/RO server configuration: Determines whether to skip the automatic configuration of the remote CloudBees CD/RO server with the services being installed. If you choose to skip this option, continue to the next step. Otherwise, fill in the fields in the screen as follows:

    • Server host name: 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 enter <host>:<port>.

    • CloudBees CD/RO User Name: 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.

    • Password: Password for the CloudBees CD/RO user. The default password for the admin user is changeme.

    Click Next to continue. The Ready to Install screen appears:

  11. Review the Ready to Install screen to verify your selections. Use the Back button to change any of your settings if needed.

    When ready, click Begin Install. The installer displays a status bar to show the progress of the installation, which can take a few minutes. When the installation is complete, the Install Wizard Complete screen appears.

  12. On the Install Wizard Complete screen click Finish to start the installation.

    The installer displays a status bar to show the progress of the installation, which can take fifteen minutes:. When the install process is complete, the Install Wizard Complete screen appears.

Autostart for non-root/non-sudo Linux installations

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.

Configuration

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 ConfigurationsAnalytics server. For details, see Configuring the CloudBees Analytics server.

Checking the 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 getDevOpsInsightServerConfiguration

Following is sample output:

<response requestId="1" nodeId="192.168.5.138">
    <devOpsInsightServerConfiguration>
      <devOpsInsightServerConfigurationId>12642169-71c4-11e7-8a08-0050568f29b0</devOpsInsightServerConfigurationId>
      <createTime>2017-07-26T05:34:19.404Z</createTime>
      <elasticSearchUrl>https://192.168.5.54:9200</elasticSearchUrl>
      <enabled>1</enabled>
      <lastModifiedBy>admin</lastModifiedBy>
      <logStashUrl>https://192.168.5.54:9500</logStashUrl>
      <modifyTime>2017-07-26T05:40:13.458Z</modifyTime>
      <owner>admin</owner>
      <userName>reportuser</userName>
    </devOpsInsightServerConfiguration>
  </response>

For details about the getDevOpsInsightServerConfiguration options, enter

ectool getDevOpsInsightServerConfiguration --help

Testing connectivity and authentication

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 checkbox on the Administration ConfigurationsAnalytics server select OK.

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

    ectool setDevOpsInsightServerConfiguration --testConnection 1

    For details about the setDevOpsInsightServerConfiguration options, enter

    ectool setDevOpsInsightServerConfiguration --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://192.168.5.54:9500' is denied due to invalid credentials.

    Also, for example, the following response appears if you specify an invalid elasticSearchUrl or logstashUrl :

    ectool error [InvalidUrl]: The url 'https://192.168.5.54:9500' is invalid

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

    ectool setDevOpsInsightServerConfiguration
      --elasticSearchUrl https://192.168.5.54:9200 --testConnection 1