Logstash获取mysql 表数据传输给elasticsearch

目录

下载jar包(mysql-connector-java)

下载完后放到logstash-7.9.0目录下

修改bin下面的logstash.conf

启动logstash就可以


ELK的集成环境搭建参见之前文章:https://blog.csdn.net/a345203172/article/details/117981428?spm=1001.2014.3001.5502

下载jar包(mysql-connector-java)

下载地址:https://dev.mysql.com/downloads/connector/j/?os=26

根据自己的mysql版本下载相应的链接库

版本对应参考https://blog.csdn.net/lingeio/article/details/93487770

下载完后放到logstash-7.9.0目录下

具体可以根据自己的情况放,后面配置路径写对就可以

修改logstash.conf

input {

jdbc {

#数据库连接信息,存在时区问题的加上serverTimezone=UTC

      jdbc_connection_string => "jdbc:mysql://localhost:3307/a2"

      jdbc_user => "root"

      jdbc_password => "123456"

      jdbc_driver_library => "E:/elk/logstash-7.9.0/mysql-connector-java-5.1.30.jar"#刚才jar包路径

      jdbc_driver_class => "com.mysql.jdbc.Driver"

      jdbc_paging_enabled => "true"

      jdbc_page_size => "50000" #数量

  #非时间字段跟踪,这里要设为true      

#use_column_value => true   

 #追踪的字段

#tracking_column => create_date

 #record_last_run => true

statement=>"select id,title,create_by,create_date,remote_addr,user_agent,request_uri,

method,params,exception from a_log"  #查询语句

#statement_filepath => "E:/elk/logstash-7.9.0/jdbc.sql"  也可以使用SQL文件

      schedule => "* * * * *" #取数据时间频率

      type => "a_sys_log"

  tags => ["a_sys_log"]

    }

}

output {

if [type] == "a_sys_log" {

elasticsearch {

hosts => ["192.168.0.242:9200","192.168.0.242:9201"]

index => "a2_log-%{+YYYY.MM.dd}"

}

}

stdout {

        codec => json_lines

    }

}

启动logstash

注意:这里要特别注意一个问题,如果查询语句里面有type字段的,最好重命名一下,不然会跟系统的type冲突,导致数据无法传输到elasticsearch

你可能感兴趣的:(服务器,大数据,数据库操作,es,logstash,mysql,elk)