Springboot--ELK快速搭建

快速搭建自己的日誌收集,方便各個微服務的日誌收集。

搭建ELK

  1. 進行clone倉庫git clone https://github.com/deviantony/docker-elk.git
  2. 開啓docker-compose up -d (需要事先安裝好docker-compose)
  3. 如圖1.1 開啓docker在這裏插入圖片描述
圖1.1
  1. 訪問如下地址進行快讀訪問
名稱 地址
ES http://localhost:9300
Kibana http://localhost:5601

Springboot使用ELK

  • 增加依賴
 <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.1</version>
        </dependency>
  • 編輯logback-spring.xml

注意:<destination></destination>標籤內填寫你的logstansh的地址和端口

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
  <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <destination>localhost:5500</destination>
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
  </appender>

  <include resource="org/springframework/boot/logging/logback/base.xml"/>

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

</configuration>
  • 編寫測試
    這裏進行打印日誌50次。運行項目後通過kinbana新增的index進行查看數據。
package com.elk.test

import org.slf4j.LoggerFactory
import org.springframework.boot.CommandLineRunner
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication

@SpringBootApplication
class TestApplication : CommandLineRunner {
    val log = LoggerFactory.getLogger(TestApplication::class.java)

    override fun run(vararg args: String?) {
        for (i in 0..50) {
            log.error("test error, id=$i ; name= Test$i")
        }
    }


}

fun main(args: Array<String>) {
    runApplication<TestApplication>(*args)

}

Kibana查看

  • 新增Index索引…。在這裏插入圖片描述
  • 索引建立完成後,即可進行查看已經有我們想要的結果了在這裏插入圖片描述

示例代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章