logstash
使用ElasticSearch,需要将MySQL内的数据同步到ElasticSearch中去。根据网上文章,觉得logstash属于比较好的同步工具。
不想被logstash环境的搭建与配置困扰。使用docker制作一个镜像,然后可以做到到处运行
Dockerfile
基础镜像:
选择的是dockerhub的logstash。文档地址logstash
镜像文件:
FROM logstash:5 #安装input插件 RUN logstash-plugin install logstash-input-jdbc #安装output插件 RUN logstash-plugin install logstash-output-elasticsearch #容器启动时执行的命令.(CMD 能够被 docker run 后面跟的命令行参数替换) CMD ["-f", "/some/config-dir/logstash-mysql-es.conf"]
build镜像:
docker build -t my-logstash .
条件准备:
创建config目录,创建配置文件logstash-mysql-es.conf
同步MySQL需要MySQL驱动。为了挂载目录的时候,只挂载一个目录。我们把mysql驱动与配置文件放到同一个目录下。
启动容器:
docker run -d --name logstashmysql -v /root/logstash/config:/some/config-dir/ bc8551a7b495
查看日志:
docker logs -f --tail=30 logstashmysql