作者:Eddy 历史版本:1 最后编辑:Eddy 更新时间:2025-08-08 15:26
适用于
v3.3.8+;
该方案是延时同步,列表数据会根据logstash设置的数据同步时间出现延时,即数据不会马上在列表中展示;
软件及配置准备
- Elasticsearch
6.8.1; - Logstash
6.8.1; ibps-logstash-client.jar,用于接收IBPS推送出来的logstash配置文件并添加到logstash的pipelines.yml配置文件中;- RabbitMQ3.x,配置文件推送使用的是MQ广播,
暂时只支持RabbitMQ,它与ibps使用的是同一个MQ同一个用户同一个虚拟主机路径; - 数据库驱动文件,本文以
mysql为例; - ik分词配置文件
logstash.ik.json;
软件安装
Elasticsearch安装
http://doc.bpmhome.cn/docs/ibps_v3_deploy/ibps_v3_deploy-1bkv0uf532kaj
Logstash安装
http://doc.bpmhome.cn/docs/ibps_v3_deploy/ibps_v3_deploy-1bkv11f1sq13t
RabbitMQ3安装
http://doc.bpmhome.cn/docs/ibps_v3_deploy/ibps_v3_deploy-1bkinltsmcie9
ibps-logstash-client.jar安装
如果logstash有多台服务器,那么需要修改源码工程
ibps-provider-logstash-client中com.lc.ibps.logstash.client.rabbitmq.consumer.RabbitLogstashQueueConsumer的注解@Queue,广播消息需要同步配置到每一个logstash服务器中并保存对应的数据同步配置文件;
该程序是ibps提供的一个客户端程序,直接打包源码工程
ibps-provider-logstash-client即可;配置参数(通过环境变量方式设置,以
windows为例)- logstash管道配置文件路径,LOGSTASH_PIPELINES=D:\docker\logstash\conf.6.8.1\pipelines.yml
- logstash同步文件目录(即ibps在数据模版功能中生成的logstash同步mysql数据至elasticsearch的配置文件存放的目录),LOGSTASH_PIPELINES_DIR=D:\docker\logstash\conf.6.8.1\logstash\mysql
- RabbitMQ主机IP,SPRING_RABBITMQ_HOST=192.168.3.220
- RabbitMQ用户名,SPRING_RABBITMQ_USERNAME=ibpsoptimize
- RabbitMQ密码,SPRING_RABBITMQ_PASSWORD=ibpsoptimize
- RabbitMQ虚拟主机路径,SPRING_RABBITMQ_VIRTUAL_HOST=/ibpsoptimize
客户端的启动脚本
start.bat、start.sh;start.bat
@echo off set LOGSTASH_PIPELINES=D:\\docker\\logstash\\conf.6.8.1\\pipelines.yml set LOGSTASH_PIPELINES_DIR=D:\\docker\\logstash\\conf.6.8.1\\logstash\\mysql set SPRING_RABBITMQ_HOST=192.168.3.118 set SPRING_RABBITMQ_USERNAME=ibpsoptimize set SPRING_RABBITMQ_PASSWORD=ibpsoptimize set SPRING_RABBITMQ_VIRTUAL_HOST=/ibpsoptimize java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Duser.timezone=GMT+8 -XX:SurvivorRatio=8 -Xms128m -Xmx128m -Xmn80m -jar ibps-logstash-client.jar pausestart.sh
#!/bin/bash shome=$(cd `dirname $0`; pwd) # set variables export LOGSTASH_PIPELINES=/opt/docker/logstash-es/logstash_conf/pipelines.yml export LOGSTASH_PIPELINES_DIR=/opt/docker/logstash-es/logstash_conf/logstash/mysql export SPRING_RABBITMQ_HOST=192.168.3.220 export SPRING_RABBITMQ_USERNAME=ibpsoptimize export SPRING_RABBITMQ_PASSWORD=ibpsoptimize export SPRING_RABBITMQ_VIRTUAL_HOST=/ibpsoptimize # run client java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Duser.timezone=GMT+8 -XX:SurvivorRatio=8 -Xms128m -Xmx128m -Xmn80m -jar ${shome}/ibps-logstash-client.jar >/dev/null 2>&1 &
IBPS启用Elasticsearch
- 启用全局配置
com.lc.db.elasticsearch.enabled:true; - 启用数据模版列表的
ES检索配置- 登陆系统-表单管理-数据管理-数据模版管理;
- 编辑模版-模版设置-列表-ES检索-启用;
