zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    修改 Mac 默认 PHP 运行环境,给 MAMP 配置全局 Composer
    修改 Mac 默认 PHP 运行环境,给 MAMP 配置全局 Composer
    Intellij Idea/Webstorm/Phpstorm 的高效快捷键
    Intellij Idea/Webstorm/Phpstorm 的高效快捷键
    管理工具推荐
    mongo find
    redis 工具
    Redis Quick Start [熟练版]
    Redis cluster
    redis cluster 使用中出现的问题
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10794707.html
Copyright © 2011-2022 走看看