加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows上使用logstash-input-jdbc

发布时间:2020-12-14 02:43:06 所属栏目:Windows 来源:网络整理
导读:? (一)安装logstash 下载链接? 选择下载你要的对应的logstash版本,这个东西解压就能使用了 (二)安装logstash-input-jdbc 就是用执行logstash-plugin.bat install logstash-input-jdbc,linux上其实也是大同小异 (三)mysql数据库 在mysql中创建一个可以用于

?

(一)安装logstash

下载链接? 选择下载你要的对应的logstash版本,这个东西解压就能使用了

(二)安装logstash-input-jdbc

就是用执行logstash-plugin.bat install logstash-input-jdbc,linux上其实也是大同小异

(三)mysql数据库

在mysql中创建一个可以用于测试的数据库

执行以下脚本,创建一个表:

create table testtable (PersonID int,LastName varchar(255),FirstName varchar(255),City varchar(255),Date datetime(6)); 

可以看到:

往表中插入数据:

INSERT INTO testtable (PersonID,LastName,FirstName,City,Date)
VALUES (4005,Kallis,Jaques,Cape Town,2016-05-23 16:12:03.568810);
INSERT INTO testtable (PersonID,Date)
VALUES (4004,Baron,Richard,2016-05-23 16:12:04.370460);
INSERT INTO testtable (PersonID,Date)
VALUES (4003,McWell,Sharon,2016-05-23 16:12:06.874801); 

结果:

?

(四)将数据导入es

Logstash 配置

在logstash文件夹中,我们要有一个logstash.conf文件,该文件是要配置并运行以获取必要结果的文件。

logstash.conf如下(注意:windows下的文本编码需要为ANSI,否则运行将会出错,另外注意是"hosts",我这边如果写成"host"会出错,另外下面长长的一段连接后面是我加上去的,如果不加上去,运行的时候会报时间什么的错误,mysql驱动要跟你的mysql数据库版本对应起来,否则会出错):

input {
    jdbc {
        jdbc_connection_string => "jdbc:mysql://localhost:3306/logstash_jdbc_test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"
        jdbc_user => "root"
        jdbc_password => "123456"
        jdbc_driver_library => "D:logstash-5.3.1mysql-connector-java-8.0.13mysql-connector-java-8.0.13.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
        statement_filepath => "D:logstash-5.3.1binjdbc.sql"
        schedule => "* * * * *"
        type => "jdbc"
    }
}

filter {
    json {
        source => "message"
        remove_field => ["message"]
    }
}

output {
    elasticsearch {
        hosts => ["localhost:9200"]
        index => "test-migrate"
        document_type => "data"
        document_id => "%{person_id}"
    }
    stdout {
        codec => json_lines
    }
}

?jdbc.sql内容如下:

?

然后你系统上要有elasticsearch以及安装一个elasticsearch-head方便查看数据。

在上面的配置文件中,提到了许多参数,例如:JDBC连接器应检查哪个数据库的数据,JDBC插件的位置,MySql访问的用户名和密码以及查询语句。将上述设置应用于“logstash.conf”文件后,通过键入以下命令运行:

logstash.bat -f logstash.conf

即可启动监听,然后你会发现你的数据已经导入到es之中,而且insert和update的时候也会同步进去。

?我将Sharont改为SharontTest,你会发现es之中也已经同步进去了:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读