zeebe-simple-monitor
zeebe-simple-monitor copied to clipboard
A monitoring application to show insides of Zeebe for developers
Zeebe Simple Monitor
A monitoring application for Zeebe. It is designed for developers to
- get in touch with Zeebe and workflow execution (BPMN)
- test workflows manually
- provide insides on how workflows are executed
The application imports the data from Zeebe using the Hazelcast exporter. It aggregates the data and stores it into a (in-memory) database. The data is displayed on server-side rendered HTML pages.
Install
Upgrading from a prior version
See the upgrade instructions.
Docker
The docker image for the worker is published to GitHub Packages.
docker pull ghcr.io/camunda-community-hub/zeebe-simple-monitor:2.4.0
- ensure that a Zeebe broker is running with a Hazelcast exporter (>=
1.0.0
) - forward the Hazelcast port to the docker container (default:
5701
) - configure the connection to the Zeebe broker by setting
zeebe.client.broker.gateway-address
(default:localhost:26500
) - configure the connection to Hazelcast by setting
zeebe.client.worker.hazelcast.connection
(default:localhost:5701
)
If the Zeebe broker runs on your local machine with the default configs then start the container with the following command:
docker run --network="host" ghcr.io/camunda-community-hub/zeebe-simple-monitor:2.4.0
For a local setup, the repository contains a docker-compose file. It starts a Zeebe broker with the Hazelcast exporter and the application.
mvn clean install -DskipTests
cd docker
docker-compose --profile in-memory up
Go to http://localhost:8082
To use PostgreSQL instead of the in-memory database, use the profile postgres
.
docker-compose --profile postgres up
Manual
-
Download the latest application JAR (zeebe-simple-monitor-%{VERSION}.jar )
-
Start the application
java -jar zeebe-simple-monitor-{VERSION}.jar
-
Go to http://localhost:8082
Configuration
The application is a Spring Boot application that uses the Spring Zeebe Starter. The configuration can be changed via environment variables or an application.yaml
file. See also the following resources:
By default, the port is set to 8082
and the database is only in-memory (i.e. not persistent).
zeebe:
client:
broker.gateway-address: 127.0.0.1:26500
security.plaintext: true
worker:
hazelcast:
connection: localhost:5701
connectionTimeout: PT30S
spring:
datasource:
url: jdbc:h2:mem:zeebe-monitor;DB_CLOSE_DELAY=-1
username: sa
password:
driverClassName: org.h2.Driver
jpa:
database-platform: org.hibernate.dialect.H2Dialect
hibernate:
ddl-auto: update
server:
port: 8082
servlet:
context-path: /
Change the Context-Path
The context-path or base-path of the application can be changed using the following property:
server:
servlet:
context-path: /monitor/
It is then available under http://localhost:8082/monitor.
Customize the Look & Feel
You can customize the look & feel of the Zeebe Simple Monitor (aka. white-labeling). For example, to change the logo or alter the background color. The following configurations are available:
- white-label.logo.path=img/logo.png
- white-label.custom.title=Zeebe Simple Monitor
- white-label.custom.css.path=css/custom.css
- white-label.custom.js.path=js/custom.js
Change the Database
For example, using PostgreSQL:
- change the following database configuration settings
- spring.datasource.url=jdbc:postgresql://db:5432/postgres
- spring.datasource.username=postgres
- spring.datasource.password=zeebe
- spring.datasource.driverClassName=org.postgresql.Driver
- spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
- the PostgreSQL database driver is already bundled
See the docker-compose file (profile: postgres
) for a sample configuration with PostgreSQL.
Code of Conduct
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
License
Apache License, Version 2.0