• zeebe 集成elasticsearch exporter


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

    说明运行的时候注意版本,我测试的是Zeebe 0.17.0,可能其他版本有变动

    环境准备

    • docker-compose 文件

      es 使用aws 开源的,同时禁用了ssl,使用http 请求

    version: "3"
    services:
      db:
        image: oscarfonts/h2
        container_name: zeebe_db
        ports:
          - "1521:1521"
          - "81:81"
      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"
      odfe-node1:
        image: amazon/opendistro-for-elasticsearch:0.8.0
        container_name: odfe-node1
        environment:
          - opendistro_security.ssl.http.enabled=false
          - cluster.name=odfe-cluster
          - bootstrap.memory_lock=true # along with the memlock settings below, disables swapping
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m" # minimum and maximum Java heap size, recommend setting both to 50% of system RAM
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - ./odfe-data1:/usr/share/elasticsearch/data
        ports:
          - 9200:9200
          - 9600:9600 # required for Performance Analyzer
      odfe-node2:
        image: amazon/opendistro-for-elasticsearch:0.8.0
        container_name: odfe-node2
        environment:
          - opendistro_security.ssl.http.enabled=false
          - cluster.name=odfe-cluster
          - bootstrap.memory_lock=true
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
          - discovery.zen.ping.unicast.hosts=odfe-node1
        ulimits:
          memlock:
            soft: -1
            hard: -1
        volumes:
          - ./odfe-data2:/usr/share/elasticsearch/data
      kibana:
        image: amazon/opendistro-for-elasticsearch-kibana:0.8.0
        container_name: odfe-kibana
        ports:
          - 5601:5601
        expose:
          - "5601"
        environment:
          ELASTICSEARCH_URL: http://odfe-node1:9200
    
    #!/bin/bash
    wget https://github.com/zeebe-io/zeebe-simple-monitor/releases/download/0.13.0/zeebe-simple-monitor-exporter-0.13.0.jar
    wget https://github.com/zeebe-io/zeebe-hazelcast-exporter/releases/download/0.2.0/zeebe-hazelcast-exporter-0.2.0.jar
    • zeebe 配置

      主要是几个exporter 的配置,es 以及simple monitor 的,配置有点多,只写添加的,完整参考githubcamunda-zeebe-es-exporter-demo

    [[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://odfe-node1:9200"
     [exporters.args.bulk]
     delay = 5
     size = 1_000
    
     [exporters.args.authentication] 
       username = "admin"
       password = "admin"
     [exporters.args.index]
      prefix = "zeebe-record"
    
      ## 这个参数挺重要,设置为true,有异常,false 是可以的,应该和es版本有关系
      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
    • 几个问题
      我们需要配置宿主机几个参数
      vm.max_map_count:
      /etc/sysctl.conf 添加
      vm.max_map_count=262144 生效 sysctl -p
      容器启动失败,可能需要设置挂载目录权限,简单的方法是 chmod 777 odfe-data1 odfe-data2
    • 效果
      es 集群


    monitor

    • 创建一个部署

      github 代码中包含一个简单的bpmn 的文件,是一个简单的流程

    运行实例效果

    es 集群数据,deploy

    es 集群数据,job

    说明

    这个只是简单的测试,zeebe 的设计还是很灵活的,团队的规划是q2 可以产品可用,还是很期待的,实际上使用zeebe 做为我们微服务中的一个
    编排工具,还是很强大的,而且集成opendistro for es 强大的功能,我们可以完成好多方便的应用开发

    参考资料

    https://github.com/zeebe-io/zeebe
    https://github.com/rongfengliang/camunda-zeebe-es-exporter-demo
    https://github.com/zeebe-io/zeebe-simple-monitor
    https://github.com/zeebe-io/zeebe-hazelcast-exporter
    https://opendistro.github.io/for-elasticsearch-docs/docs/install/

  • 相关阅读:
    php多态
    二分查找法
    mysql联合索引详解
    PHPFastCGI进程管理器PHP-FPM详解
    IDEA Spark程序报错处理
    逻辑回归与多项逻辑回归
    特征选择--->卡方选择器
    特征变化--->特征向量中部分特征到类别索引的转换(VectorIndexer)
    特征变化--->标签到向量的转换(OneHotEncoder)
    特征变化--->索引到标签的转换(IndexToString)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10777564.html
Copyright © 2020-2023  润新知