安装logstash并同步MySQL数据库
安装logstash并同步MySQL数据库
环境准备
本机或者远程服务器需要有mysql5.X,并且要开启远程访问
安装mysql请参考
https://www.cnblogs.com/panzhaohui/p/7169905.html
解压logstash-5.5.1.tar.gz
tar –zxvf logstash-5.5.1.tar.gz –C /usr/local/
mv /usr/local/logstash-5.5.1 /usr/local/logstash
cd /usr/local/logstash
将mysql-connector-java-5.1.46.jar放到/usr/local/logstash/lib/目录下
创建文件夹mysqletc
mkdir mysqletc
创建文件
vim mysqletc/mysql.conf
根据实际情况在文件内添加内容
input {
stdin {
}
jdbc {
# mysql 数据库链接,blog为数据库名
jdbc_connection_string => “jdbc:mysql://127.0.0.1:3306/blog?serverTimezone=GMT%2B8”
# 用户名和密码
jdbc_user => “root”
jdbc_password => “zzbss”
# 驱动
jdbc_driver_library => “/usr/local/logstash/lib/mysql-connector-java-5.1.46.jar”
# 驱动类名
jdbc_driver_class => “com.mysql.jdbc.Driver”
jdbc_paging_enabled => “true”
jdbc_page_size => “50000”
# 执行的sql
statement => “select * from b_user”
# 设置监听间隔 各字段含义(由左至右)分、时、天、月、年,全部为默认含义为每分钟都更新
schedule => " * * * *"
type => “user”
}
}
filter {
json {
source => “message”
remove_field => [“message”]
}
}
output {
stdout{
codec => json_lines
}
#document_id 唯一标识,一般为你要查询的表的主键
elasticsearch {
hosts => [“192.168.186.125:9200”]
index => “logstash-%{+YYYY.MM.dd}”
document_id => “%{user_id}”
document_type => “user”
}
}
切换到bin目录运行
./logstash –f …/mysqletc/mysql.conf
然后就开始根据你更新频率进行同步
由于这里只配置了一个node1节点,只运行node1的elasticsearch 以及head插件
启动好之后再浏览器中输入
http://192.168.186.125:9100/