1. 程式人生 > 程式設計 >SpringBoot繼承LogStash實現日誌收集

SpringBoot繼承LogStash實現日誌收集

一、環境準備

安裝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配置日誌攔截器

E7Yd4P.md.png
輸入我們logstash日誌配置的名稱
E7Y2En.md.png
繼續下一步,選擇帶時間戳過濾器
E7YhCV.md.png
點選左側Discover選單,已經發現資料已經展現

E7tCbd.md.png