Installation Guide

This document describes the installation process of the Camunda Optimize distribution, as well as various configuration possibilities available after initial installation.

Before proceeding with the installation, please read the article about supported environments.

Distribution with Elasticsearch

To install the distribution containing Elasticsearch, please download the archive with the latest version from the download page and extract it to the desired folder. After that, start Optimize by running the script start-optimize.sh on Linux or start-optimize.bat on Windows.

Distribution without Elasticsearch

You can download the archive, which contains all the required files to startup Camunda Optimize, and configure it to connect to your pre-installed Elasticsearch instance. You can then start your instance by running the script start-optimize.sh with the standalone parameter on Linux:

./start-optimize.sh standalone

or start-optimize.bat with the standalone parameter on Windows:

.\start-optimize.bat standalone

Usage

You can start using Optimize right away by opening the following URL in your browser: http://localhost:8090

Please note that, in order to utilize all features of Optimize, you have to configure integration with the Camunda BPM Platform and perform an import of the data. Please refer to the import section for more instructions.

Configuration

All distributions of Optimize come with a predefined set of configuration options that can be overwritten by the user, based on current environment requirements. To do that, have a look into the folder named environment. There are two files, one called environment-config.yaml with values that override the default Optimize properties and another called environment-logback.xml, which sets the logging configuration.

You can see all supported values and read about logging configuration here.

Optimize Container Configuration

The following YAML Paths correspond to settings available in the environment configuration.

  • container.ports.http - A port number that is used by the embedded jetty server to process HTTP connections

    Default value: `8090`
    
  • container.host - You can configure a host either by host name or IP address, to identify a specific network interface on which to listen

    Default value: `0.0.0.0`
    

Heads Up!

Changing these properties also requires adjustments in the startup script start-optimize.sh on Linux or start-optimize.bat on Windows.

Elasticsearch configuration

The Optimize distribution comes with an Elasticsearch instance. The supplied Elasticsearch server is not customized or tuned by Camunda in any manner.

Configuration values

You can customize connection properties used by Optimize by changing the following properties:

  • es.host - A hostname on which the Elasticsearch TCP listener is available

    Default value: `localhost`
    
  • es.port - A port number used by Elasticsearch to accept TCP connections

    Default value: `9300`
    
  • es.index - An index name used to create all Optimize types, shards, etc.

    Default value: `optimize`
    

Heads Up!

Changing these properties also requires adjustments in the startup script start-optimize.sh on Linux or start-optimize.bat on Windows.

Additional considerations

Optimize will create a default user on initial startup of the application, with the username\password pair admin\admin. We highly recommend to remove this user if you plan to use the system in a productive environment.

Camunda BPM configuration

To perform an import and provide the full set of features, Optimize requires connection to the REST API of the Camunda engine, which can be configured using the following properties.

  • engines.${engineAlias}.rest - A base URL that will be used for connections to the Camunda Engine REST API

    Default value: `http://localhost:8080/engine-rest`
    
  • engines.${engineAlias}.name - The name of the engine that will be used to import data

    Default value: `default`
    

Import of the dataset

By default, Optimize comes without any data available. To start using all the features of the system, you have to perform a data import from the Camunda BPM Platform. This process is triggered automatically on start.

If you are interested in the details of the import, please refer to the dedicated import overview section.

Hardware Resources

According to the tests with different datasets described on import overview page we can recommend to carefully choose hardware resources that are allocated to the server with Optimize.

Heads Up!

Exact hardware requirements highly depend on number of factors such as: size of the data, network speed, current load on the engine and it’s underlying database. Therefore we cannot guarantee that following requirements will exactly match every case.

We recommend following minimum hardware for data sets:

  • Small Size Of Data

    • 2 CPU Cores
    • 512MB RAM for Camunda Optimize
    • 2 GB RAM for Elasticsearch
  • Medium Size Of Data

    • 3 CPU Cores
    • 4GB RAM for Camunda Optimize
    • 3 GB RAM for Elasticsearch
  • Large Size Of Data

    • 4 CPU Cores
    • 8GB RAM for Camunda Optimize
    • 4 GB RAM for Elasticsearch

Please be aware, that Optimize is using data structures, that are different from Data stored by engine in relational database. Final amount of space on hard drive required by Optimize will depend on your replication settings, but you could expect Optimize to use 20% of space that your relational database is using.

Recommended Additional Configurations

Adjust engine heap size

Sending huge process definition diagrams via Rest-API might cause the engine to crash, because of the limited heap size. Thus, it is recommended to increase the heap size of the engine to at least 1 gigabyte, e.g., by adding the following java command line property when starting the engine:

-Xmx1024m

On this Page: