spring cloud各组件+docker+elk实战梳理(一)

https://github.com/shenyang312/shen_cloud_platform

首先先梳理下个组件运行的流程,极其主要作用,先了解了他全部的样子,再去详细了解内部构造。

spring cloud各组件+docker+elk实战梳理(一)

以上是spring cloud 的基本组成,接下来,我们来看看在实际项目中,各个组件是如何组成,且集成docker和ELK的呢?

spring cloud各组件+docker+elk实战梳理(一)

整个maven结构是这样,接下来拿一个服务的配置文件举例log+ELK

ELK回收日志部分主要是Logstash

对于我们的spring 项目有中方案:1.把生成log文件直接指向Logstash,实际部署的效果是一台部署机器Logstash,其他服务可以直接把日志传递过去

spring cloud各组件+docker+elk实战梳理(一)

2.生成json格式log文件,在每台服务器上部署Logstash,让他去采集json格式结尾的log文件,然后给Elasticsearch

spring cloud各组件+docker+elk实战梳理(一)

注:需要ELK分别的启动包请把邮箱留下,我会私发给你

接下来是Logstash的部署启动,切记下面这个文件需要新建,然后启动的时候适用log。conf这个文件启动

./bin/logstash -f config/log.conf -l logs/logstash.log

elasticsearch比较简单,直接启动即可,贴上官方给的操作方法,下图:

spring cloud各组件+docker+elk实战梳理(一)

 

Kibana也是比较简单,设置elasticsearch.url启动即可,贴上官方给的操作方法,下图:

spring cloud各组件+docker+elk实战梳理(一)

 

接下来是docker,我提供两种方案

第一种:插件读取Dockerfile构建

我用的是这种直接贴图

imagesurl 还有镜像名称这些 你们 自己定义即可(返回上文,这个写在顶级父pom里面)

spring cloud各组件+docker+elk实战梳理(一)

spring cloud各组件+docker+elk实战梳理(一)

 

第二种:将插件绑定在phase执行,你们百度吧代码太长了或者 私聊我 我发给你

 

还有一个分布式事务,放在下一篇