一、下载logstash:
二、安装:
如果下载的是logstash-7.3.2.zip
上传至 /usr/local
解压: unzip logstash-7.3.2.zip
修改内存大小:
视服务器配置而定:
自定义配置文件
cd /usr/local/logstash-7.3.2/binmkdir mysqlcd mysql
在mysql目录下分别创建三个文件:
第一个:数据传输调度配置 vim dataTran.conf
input { stdin { } jdbc { type => "lgb_test" codec => plain { charset => "UTF-8"} lowercase_column_names => false jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/test" jdbc_user => "root" jdbc_password => "123456" jdbc_driver_library => "/usr/local/logstash-7.3.2/lib/mysql-connector-java-8.0.13.jar" jdbc_driver_class => "com.mysql.cj.jdbc.Driver" jdbc_paging_enabled => "true" #添加增量类配置 record_last_run => "true" use_column_value => "true" tracking_column => "event_id" tracking_column_type => numeric clean_run => "false" last_run_metadata_path => "/usr/local/logstash-7.3.2/bin/mysql/sql_last_value.txt" jdbc_page_size => "50000" #获取到记录的SQL查询语句 statement_filepath => "/usr/local/logstash-7.3.2/bin/mysql/jdbc.sql" #定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每>分钟都更新 schedule => "10 * * * *" } } output { stdout { codec => json_lines } if[type]=="lgb_test"{ elasticsearch { #ESIP地址与端口 hosts => "localhost:9200" #ES索引名称(自己定义的) index => "lgb_index_test" #文档类型 document_type => "lgb_type_test" #文档类型id document_id => "%{event_id}" } } }
第二个:查询sql语句 vim jdbc.sql
select event_id,timestmp,formatted_message,level_string,caller_class from logging_event where event_id > :sql_last_value ORDER BY timestmp
:sql_last_value 是内置变量,不要改,此处可以实现增量同步mysql数据到es
第三个,创建sql_last_value.txt,用于保存追踪列的最后一条记录
touch sql_last_value.txt
然后,在lib目录,增加mysql驱动包,版本不需要与我一致
ok。至此,就可以启动logstash了(记住先启动es)
切换目录: cd /usr/local/logstash-7.3.2/bin
启动: ./logstash -f mysql/dataTran.conf --path.data=/root/
看到类似打印日志,则启动成功。
如需外网可以访问,还需要修改配置文件hosts为 0.0.0.0