Springboot ELK實現日誌系統簡單搭建

2022-07-04 16:06:07 字數 4076 閱讀 6782

前面簡單介紹了elk三劍客中的其中兩個elasticsearch和kibana的簡單使用,如果對這兩個不了解,可以看下下面的

centos7安裝elasticsearch和kibana

搜尋引擎基礎---分詞和倒排索引簡述

elasticsearch基礎入門

現在來看看這最後乙個logstash

還是這個地方

1.和es一樣,如果機器記憶體小,有想玩這個的,記得把config下面的jvm.options檔案中的jvm引數設定小點,我設定的256m:

-xms256m

-xmx256m

2.寫配置檔案logstash.conf,預設有個logstash-sample.conf這個檔案,可以直接拿來修改

內容如下:

#暴露9090埠作為輸入

input

}#輸出到elasticsearch,此輸出建立乙個名為myserver的索引

output

}

以上就是最簡單的配置了

3.使用此配置檔案啟動logstash:./bin/logstash -f ./config/logstash.conf

4.建立spingboot工程,

springboot

日誌本來就用的

logback

,但是我們還需要引入相關的logstash依賴

<

dependency

>

<

groupid

>net.logstash.logback

groupid

>

<

artifactid

>logstash-logback-encoder

artifactid

>

<

version

>6.2

version

>

dependency

>

logstash.address=192.168.0.69:9090
6.logback日誌配置檔案

:logback-spring.xml

(resources

下面和工程

配置檔案同級)

xml version="1.0" encoding="utf-8"

?>

<

configuration

>

<

springproperty

scope

="context"

name

="logstash_address"

source

="logstash.address"

/>

<

name

="logstash"

class

>

<

destination

>$

destination

>

<

encoder

class

="net.logstash.logback.encoder.loggingeventcompositejsonencoder"

>

<

providers

>

<

timestamp

>

<

timezone

>asia/shanghai

timezone

>

timestamp

>

<

pattern

>

<

pattern

>

%m %l ",

"message": "%msg"

}pattern

>

pattern

>

<

stacktrace

>

<

throwableconverter

class

="net.logstash.logback.stacktrace.shortenedthrowableconverter"

>

<

maxdepthperthrowable

>100

maxdepthperthrowable

>

<

rootcausefirst

>true

rootcausefirst

>

<

inlinehash

>true

inlinehash

>

throwableconverter

>

stacktrace

>

providers

>

encoder

>

>

<

root

level

="info"

>

<

ref="logstash"

/>

root

>

configuration

>

7.啟動springboot服務,這個時候我們會發現控制台不會再輸出日誌了,因為日誌輸出到

logstash

,再由logstash

傳送到es

去了。呼叫我們介面檢視下服務是否成功啟動了

說明服務已經成功啟動,現在去看kibana檢視日誌資訊

8.搜尋是否有myserver的索引,可以看到

tomcat 8080

埠啟動的日誌

我們每次都這樣搜尋來看是不是很不方便,我們可以把這個索引加到discover中,後續只需要在裡面搜尋我們想要內容就行了

9.management --->index patterns --->create index pattern--->搜尋匹配的索引然後建立

建立好了就可以在kibana的index列表看見這個索引了

現在就可以discover中使用這個索引了,不用再去

dev tools

工具中去寫查詢了

我們著看剛才呼叫介面列印的日誌就可以在discover中看見了

10.discover中資訊篩選:預設的篩選時間是15分鐘內的,如果時間比較久了就需要重新選擇下時間,然後輸入要搜尋的內容

port

,我們就可以看到之前服務起動的日誌了

elk簡單的整合使用,大概就是這個樣子了,當然

logstash

中還可以去過濾處理資料。像我們現在的日誌在

kibana

裡面的格式是很難看的。

Springboot ELK實現日誌管理

介紹ellk三部分的組成 關於這三者的安裝環境均是centos7,安裝步驟也較簡單,詳情如下 linux安裝elasticsearch linux安裝kibana logstash安裝 修改配置檔案 logstash 6.4.3 config logstash sample.conf input o...

快速排序演算法實現(遞迴實現 棧實現)

基本思想 選擇乙個基準元素,比如選擇最後乙個元素,通過一趟掃瞄,將待排序列分成兩部分,一部分比基準元素小,一部分大於等於基準元素,此時基準元素在其排好序後的正確位置,又稱為軸位置,此位置的元素確定後不再參與排序,然後再用同樣的方法遞迴地排序劃分的兩部分。分析 快速排序是不穩定的排序。快速排序的時間複...

介面實現與配置實現

在實現系統功能的時候,通常會首先定義好功能的介面,在系統功能不斷被實現的過程中,慢慢的發現有些介面的實現很類似,這個時候通常會開始做一次抽象,形 成乙個共同的部分,慢慢的系統形成了乙個抽象的層次,而為了通用,通常是通過定義介面,形成乙個抽象類,抽象類中暴露出一些抽象方法供外部擴充套件實 現,逐步的積...