Docker部署Logstash同步Mysql数据到ES方式
作者:写....写个大西瓜
本文介绍了如何搭建ELK(Elasticsearch, Logstash, Kibana)日志系统,包括配置文件准备、Logstash与Elasticsearch部署、驱动文件准备、配置文件编辑、容器操作以及日志查看等步骤,文章内容是作者的个人经验分享
Docker部署Logstash同步Mysql数据到ES
1、准备配置文件文件夹
2、部署logstash & elasticsearch
docker pull docker.elastic.co/logstash/logstash:7.15.0 ## 替换{你的ES地址}为ES地址 docker run -d --name logstash -p 5044:5044 -p 9600:9600 -v D:\logstash\data\:/usr/share/logstash/data -v D:\logstash\path\to\mysql-connector-j-8.0.33.jar:/usr/share/logstash/mysql-connector-j-8.0.33.jar -v D:\logstash\config\:/usr/share/logstash/config -v D:\logstash\pipeline\:/usr/share/logstash/pipeline -e "ELASTICSEARCH_HOSTS={你的ES地址}" docker.elastic.co/logstash/logstash:7.15.0
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.0 ## 配置文件如果需要修改,修改完后删除重新启动容器 docker run -d --name elasticsearch -v D:\elasticsearch\config\:/usr/share/elasticsearch/config -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.15.0
页面访问 ip:9200端口,出现下面页面部署成功
3、准备驱动文件
4、编辑配置文件
input { jdbc { jdbc_driver_library => "/usr/share/logstash/mysql-connector-j-8.0.33.jar" jdbc_driver_class => "com.mysql.cj.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://{你的MYSQL地址}/{你的数据库}" jdbc_user => "{数据库账号}" jdbc_password => "{数据库密码}" statement => "SELECT * FROM user" jdbc_paging_enabled => true # 开启分页 jdbc_page_size => 2000 # 分页每页条数 schedule => "*/5 * * * * * UTC" # 每5s执行一次 } } output { elasticsearch { hosts => ["{你的ES地址}"] # ElasticSearch 的地址和端口 index => "user" # 指定索引名,如果不存在es会自动创建 document_id => "%{id}" codec => "json" } }
5、删除容器、重新启动
docker rm -f logstash docker run -d --name logstash -p 5044:5044 -p 9600:9600 -v D:\logstash\data\:/usr/share/logstash/data -v D:\logstash\path\to\mysql-connector-j-8.0.33.jar:/usr/share/logstash/mysql-connector-j-8.0.33.jar -v D:\logstash\config\:/usr/share/logstash/config -v D:\logstash\pipeline\:/usr/share/logstash/pipeline -e "ELASTICSEARCH_HOSTS={你的ES地址}" docker.elastic.co/logstash/logstash:7.15.0
6、查看日志
docker logs -f logstash
成功日志!!!!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。