ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署


一、拉取相应镜像
elk版本号最好使用统一的版本号,我这里统一使用的是6.5.4版本
//拉取 elasticsearch镜像
docker pull elasticsearch:6.5.4
//拉取logstash镜像
docker pull logstash:6.5.4
//拉取kibana镜像
docker pull kibana:6.5.4
二、构建容器

2.1构建elasticsearch容器
elasticsearch默认的端口号是9200,这里将容器的9200端口,映射到宿主机上,这样我们就可以通过9200端口访问elasticsearch,暴露5601端口是为kibana容器做准备
docker run -d --name es -p 9200:9200 -p 9300:9300 -p 5601:5601 -e"discovery.type=single-node" elasticsearch:6.5.4
//配置elasticsearch容器
#进入容器
docker exec -it es /bin/bash

#编辑文件
vi config/elasticsearch.yml
#加入跨域准备
【ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署】http.cors.enabled: true
http.cors.allow-origin: "*"
#重启容器
docker restart es
#访问验证


ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
验证成功 2.1.1安装elasticsearch—head插件(主要也是为了方便查看elasticsearch)
#拉取镜像
docker pull mobz/elasticsearch-head:5
#构建elasticsearch——head容器
docker run -d --name es_head -p 9100:9100 mobz/elasticsearch-head:5
#查看验证


ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
elasticsearch—head插件验证成功 2.2构建kibana容器 #这里kibana容器共用elasticsearch容器的端口
docker run -it -d -e ELASTICSEARCH_URL=http://192.168.80.131:9200 --name kibana --network=container:es kibana:6.5.4
#查看验证(访问5601端口号)


ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
验证成功 2.3构建logstash容器 #这里我们用dockers-compose 文件构建容器,docker-compose.yml文件配置如下


ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
配置文件头


ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
logstash容器的配置
#解释说明:挂载三个本地目录到容器中
1.logs里面映射的是一个springboot与springcloud项目的日志 与本文章的主题关系不大


ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
主要是吧json格式的日志映射到容器中 2挂载.logstash-conf目录是 为了把本地的配置文件(logstash.conf)映射到容器中
3.挂载logstash_yml目录是为了把logstash.yml文件映射到容器中,以覆盖掉容器中的logstash.yml
中,logstash.yml中主要修改了一个参数,原为elasticsearch:9200
ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
logstash.yml 4.command 主要是为了使用logstash.conf文件启动容器

5、数据的传递如下图


ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
数据传递 5、验证查看
访问kibana地址(ip:5601)

ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
kibana启动成功 ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
创建索引一

ELK(elasticsearc、logstash、kibana)|ELK(elasticsearc、logstash、kibana) docker 部署
文章图片
添加成功 项目中提到的项目地址:https://github.com/chengtaiheng/springboot-springcloud-docker
更多kibana的网上的使用教程,请在网上自行搜索。

    推荐阅读