Docker|Docker系列之搭建ELK日志分析平台

1. 概述 日志分析平台ELK是由Elasticsearch、Logstash和Kibana三个服务组成,Elasticsearch负责日志存储并提供搜索功能,Logstash负责日志收集,Kibana提供Web查询操作界面。本文将使用Docker进行安装以上三个组件。
前提条件
自己先搭建好Docker环境,Windows环境可以安装Docker Desktop,Linux环境Docker搭建可以参考Docker系列之CentOS8安装Docker
2. 搭建ELK 【Docker|Docker系列之搭建ELK日志分析平台】使用docker compose进行安装ELK组件,在github上搜索docker-elk,选择第一个项目
Docker|Docker系列之搭建ELK日志分析平台
文章图片

选择最新版本下载源码压缩包
Docker|Docker系列之搭建ELK日志分析平台
文章图片

下载后,解压,看到如下文件信息
Docker|Docker系列之搭建ELK日志分析平台
文章图片

elasticsearch文件夹是elasticsearch配置文件
kibana文件夹是kibana配置文件
logstash文件夹是logstash配置文件
setup文件用于初始化.env中配置的elasticsearch用户名信息
.env文件为elasticsearch用户名信息
在docker-compose.yml文件目录下执行以下命令

docker-compose build docker-compose up

执行结果如下图
Docker|Docker系列之搭建ELK日志分析平台
文章图片

Docker|Docker系列之搭建ELK日志分析平台
文章图片

在浏览器输入地址:http://localhost:5601,输入用户名和密码elastic/changeme
Docker|Docker系列之搭建ELK日志分析平台
文章图片

3. SpringBoot整合ELK 3.1. 引入核心依赖
net.logstash.logback logstash-logback-encoder ${logstash.version}

3.2. 编写logback.xml配置文件
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n localhost:5000

3.3. 编写application.yml配置文件
server: port: 8138 spring: application: name: springboot-elk logging: config: classpath:logback.xml

3.4. 编写服务主启动类
@SpringBootApplication public class ElkApplication {private final static Logger logger = LoggerFactory.getLogger(ElkApplication.class); public static void main(String[] args) { SpringApplication.run(ElkApplication.class, args); logger.info("服务启动成功,当前时间为:{}", LocalDateTime.now()); } }

3.5. 验证 启动服务,查看控制台日志
Docker|Docker系列之搭建ELK日志分析平台
文章图片

4. 配置ELK 登录后,进入ELK首页
Docker|Docker系列之搭建ELK日志分析平台
文章图片

点击左上角,打开左侧菜单栏,选择Stack Management
Docker|Docker系列之搭建ELK日志分析平台
文章图片

选择Kibana—>Data Views—>create data view
Docker|Docker系列之搭建ELK日志分析平台
文章图片

创建data view
Docker|Docker系列之搭建ELK日志分析平台
文章图片

再次点击左侧菜单栏,选择Discover
Docker|Docker系列之搭建ELK日志分析平台
文章图片

右上侧选择时间,点击Refresh按钮,即可查看到选择时间的日志信息
Docker|Docker系列之搭建ELK日志分析平台
文章图片

    推荐阅读