作者:Eddy 历史版本:1 最后编辑:Eddy 更新时间:2024-11-15 09:05
适用于
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 pause
start.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检索-启用;