Configuration
#
IntroductionOperate is a Spring Boot application. That means all ways to configure
a Spring Boot application can be applied. By default the configuration for Operate is stored in a YAML file application.yml
. All Operate related settings are prefixed
with camunda.operate
. The following parts are configurable:
- Elasticsearch Connection
- Zeebe Broker connection
- Zeebe Elasticsearch Exporter
- Operation Executor
- Authentication
- Scaling Operate
- Monitoring possibilities
- Logging configuration
- Probes
#
Configurations#
ElasticsearchOperate stores and reads data in/from Elasticsearch.
#
Settings to connectOperate supports basic authentication for elasticsearch. Set the appropriate username/password combination in the configuration to use it.
Either set host
and port
(deprecated) or url
(recommended)
Name | Description | Default value |
---|---|---|
camunda.operate.elasticsearch.clusterName | Clustername of Elasticsearch | elasticsearch |
camunda.operate.elasticsearch.host | Hostname where Elasticsearch is running | localhost |
camunda.operate.elasticsearch.port | Port of Elasticsearch REST API | 9200 |
camunda.operate.elasticsearch.url | URL of Elasticsearch REST API | http://localhost:9200 |
camunda.operate.elasticsearch.username | Username to access Elasticsearch REST API | - |
camunda.operate.elasticsearch.password | Password to access Elasticsearch REST API | - |
#
Settings for shards and replicasOperate creates the template with index settings named operate-<version>_template
that Elasticsearch will use for all Operate indices.
These settings can be changed.
Following configuration parameters will define the settings:
Name | Description | Default value |
---|---|---|
camunda.operate.elasticsearch.numberOfShards | How many shards Elasticsearch uses for all Operate indices | 1 |
camunda.operate.elasticsearch.numberOfReplicas | How many replicas Elasticsearch uses for all Operate indices | 0 |
These values are applied only on first startup of Operate or during version upgrade. After Operate ELS schema is created, settings may be adjusted directly in ELS template and the new settings will be applied to indices created after adjustment.
#
A snippet from application.yml:#
Zeebe Broker ConnectionOperate needs a connection to Zeebe Broker to start the import and to execute user operations.
#
Settings to connectName | Description | Default value |
---|---|---|
camunda.operate.zeebe.brokerContactPoint | Broker contact point to zeebe as hostname and port | localhost:26500 |
#
A snippet from application.yml:#
Zeebe Elasticsearch ExporterOperate imports data from Elasticsearch indices created and filled in by Zeebe Elasticsearch Exporter. Therefore settings for this Elasticsearch connection must be defined and must correspond to the settings on Zeebe side.
#
Settings to connect and import:Name | Description | Default value |
---|---|---|
camunda.operate.zeebeElasticsearch.clusterName | Cluster name of Elasticsearch | elasticsearch |
camunda.operate.zeebeElasticsearch.host | Hostname where Elasticsearch is running | localhost |
camunda.operate.zeebeElasticsearch.port | Port of Elasticsearch REST API | 9200 |
camunda.operate.zeebeElasticsearch.prefix | Index prefix as configured in Zeebe Elasticsearch exporter | zeebe-record |
camunda.operate.zeebeElasticsearch.username | Username to access Elasticsearch REST API | - |
camunda.operate.zeebeElasticsearch.password | Password to access Elasticsearch REST API | - |
#
A snippet from application.yml:#
Operation ExecutorOperations are user operations like Cancellation of workflow instance(s) or Updating the variable value. Operations are executed in multi-threaded manner.
Name | Description | Default value |
---|---|---|
camunda.operate.operationExecutor.threadsCount | How many threads should be used | 3 |
#
A snippet from application.yml#
Monitoring OperateOperate includes Spring Boot Actuator inside, that provides number of monitoring possibilities.
Operate uses following Actuator configuration by default:
With this configuration following endpoints are available for use out of the box:
<server>:8080/actuator/prometheus
Prometheus metrics
<server>:8080/actuator/health/liveness
Liveness probe
<server>:8080/actuator/health/readiness
Readiness probe
#
Versions before 0.25.0In versions before 0.25.0 management endpoints look differently, therefore we recommend to reconfigure for next versions.
Name | Before 0.25.0 | Starting with 0.25.0 |
---|---|---|
Readiness | /api/check | /actuator/health/readiness |
Liveness | /actuator/health | /actuator/health/liveness |
#
LoggingOperate uses Log4j2 framework for logging. In distribution archive as well as inside a Docker image config/log4j2.xml
logging configuration files is included,
that can be further adjusted to your needs:
By default Console log appender will be used.
#
JSON logging configurationYou can choose to output logs in JSON format (Stackdriver compatible). To enable it, define
the environment variable OPERATE_LOG_APPENDER
like this:
#
An example of application.yml fileThe following snippet represents the default Operate configuration, which is shipped with the distribution. It can be found inside the config
folder (config/application.yml
)
and can be used to adjust Operate to your needs.