通过Logstash由SQLServer向Elasticsearch同步数据
延用上篇ELK所需环境,新增logstash配置文件
需要数据库链接驱动 Microsoft JDBC driver 6.2 for SQL Server
下载地址: https://www.microsoft.com/zh-CN/download/details.aspx?id=55539
在 logstash 的 bin 文件夹下 新增文件夹 jdbcconfig 以及如下文件
新增 Logstash 配置文件 jdbc.conf
input {
jdbc {
jdbc_driver_library => "D:\ELK_logs\logstash-6.3.2\bin\jdbcconfig\mssql-jdbc-6.2.2.jre8.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://192.168.100.51:1433;DatabaseName=BTPreservation;"
jdbc_user => "sa"
jdbc_password => "Rl123456"
# schedule => 分 时 天 月 年
# schedule => * 22 * * * //will execute at 22:00 every day
schedule => "* * * * *"
jdbc_paging_enabled => true
jdbc_page_size => 1000
clean_run => false
use_column_value => true
#设置查询条件的字段
tracking_column => FID
record_last_run => true
last_run_metadata_path => "D:\ELK_logs\logstash-6.3.2\bin\jdbcconfig\FID.txt"
#设置列名小写
lowercase_column_names => false
statement_filepath => "D:\ELK_logs\logstash-6.3.2\bin\jdbcconfig\x_Loan_PreservationAdvanceList.sql"
#索引的类型
type => "advancelist"
}
} output {
elasticsearch {
hosts => ["192.168.100.50:9200"]
index => "advancelist"
document_id => "%{FID}"
}
stdout {
#codec => json_lines
#设置输出的格式
codec => line {
format => "FID: %{[FID]} FPersonName: %{[FPERSONNAME]} FAddTime: %{[FADDTIME]}"
}
}
}
- 这里是将最后一次查询所得的最大ID 存储下来,每次执行 同步是 将此ID 设置为查询条件,获取增量数据,如果我们使用最后更新时间作为判断条件,则可以获取整张表最新数据
FID.txt 存储查询条件 ,配置好后自动生成
x_Loan_PreservationAdvanceList.sql 需要同步数据执行的Sql
SELECT * FROM dbo.x_Loan_PreservationAdvanceList WHERE FID > :sql_last_value
注意:启动时因为是同台机器运行多个logstash实例,所以需要指定不同的数据存储目录 path.Data
执行命令:
.\logstash -f .\jdbcconfig\jdbc.conf --path.data=/jdbcconfig/
执行后成功后,在 kibana 创建 索引

因为我们执行命令时,使用的时 cmd 窗口,当你向同步的数据库表中新增数据是,会实时在 cmd 窗口看到同步情况
后面我们也可以使用 NSSM 工具将其安装成服务运行
思考:如果我们要同步多张表该如何处理?,什么样的场景需要这样的同步。
通过Logstash由SQLServer向Elasticsearch同步数据的更多相关文章
- Logstash中如何处理到ElasticSearch的数据映射
Logstash作为一个数据处理管道,提供了丰富的插件,能够从不同数据源获取用户数据,进行处理后发送给各种各样的后台.这中间,最关键的就是要对数据的类型就行定义或映射. 本文讨论的 ELK 版本为 5 ...
- Elasticsearch的快速使用——Spring Boot使用Elastcisearch, 并且使用Logstash同步mysql和Elasticsearch的数据
我主要是给出一些方向,很多地方没有详细说明.当时我学习的时候一直不知道怎么着手,花时间找入口点上比较多,你们可以直接顺着方向去找资源学习. 如果不是Spring Boot项目,那么根据Elastics ...
- elasticsearch -- Logstash实现mysql同步数据到elasticsearch
配置 安装插件由于这里是从mysql同步数据到elasticsearch,所以需要安装jdbc的入插件和elasticsearch的出插件:logstash-input-jdbc.logstash-o ...
- 利用logstash从mysql同步数据到ElasticSearch
前面一篇已经把logstash和logstash-input-jdbc安装好了. 下面就说下具体怎么配置. 1.先在安装目录bin下面(一般都是在bin下面)新建两个文件jdbc.conf和jdbc. ...
- 使用Logstash同步数据至Elasticsearch,Spring Boot中集成Elasticsearch实现搜索
安装logstash.同步数据至ElasticSearch 为什么使用logstash来同步,CSDN上有一篇文章简要的分析了以下几种同步工具的优缺点:https://blog.csdn.net/la ...
- Logstash 6.4.3 导入 csv 数据到 ElasticSearch 6.4.3
本文实践最新版的Logstash从csv文件导入数据到ElasticSearch. 本文目录: 1.初始化ES.Kibana.Logstash 2.安装logstash文件导入.过滤器等插件 3.配置 ...
- ElasticSearch(1)---Mysql同步数据到ElSearch
ElasticSearch同步Mysql 先讲项目需求:对于资讯模块添加搜索功能 这个搜索功能我就是采用ElasticSearch实现的,功能刚实现完,所以写这篇博客做个记录,让自己在记录下整个步骤和 ...
- mysql通过logstash同步数据到es
大小写问题很严重 input 1.statement:mysql的连接使用 jdk版本有强要求 2.jdbc_driver_library:jar包的版本有对应要求 3.jdbc_driver_cla ...
- mysql 同步数据到 ElasticSearch 的方案
MySQL Binlog 要通过 MySQL binlog 将 MySQL 的数据同步给 ES, 我们只能使用 row 模式的 binlog.如果使用 statement 或者 mixed forma ...
随机推荐
- 11月1号开学! 《jmeter性能测试实战》崭新亮相!
课程介绍 第10期<jmeter性能测试实战>课程,11月2号开学!全新改版,和之前的课程框架完全不同 主讲老师:飞天小子 上课方式:每周六周日晚8点到10点,QQ群视频在线直播教学 本期 ...
- [Beta阶段]第七次Scrum Meeting
Scrum Meeting博客目录 [Beta阶段]第七次Scrum Meeting 基本信息 名称 时间 地点 时长 第七次Scrum Meeting 19/05/13 大运村寝室6楼 35min ...
- 一个半吊子PM的反思
故事之源 2019年3月,也就是2016级计算机学院的大三时,软件工程这门课程由选修转为专业必修课,而七个葫芦娃共聚罗杰老师的课堂,组成葫芦娃不想写代码小分队.面临着继承往届项目.完成指定项目和自选项 ...
- 剑指offer:数据流中的中位数
题目描述: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值.我 ...
- HTML5中的Web Worker技术
为了让后台程序更好的执行,在HTML5中设计了Web Worker技术.Web Worker的产生主要是考虑到在HTML4中JavaScript Web程序都是以单线程的方式执行的,一旦前面的脚本花费 ...
- input file上传文件弹出框的默认格式设置
我们使用html的input 标签type="flie"时,如何设置默认可选的文件格式 <input id="doc_file" type="f ...
- x3d
目录 3d format introduction x3d resources open source C++ implementations file formats 1. Feature matr ...
- centos7.5环境下elasticserch5.6.15集群升级6.8.4
节点的角色分片: node01 eus_mp_web01 : master,false node,false, ingest,true node02 eus_mp_es01 : master,true ...
- python bottle + jieba分词服务
2019-12-16 19:46:34 星期一 最近接触到结巴分词项目, 就试试 用python的bottle库来当服务器监听localhost:8080 把请求的数据转给jieba来分词, 并返回分 ...
- MathML
MathML https://developer.mozilla.org/en-US/docs/Web/MathML/Examples/MathML_Pythagorean_Theorem Mathe ...
