1、环境
windows10,elastic search 6.0.0,logstash 6.0.0,MySQL 5.7.26,mysql-connector-java-8.0.19
建议从中文社区 https://elasticsearch.cn/download/ 使用迅雷下载elastic search 和 logstash,速度会比较快。
2、logstash 配置
1) 将mysql-connect-java驱动放在logstash目录下
2) 创建...\logstash-6.0.0\config\logstash-mysql.conf文件用来配置数据库信息:
input { jdbc { jdbc_driver_library => "D:\ELK\logstash-6.0.0\mysql-connector-java-8.0.19.jar" jdbc_driver_class => "com.mysql.cj.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://localhost:3306/es_blog?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC" jdbc_user => "root" jdbc_password => "1234567890" #是否记录上一次的值 record_last_run => true #使用指定的追踪字段追踪,不设置的话会使用时间追踪 use_column_value => true #追踪的字段 tracking_column => id #存放上一个sql_last_value的值,需要在文件中初始化指定字段值 last_run_metadata_path => "D:\ELK\logstash-6.0.0\config\station_parameter.txt" clean_run => false statement => "SELECT id, title, author, content FROM t_article where id > :sql_last_value" #开启分页查询 jdbc_paging_enabled => "true" jdbc_page_size => "50000" #调度时间"分 时 天 月 年",默认为一分钟 schedule => "* * * * *" #设置时区 jdbc_default_timezone =>"Asia/Shanghai" } } filter { json { source => "message" remove_field => ["message"] } } output { stdout { codec => rubydebug } elasticsearch { hosts => "127.0.0.1:9200" index => "logstash-blog" document_id => "%{id}" document_type => "article" } }
3、启动
.\logstash -f ..\config\logstash-mysql.conf
观察到追踪的id值发生了变化(初始为0)