Management API
Besides the REST and gRPC API for process instance execution, the Zeebe Gateway also exposes an HTTP endpoint for cluster management operations. This API is not expected to be used by a typical user, but by a privileged user such as a cluster administrator. It is exposed via a different port and configured using configuration management.server.port
(or via environment variable MANAGEMENT_SERVER_PORT
). By default, this is set to 9600
.
The API is a custom endpoint available via Spring Boot Actuator. For additional configurations such as security, refer to the Spring Boot documentation.
The following operations are currently available:
Exporting API
Exporting API is used:
- As a debugging tool.
- When taking a backup of Camunda 8 (see backup and restore).
- Pause exporting
- Resume exporting
- Soft pause exporting
To pause exporting on all partitions, send the following request to the gateway's management endpoint.
POST actuator/exporting/pause
When all partitions pause exporting, a successful response is received. If the request fails, some partitions may have paused exporting. Therefore, it is important to either retry until success or revert the partial pause by resuming exporting.
After exporting is paused, it must eventually be resumed. Otherwise, the cluster could become unavailable. To resume exporting, send the following request to the gateway's management endpoint:
POST actuator/exporting/resume
When all partitions have resumed exporting, a successful response is received. If the request fails, only some partitions may have resumed exporting. Therefore, it is important to retry until successful.
The soft pause feature can be used when you want to continue exporting records, but don't want to delete those records (log compaction) from Zeebe. This is particularly useful during hot backups. Learn more about using this feature for hot backups.
POST actuator/exporting/pause?soft=true
When all partitions soft pause exporting, a successful response is received. If the request fails, some partitions may have soft paused exporting. Therefore, either retry until success or revert the partial soft pause by resuming the export.
Exporters API
The Exporters API is used for dual region deployment operations, and allows for enabling and disabling configured exporters. By default, all configured exporters are enabled.
When enabled, records are exported to the exporter. The log is compacted only after the records are exported. When disabled, records are not exported to the exporter, and the log will be compacted.
The OpenAPI spec for this API can be found here.
- Enable an exporter
- Disable an exporter
- Monitor
When enabling an exporter, the exporter must be already configured in the cluster. To initialize an exporter's state, an existing exporter's ID can be provided in the optional initializeFrom
field. Both exporters must be of the same type.
To enable a previously disabled exporter, send the following request to the gateway's management API:
POST actuator/exporters/{exporterId}/enable
{
initializeFrom: {anotherExporterId}
}
New records written after the exporter is enabled will be exported to this exporter.
To disable an exporter, send the following request to the gateway's management API:
POST actuator/exporters/{exporterId}/disable
After disabling the exporter, no records will be exported to this exporter. Other exporters continue exporting.
Both enable and disable requests are processed asynchronously. To monitor the status of the exporters, send the following request to the gateway's management API:
GET actuator/exporters/
The response is a JSON object that lists all configured exporters with their status:
[
{
"exporterId": "elasticsearch0",
"status": "ENABLED"
},
{
"exporterId": "elasticsearch1",
"status": "DISABLED"
}
]