ELK之logstash全量和增量同步数据到mysql

作用:

用于同步数据源,属于ELK中的L, 将各种格式各种渠道的数据通过它收集解析之后格式化输出到 Elasticsearch ,最后再由 Kibana 提供的比较友好的 Web 界面进行汇总、分析、搜索

全量操作:

在logstash下bin目录下创建mysqltoes.conf文件用于查询数据库,文件内容如下:

# 读取数据源
input {
 stdin { }
    jdbc {
		# 数据连接地址(你要连接哪个数据库)
        jdbc_connection_string => "jdbc:mysql://localhost:3306/springcloud"
		# 自己数据库用户名
        jdbc_user => "root"
		# 自己数据库密码
        jdbc_password => "root"
		# 驱动位置(自己电脑驱动的位置)
        jdbc_driver_library => "D:\install\develop\ELK\logstash-7.6.2\logstash-7.6.2\bin\mysql-connector-java-5.1.29.jar"
		# 驱动名称
        jdbc_driver_class => "com.mysql.jdbc.Driver"
		
        jdbc_paging_enabled => "true"

        jdbc_page_size => "50000"
		
		# 设置执行SQL
		use_column_value => false
		# 设置时区
		jdbc_default_timezone =>"Asia/Shanghai"
		#查询的数据库表
        statement => "SELECT * FROM `userkibana` "
		
		# 设置监听间隔 各字段含义(从左至右)分、时、天、月、年,全为*默认含义为每分钟都更新
        schedule => "* * * * *"
    }
 }

 output {
     stdout {
        codec => json_lines
    }
    elasticsearch {
		# ES位置
        hosts => "localhost:9200"
		# 索引名称
        index => "user1"
		# 文档类型
        document_type => "_doc"
		# 文档ID(指你数据库表中的id,如果没有就不用写)
        document_id => "%{id}"
    }
}

首先启动elasticsearch和kibana的服务
接下来使用cmd进入到你的logstash的bin目录里面使用logstash -f mysqltoes.conf
注意:-f后面的就是刚刚创建文件夹的位置,因为我的是在logstash的启动服务的同一个目录下,所以这么写,你的如果不在则写相应的路径
在这里插入图片描述
当出现你数据库表中的值的时候则代表成功了,接下来我们在kibana中查询一下索引,也就是mysqltoes.conf配置文件中的index的值

GET /user1/_search

在这里插入图片描述
可以查询出来

增量更新

步骤一:在你查询的数据表中添加一个时间类型的字段,如果mysql版本是5.6之前的则
在这里插入图片描述
5.6之后的就类型为datetime,默认值CURRENT_TIMESTAMP
添加完字段以后因为还没有更新,所以是没有值的,接下来我们把表中的数据都更新一下,让新增的字段有值
在这里插入图片描述
步骤2:修改配置文件:

statement => "SELECT * FROM `userkibana` where update_date>:sql_last_value "

步骤3:重启logstash服务
在这里插入图片描述
步骤4:对数据表中的值进行修改
在这里插入图片描述
因为我们配置文件中 schedule => "* * * * "设置的为全*,所以我们稍等一分钟,看到服务显示
在这里插入图片描述
修改的数据已经检测到,到Kibana里面查询
在这里插入图片描述
已经同步过来,至此结束

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值