zeebe 的operate是一个功能比较强大的管理工具,比simple-monitor 有好多方面上的改进

  • 安全,支持用户账户的登陆
  • 界面更友好,界面比较符合开团队工作流引擎的界面
  • 系统监控更加强大,可以为我们提供比较全的系统指标

环境准备

还是老样子使用docker-compose 运行

  • docker-compose 文件
version: "3"
services:
db:
image: oscarfonts/h2
container_name: zeebe_db
ports:
- "1521:1521"
- "81:81"
operate:
image: camunda/operate:latest
ports:
- "8089:8080"
volumes:
- "./application.yml:/usr/local/operate/config/application.yml"
monitor:
image: camunda/zeebe-simple-monitor
environment:
- spring.datasource.url=jdbc:h2:tcp://db:1521/zeebe-monitor
- io.zeebe.monitor.connectionString=app:26500
- io.zeebe.monitor.hazelcast.connection=app:5701
ports:
- "8080:8080"
app:
image: camunda/zeebe
volumes:
- ./zeebe-simple-monitor-exporter-0.13.0.jar:/usr/local/zeebe/lib/zeebe-simple-monitor-exporter-0.13.0.jar
- ./zeebe-hazelcast-exporter-0.2.0.jar:/usr/local/zeebe/lib/zeebe-hazelcast-exporter-0.2.0.jar
- ./zeebe.cfg.toml:/usr/local/zeebe/conf/zeebe.cfg.toml
ports:
- "26500:26500"
- "26501:26501"
- "26502:26502"
- "26503:26503"
- "26504:26504"
- "5701:5701"
elasticsearch:
image: elasticsearch:6.7.1
container_name: elasticsearch
environment:
- "discovery.type=single-node"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 9200:9200
- 9300:9300 # required for Performance Analyzer
  • 说明
    注意es 版本,目前测试6.7 是可以的,6.4 有问题(主要是对于operate的)
    application.yaml 配置
camunda.operate:
# ELS instance to store Operate data
elasticsearch:
# Cluster name
clusterName: docker-cluster
# Host
host: elasticsearch
# Transport port
port: 9200
# Zeebe instance
zeebe:
# Broker contact point
brokerContactPoint: app:26500
# ELS instance to export Zeebe data to
zeebeElasticsearch:
# Cluster name
clusterName: docker-cluster
# Host
host: elasticsearch
# Transport port
port: 9200
# Index prefix, configured in Zeebe Elasticsearch exporter
prefix: zeebe-record
logging:
level:
ROOT: INFO
org.camunda.operate: DEBUG #Spring Boot Actuator endpoints to be exposed
management.endpoints.web.exposure.include: health,info,conditions,configprops,prometheus

exporter 配置 zeebe.cfg.toml ,simple-monitor 以及operate 需要

[[exporters]]
id = "simple-monitor"
className = "io.zeebe.monitor.SimpleMonitorExporter"
[exporters.args]
jdbcUrl = "jdbc:h2:tcp://db:1521/zeebe-monitor"
driverName = "org.h2.Driver"
userName = "sa"
password = "" [[exporters]]
id = "hazelcast"
className = "io.zeebe.hazelcast.exporter.HazelcastExporter" [[exporters]]
id = "elasticsearch"
className = "io.zeebe.exporter.ElasticsearchExporter"
[exporters.args]
url = "http://elasticsearch:9200"
# The driver name of the jdbc driver implementation. Make sure that the implementation is
# available in the exporter/broker classpath (add it to the broker lib folder).
# The name is used to load the driver implementation like this
# Class.forName(configuration.driverName);
# To configure the amount of records, which has to be reached before the records are exported to
# the database. Only counts the records which are in the end actually exported.
#
# batchSize = 100; # To configure the time in milliseconds, when the batch should be executed regardless whether the
# batch size was reached or not.
#
#If the value is less then one, then no timer will be scheduled.
#
#batchTimerMilli = 1000 #id = "elasticsearch"
#className = "io.zeebe.exporter.ElasticsearchExporter"
#
# [exporters.args]
# url = "http://localhost:9200"
#
[exporters.args.bulk]
delay = 5
size = 1_000 [exporters.args.index]
prefix = "zeebe-record"
createTemplate = false
command = false
event = true
rejection = false
deployment = true
incident = true
job = true
message = false
messageSubscription = false
raft = false
workflowInstance = true
workflowInstanceSubscription = false

启动&&测试

  • 启动
docker-compose up -d
  • 效果
    simple-monitor

    es 信息

    operate 界面:默认账户demo demo
  • 使用
    添加一个流程,github 代码中包含一个简单的,我使用了simple monitor deploy

    operate 界面

  • 问题
    目前operate 有一些异常日志, 解决的办法是注释zeebe.cfg.toml 关于[exporters.args.index] 的配置
 2019-04-30 02:34:04.263 INFO 6 --- [ Thread-3] o.c.o.z.ZeebeESImporter : Elasticsearch index for ValueType DEPLOYMENT was not found, alias zeebe-record-deployment. Skipping.
operate_1 | 2019-04-30 02:34:04.265 DEBUG 6 --- [ Thread-3] o.c.o.z.ZeebeESImporter : Latest loaded position for alias [zeebe-record-workflow-instance] and partitionId [0]: 0
operate_1 | 2019-04-30 02:34:04.266 INFO 6 --- [ Thread-3] o.c.o.z.ZeebeESImporter : Elasticsearch index for ValueType WORKFLOW_INSTANCE was not found, alias zeebe-record-workflow-instance. Skipping.
operate_1 | 2019-04-30 02:34:04.267 DEBUG 6 --- [ Thread-3] o.c.o.z.ZeebeESImporter : Latest loaded position for alias [zeebe-record-job] and partitionId [0]: 0
operate_1 | 2019-04-30 02:34:04.267 INFO 6 --- [ Thread-3] o.c.o.z.ZeebeESImporter : Elasticsearch index for ValueType JOB was not found, alias zeebe-record-job. Skipping.
operate_1 | 2019-04-30 02:34:04.268 DEBUG 6 --- [ Thread-3] o.c.o.z.ZeebeESImporter : Latest loaded position for alias [zeebe-record-incident] and partitionId [0]: 0
operate_1 | 2019-04-30 02:34:04.269 INFO 6 --- [ Thread-3] o.c.o.z.ZeebeESImporter : Elasticsearch index for ValueType INCIDENT was not found, alias zeebe-record-incident. Skipping.
operate_1 | 2019-04-30 02:34:04.270 DEBUG 6 --- [ Thread-3] o.c.o.z.ZeebeESImporter : Latest loaded position for alias [zeebe-record-variable] and partitionId [0]: 0
operate_1 | 2019-04-30 02:34:04.271 INFO 6 --- [ Thread-3] o.c.o.z.ZeebeESImporter : Elasticsearch index for ValueType VARIABLE was not found, alias zeebe-record-variable. Skipping.
operate_1 | 2019-04-30 02:34:05.623 DEBUG 6 --- [ Thread-2] o.c.o.e.w.BatchOperationWriter : 0 operations locked
operate_1 | 2019-04-30 02:34:0

说明

operate 是很强大,界面也比较友好,但是目前不是开源的,所以分析问题,可能有点费事。

参考资料

https://github.com/zeebe-io/docker-camunda-operate
https://github.com/rongfengliang/camunda-zeebe-es-exporter-demo-no-auth

 
 
 
 

zeebe 集成elasticsearch exporter && 添加operate的更多相关文章

  1. zeebe 集成elasticsearch exporter

    zeebe 目前还在一直的开发中,同时一些变动还是挺大的,比如simple monitor 的以前是不需要配置HazelcastExporter的 估计是为了进行集群功能处理,新添加的,以前写的配置基 ...

  2. springboot集成elasticsearch

    在基础阶段学习ES一般是首先是 安装ES后借助 Kibana 来进行CURD 了解ES的使用: 在进阶阶段可以需要学习ES的底层原理,如何通过Version来实现乐观锁保证ES不出问题等核心原理: 第 ...

  3. 使用Logstash同步数据至Elasticsearch,Spring Boot中集成Elasticsearch实现搜索

    安装logstash.同步数据至ElasticSearch 为什么使用logstash来同步,CSDN上有一篇文章简要的分析了以下几种同步工具的优缺点:https://blog.csdn.net/la ...

  4. SpringBoot 集成 Elasticsearch

    前面在 ubuntu 完成安装 elasticsearch,现在我们SpringBoot将集成elasticsearch. 1.创建SpringBoot项目 我们这边直接引入NoSql中Spring ...

  5. Prometheus 集成 Node Exporter

    文章首发于公众号<程序员果果> 地址:https://mp.weixin.qq.com/s/40ULB9UWbXVA21MxqnjBxw 简介 Prometheus 官方和一些第三方,已经 ...

  6. Elasticsearch教程(二)java集成Elasticsearch

    1.添加maven <!--tika抽取文件内容 --> <dependency> <groupId>org.apache.tika</groupId> ...

  7. Spring Boot 集成 Elasticsearch 实战

    最近有读者问我能不能写下如何使用 Spring Boot 开发 Elasticsearch(以下简称 ES) 相关应用,今天就讲解下如何使用 Spring Boot 结合 ES. 可以在 ES 官方文 ...

  8. Atlas2.2.0编译、安装及使用(集成ElasticSearch,导入Hive数据)

    1.编译阶段 组件信息: 组件名称 版本 Atals 2.2.0 HBase 2.2.6 Hive 3.1.2 Hadoop 3.1.1 Kafka 2.11_2.4.1 Zookeeper 3.6. ...

  9. Spring集成ElasticSearch搜索引擎

    目录 前期安装 Maven支持库安装 添加log4j的配置文件 创建Client客户端 实现增删改查以及符合查询 实现查询数据 实现添加数据 实现删除数据 实现修改数据 实现复合查询数据 Elasti ...

随机推荐

  1. pythony--运算符

    python运算符 运算符表达式 python运算符:   赋值运算符.算数运算符.关系运算符.逻辑运算符 python表达式: 是将不同的数据(包括变量.函数)用运算符号按一定规则连接起来的一种式子 ...

  2. Java 并发框架Disruptor(七)

    Disruptor VS BlockingQueue的压测对比: import java.util.concurrent.ArrayBlockingQueue; public class ArrayB ...

  3. JNA的应用

    一.了解JNA之前,我们先了解一下JNA的前身JNI(Java Native Interface):通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植. [1]  从Java1.1 ...

  4. tcp协议close_wait与time_wait状态含义

    题目描述 1.什么是三次握手,四次挥手?为什么分别要三次与四次? 2.tcp协议中,close_wait与time_wait状态分别代表什么含义,为什么要设计这两种状态,解决了什么问题? 3.time ...

  5. R_基本统计分析_06

    summary()提供基础的统计信息 sapply(x,FUN,options)可以指定统计函数 fivenum()可以返回图基五数 Hmisc 中的describe(data)返回变量,观测的变量, ...

  6. win10 查看本机的激活秘钥

    系统的注册表中,找到如下位置 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectio ...

  7. Android Jetpack组件之Lifecycles库详解

    Android Jetpack 组件是库的集合,这些库是为了协同工作而构建的,不过也可以单独采用,接下来会一一详细地学习这些库, 下面源码版本是com.android.support:appcompa ...

  8. mysql死锁检查

    1.查看当前数据库进程 show processlist;   show full processlist; #前者只显示前100条,后者显示所有的进程 2.一键杀死某个用户的所有进程 select ...

  9. O - Can you find it?(二分查找)

    O - Can you find it? Time Limit:3000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64 ...

  10. python(if判断)

    一.if判断 如果 条件满足,才能做某件事情, 如果 条件不满足,就做另外一件事情,或者什么也不做 注意: 代码的缩进为一个 tab 键,或者 4 个空格 在 Python 开发中,Tab 和空格不要 ...