目录
下载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
下载地址:https://dev.mysql.com/downloads/connector/j/?os=26
根据自己的mysql版本下载相应的链接库
版本对应参考https://blog.csdn.net/lingeio/article/details/93487770
具体可以根据自己的情况放,后面配置路径写对就可以
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
}
}
注意:这里要特别注意一个问题,如果查询语句里面有type字段的,最好重命名一下,不然会跟系统的type冲突,导致数据无法传输到elasticsearch