Skip to main content
Version: Next

Camunda Exporter

The Camunda Exporter exports Zeebe records directly to Elasticsearch/OpenSearch. Unlike the Elasticsearch and OpenSearch exporters, records are exported in the format required by Operate and Tasklist, and configuring additional importers or data transformations is not required.

Using the Camunda Exporter can increase process instance throughput, and can reduce the latency of changes appearing in Operate and Tasklist.

note

When exporting, indexes are created as required, and will not be created twice if they already exist. However, once disabled, they will not be deleted (that is up to the administrator.) A retention policy can be configured to automatically delete data after a certain number of days.

Configuration

Enable the exporter by configuring the className in your broker configuration:

exporters:
camundaExporter:
className: io.camunda.exporter.CamundaExporter
args:
# Refer to the table below for the available args options
note

As the exporter is packaged with Zeebe, it is not necessary to specify a jarPath.

Configure the exporter by providing args. See the tables below for configuration options and default values, or review the example YAML configuration.

OptionDescriptionDefault
connectRefer to Connect for the connection configuration options.
indexRefer to Index for the index configuration options.
bulkRefer to Bulk for the bulk configuration options.
retentionRefer to Retention for the retention configuration options
createSchemaIf true missing indexes will be created automatically.true

Options

OptionDescriptionDefault
prefixThis prefix will be appended to every index created by the exporter; must not contain _ (underscore).
numberOfShardsThe number of shards used for each created index.3
numberOfReplicasThe number of shard replicas used for created index.0
variableSizeThresholdDefines a threshold for variable size. Variables exceeding this threshold are split into two properties: FULL_VALUE (full content, not indexed) and VALUE (truncated content, indexed).8191
shardsByIndexNameA map where the key is the index name and the value is the number of shards, allowing you to override the default numberOfShards setting for specific indices.
replicasByIndexNameA map where the key is the index name and the value is the number of replicas, allowing you to override the default numberOfReplicas setting for specific indices.

Example

Here is an example configuration of the exporter:

---
exporters:
# Camunda Exporter ----------
# An example configuration for the camunda exporter:
#
# These setting can also be overridden using the environment variables "ZEEBE_BROKER_EXPORTERS_CAMUNDAEXPORTER_..."
# To convert a YAML formatted variable to an environment variable, start with the top-level property and separate every nested property with an underscore (_).
# For example, the property "zeebe.broker.exporters.camundaExporter.args.index.numberOfShards" would be converted to "ZEEBE_BROKER_EXPORTERS_CAMUNDAEXPORTER_ARGS_INDEX_NUMBEROFSHARDS".
#
camundaExporter:
className: io.camunda.exporter.CamundaExporter

args:
connect:
type: elasticsearch
url: http://localhost:9200
clusterName: elasticsearch
dateFormat: yyyy-MM-dd'T'HH:mm:ss.SSSZZ
socketTimeout: 1000
connectTimeout: 1000
username: elastic
password: changeme
security:
enabled: false
certificatePath: /path/to/certificate
verifyHostname: true
selfSigned: false

bulk:
delay: 5
size: 1000

index:
prefix:
numberOfShards: 3
numberOfReplicas: 0

retention:
enabled: false
minimumAge: 30d
policyName: camunda-retention-policy

createSchema: true