首先我们先来解析一下,什么是ELK:E:elasticsearch、L:logstash、K:kibana
关于他们的部署,请移步
《docker(十五)docker-compose部署elasticsearch配置账号密码登录》
要先部署elasticsearch,在部署logstash,部署logstash需要用到es的账号和密码。
《docker(二十一)docker部署logstash》
再部署kibana
《docker(二十二)docker部署kibana》
这里需要注意一下,ELK的版本需要一致,我这里使用的事7.17.3版本。
ELK部署完成之后,下边我记录一下我在Springboot框架中集成的全过程。
Springboot框架默认集成logback作为默认的日志框架,具体请移步《SpringBoot(三)集成日志》
一:添加POM依赖
<!-- 向logstash推送日志数据-->
<!-- https://mvnrepository.com/artifact/net.logstash.logback/logstash-logback-encoder -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.5</version>
</dependency>
<!-- Logback Classic Module -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
这里需要注意一下,logstash-logback-encoder确保使用的是与Logstash服务器兼容的版本。
二:yml配置
spring:
elasticsearch:
ip: 127.0.0.1
port: 9200
protocol: http
username: xxxxxx
password: xxxxxx
这里只需要配置elasticsearch就可以。我的es是有用户名密码的,如果你的es没有,那就不需要。
三:创建logstash.xml配置文件
文件位置在resource目录下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--======================================= 本地变量 ======================================== -->
<