SpringBoot繼承LogStash實現日誌收集
阿新 • • 發佈:2019-12-31
一、環境準備
安裝Elasticsearch、kibana、logstash,教程連結 安裝教程
二、配置SpringBoot 依賴
在springBoot 專案下pom檔案增加logStash 依賴包
<!--logStash-->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.3</version>
</dependency>
複製程式碼
在springboot資原始檔夾下增加log日誌資料配置檔案 logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<!--配置log Stash 服務地址-->
<destination>192.168.92.50:4560</destination>
<!-- 日誌輸出編碼 -->
<encoder charset="UTF-8"
class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<timeZone>UTC</timeZone>
</timestamp>
<pattern>
<pattern>
{
"logLevel" : "%level","serviceName": "${springAppName:-}","pid": "${PID:-}","thread": "%thread","class": "%logger{40}","rest": "%message"
}
</pattern>
</pattern>
</providers>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="LOGSTASH" />
<appender-ref ref="CONSOLE" />
</root>
</configuration>
複製程式碼
三、配置logstash 日誌收集配置
在logstash 配置檔案logstash.conf 增加日誌收集配置資訊
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
tcp {
mode => "server"
host => "192.168.92.50"
port => 4560
codec => json_lines
}
}
output {
elasticsearch {
hosts => "192.168.92.50:9200"
index => "springboot-logstash-%{+YYYY.MM.dd}"
}
}
複製程式碼
注意上述配置的host地址和es地址資訊,利用此次配置檔案啟動logstash服務。
四、kibana日誌過濾配置和展示
啟動springboot服務, 在kibana配置日誌攔截器