1.开放访问权限的mysql账号
2.logstash
3.es服务
我们在启动logstash服务时,需要自己创建一个配置文件,起名随意,以下作者用mysql.conf表示
mysql.conf 内容:
input {
jdbc {
# 数据库
jdbc_connection_string => "jdbc:mysql://xxxx:3306/库名"
# 用户名密码
jdbc_user => "用户名"
jdbc_password => "密码"
# Mysql-jdbc jar包的位置 路径不能写错 ,版本要对应
jdbc_driver_library => "mysql-connector-java-5.1.47.jar"
# mysql的Driver
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
#清除第一次同步的时间,日志时间
#clean_run => true
# mysql.sql内写sql 例如 select * from 你需要导入的表
statement_filepath => "mysql.sql"
# canel 时间参数,定时导入
schedule => "* * * * *"
#索引的类型 分词器类型
type => "monitor_task_video_manual_history"
}
}
filter {
json {
source => "message"
remove_field => ["message"]
}
}
output {
elasticsearch {
hosts => "es地址"
# index名
index => "需要导入的index名字"
# 需要关联的数据库中一个id字段,对应索引的id号
document_id => "%{id}"
}
stdout {
codec => json_lines
}
}
通过脚本启动logstash服务
./logstash -f mysql.conf
即可完成定时监听同步mysql数据