zeebe 集成elasticsearch exporter && 添加operate

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

posted on   荣锋亮  阅读(1663)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-04-30 ambassador kubernetes native api gateway
2015-04-30 morris.js 简单学习
2015-04-30 查看 activex 组件的方法
2014-04-30 SQL Server用户自定义函数
2014-04-30 ORACLE配置tnsnames.ora文件实例
2014-04-30 转 AngularJS 2.0将面向移动应用并放弃旧浏览器
2014-04-30 Oracle connect resource权限

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示