1.项目pom引入jar:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>net.logstash.log4j</groupId>
<artifactId>jsonevent-layout</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.0</version>
</dependency>
2.设置主机logstash环境变量
export LOGSTASH_PATH_PREFIX=127.0.0.1
3.bootstrap.yml配置logstash地址
logging:
logstash: ${LOGSTASH_PATH_PREFIX}:5000
4.logback.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
<springProperty name="app_name" source="spring.application.name"/>
<springProperty name="server_address" source="logging.logstash"/>
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>${server_address}</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
<customFields>{"APP_NAME":"${app_name}"}</customFields>
</encoder>
</appender>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<root level="INFO">
<appender-ref ref="LOGSTASH" />
<appender-ref ref="CONSOLE" />
</root>
</configuration>
5.运行logstash
下载地址:
华为开源镜像站_软件开发服务_华为云
logstash -e 'input{tcp{host=>"127.0.0.1" port=>9500 codec=>json_lines}} output{elasticsearch{hosts=>["localhost:9200"]}}'
6.运行elasticsearch
下载地址:
华为开源镜像站_软件开发服务_华为云
直接无参数运行
7.运行kibana
下载地址:
华为开源镜像站_软件开发服务_华为云
直接无参数运行
8.kibana创建index
参考链接:
https://github.com/logstash/logstash-logback-encoder
logback整合Logstash - wujf - 博客园