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

#加入跨域准备

http.cors.enabled: true

http.cors.allow-origin: "*"

#重启容器

docker restart es

#访问验证


验证成功

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

#查看验证


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端口号)


验证成功

2.3构建logstash容器

#这里我们用dockers-compose 文件构建容器,docker-compose.yml文件配置如下


配置文件头


logstash容器的配置

#解释说明:挂载三个本地目录到容器中

 1.logs里面映射的是一个springboot与springcloud项目的日志 与本文章的主题关系不大


主要是吧json格式的日志映射到容器中

2挂载.logstash-conf目录是 为了把本地的配置文件(logstash.conf)映射到容器中

3.挂载logstash_yml目录是为了把logstash.yml文件映射到容器中,以覆盖掉容器中的logstash.yml

中,logstash.yml中主要修改了一个参数,原为elasticsearch:9200

logstash.yml

4.command 主要是为了使用logstash.conf文件启动容器


5、数据的传递如下图


数据传递

5、验证查看

访问kibana地址(ip:5601)

kibana启动成功
创建索引一


添加成功

项目中提到的项目地址:https://github.com/chengtaiheng/springboot-springcloud-docker

更多kibana的网上的使用教程,请在网上自行搜索。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容