Data Center

This is a description of the new improved Jira Data Center support starting from the eazyBI version 4.5.0.

The latest eazyBI version includes improved Jira Data Center support which allows to configure eazyBI load across different cluster nodes.

On this page:

Overview

Previous eazyBI versions (when used in a Jira Data Center cluster) distributed eazyBI load randomly across the cluster nodes. The incoming eazyBI report execution requests were performed on a node where the web request was distributed by the load balancer. The background import jobs were randomly executed on some cluster nodes. Many Jira Data Center customers preferred to specify which Jira Data Center cluster nodes are used for CPU and memory intensive eazyBI tasks to minimize the performance impact on other nodes.

The new improved eazyBI for Jira Data Center allows to specify dedicated nodes of the cluster where complex eazyBI tasks (report execution and background import jobs) are executed:

  • User requests are distributed to cluster nodes by the load balancer. Each node is running an eazyBI instance which accepts the eazyBI report requests but then make a proxy request to one of the specified eazyBI dedicated nodes.
  • The eazyBI dedicated node performs the report request in a separate eazyBI child process and then returns report results to the original request node.
  • Both manually initiated as well as scheduled import jobs are executed only on eazyBI dedicated nodes.

For large Jira Data Center installations it is recommended to have a separate cluster node (or several nodes) which are not used by the load balancer for incoming user requests. This separate node can be used both as an eazyBI dedicated node as well as for other non-user requests purposes. In this case when eazyBI will execute complex requests and perform long data imports it will not affect the performance of other nodes which handle incoming user requests.

Settings

When eazyBI is installed in Jira Data Center then the eazyBI settings page (where you initially specify the database connection) will show a separate Data Center section:

  • Dedicated nodes
    Select from the list of available cluster nodes which should be used as eazyBI dedicated nodes. Typically just one dedicated node is enough.
  • Child process
    The eazyBI child process will be used only on specified dedicated nodes. Specify additional JVM options if needed (for example, to increase the child process JVM heap max memory).

The list of dedicated nodes are stored in the Jira shared home directory in the eazybi.toml file (where database connection and child process parameters are stored as well).

If the list of eazyBI dedicated nodes is updated then eazyBI instances on each node reconfigure themselves automatically (start or stop the child process and start to process background jobs).

Log files

The latest eazyBI version stores all log files in the shared Jira home directory (the previous versions stored the log files in local Jira home directories of each node). This change was made to enable that log files can be access from each node and enable to create a zip file with all logs for support and troubleshooting purposes.

Each log file name will contain a suffix with the node name which created this file (see the NODE placeholder below). The following log files will be created in the log subdirectory of the shared Jira home directory:

  • eazybi-web-NODE.log – the main log file with incoming web requests.
  • eazybi-queues-NODE.log – the log file for background import jobs (on dedicated nodes).
  • eazybi-child-NODE.log – the log file for the child process (on dedicated nodes).

Troubleshooting

The system administration Troubleshooting page can be used to:

  • See the status of the child process on the dedicated node.
  • See the list of all log files from all nodes, see the content of these log files as well as download a zip file with all log files.

The system administration Background jobs page can be used to see the status and statistics of background jobs processing on dedicated nodes. Each queue name has a node prefix indicating on which node this queue is processed. The size of background job queues can be modified in the eazyBI advanced settings.