描述
本文中主要是filebeat和elk在docker下的部署实践。各个服务之间大概的关系如下
搭建Elasticsearch服务
编写配置文件
拉取镜像elasticsearch:6.62并运行
docker pull elasticsearch:6.62 docker run elasticsearchtest -p 9200:9200 elasticsearch:6.62
搭建kibana服务
docker pull kibana:6.62 docker run kibana -p 5601:5601 kibana:6.62
制作logstash镜像
logstash.conf配置如下
input { beats { port => 5044 } } output { elasticsearch { hosts => ["192.168.2.29:9200"] } stdout { codec => rubydebug } }
logstash.yml配置如下
xpack.monitoring.elasticsearch.url: http://192.168.2.29:9200
192.168.2.29是本机IP地址 如果这些服务都是放在同一个network环境中的 可以用network替代
Dockerfile如下
From logstash:6.6.2 COPY logstash.conf /usr/share/logstash/pipeline/logstash.conf COPY logstash.yml /usr/share/logstash/config/logstash.yml
制作镜像并运行
docker build --name logstashtest . docker run mylogstash -p 5044:5044 logstashtest
制作filebeat镜像并运行