1. 程式人生 > >SpringBoot整合ELK

SpringBoot整合ELK

1. 構建環境

1.1 Logstash環境構建

下載tar.gz包到Linux中並解壓:logstash下載

編輯config/logstash.conf檔案如下:

input {
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 5044
    codec => json_lines
  }
}

output {
  elasticsearch {
    hosts => ["http://192.168.3.12:9200"]
    index => "logstash-%{+YYYY.MM.dd}"
document_type => "_doc" #flush_size => 200 user => "使用者名稱" password => "密碼" } stdout { codec => rubydebug } }

啟動:[logstash解壓檔案所在]/bin/logstash -f ../config/logstash.conf

1.2 Kibana環境構建

下載tar.gz包到Linux中並解壓:kibana下載

編輯config/kibana.yml檔案如下:

server.host: "0.0.0.0"
elasticsearch.url
: "http://192.168.3.12:9200"

啟動:[kibana解壓檔案所在]/bin/kibana

1.3 SpringBoot配置

在pom.xml中新增依賴:

<dependency>
  <groupId>net.logstash.logback</groupId>
  <artifactId>logstash-logback-encoder</artifactId>
  <version>5.2</version>
</dependency>

在resources資料夾下新增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">
    <destination>192.168.3.12:5044</destination>
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
  </appender>

  <root level="INFO">
    <appender-ref ref="LOGSTASH" />
    <appender-ref ref="CONSOLE" />
  </root>
</configuration>

2. 圖形化介面

依次開啟,Elasticsearch、Logstash、Kibana、SpringBoot

就可以通過Kibana提供的圖形化介面看到SpringBoot輸出的日誌了:
Kibana圖形化介面