搭建ELK檢視springboot日誌

2021-10-09 06:26:05 字數 3647 閱讀 4601

最近寫了乙個springcloud的開發腳手架,看日誌即使用了鏈路追蹤,在多個服務看日誌檔案還是有點繁瑣,特別是上線了你要跟蹤乙個已執行的介面,即使上家公司就是這樣過來的。雖然聽過elk的大名,但沒從沒搭建過,就來玩一玩。如果要解決日誌檢視分析及儲存問題,可以去了解一下阿里雲的日誌服務,在電商公司的時候用過。

1.搭建elasticsearch

1.1 直接執行    

rpm --import

1.2 在/etc/yum.repos.d目錄下新增檔案 elasticsearch.repo,新增內容

[elasticsearch-6.x]

name=elasticsearch repository for 6.x packages

baseurl=

gpgcheck=1

gpgkey=

enabled=1

autorefresh=1

type=rpm-md

最新的是7.9,我選擇6.x版本,因為我不喜歡吃螃蟹。

官網說的聽清楚的。

1.3 開始安裝

yum install elasticsearch

1.4 配置一下讓外網訪問,是否全開放還是指定ip看個人,配置檔案在/etc/elasticsearch目錄下。修改elasticsearch.yml檔案

network.host: 0.0.0.0 //全開放

至於資料儲存位置和日誌位址,我就預設的,反正能找到就行。

1.5 啟動elasticsearch

systemctl start elasticsearch.service //關閉 systemctl stop elasticsearch.service

1.6 測試一下是否成功

curl -x get "localhost:9200/?pretty"

輸出類似則成功:

,  "tagline" : "you know, for search"

}1.7 安裝elasticsearch視覺化工具,elasticsearch-head。elastichd是個頁面優美,功能強大的外掛程式,一下標記

至此。安裝完成。

2. 搭建kibana

wget

2.2 解壓壓縮包:

tar -xzf kibana-6.8.11-linux-x86_64.tar.gz

2.3 進入安裝目錄(壓縮包的形式安裝,配置都在這個目錄下)

cd kibana-6.8.11-linux-x86_64/

2.4 在啟動之前我們先給它設定一下基本配置

server.port: 9090 //程式啟動埠

server.host: "0.0.0.0" //暴露給全外網

elasticsearch.hosts: ["http://localhost:9088"] //es的連線位址,多個在陣列,隔開

kibana.index: ".kibana" //kibana使用es的索引

logging.dest: /root/kibana-6.8.11-linux-x86_64/log/kibana.log //設定kibana的輸出日

志,我沒找到它預設的日誌位置在哪

2.5 啟動kibana,bin目錄下的kibana命令

./bin/kibana //前台啟動,ctrl+c就關閉了

nohup ./bin/kibana & //後台啟動

2.6 至此,kibana啟動成功, http://ip:port 就可以直接訪問

kibana一啟動es就關閉了?乙個小插曲,也就浪費了我3個小時。es裝完請檢視你的記憶體是否足夠支援啟動kibana。修改es的啟動記憶體,vim /etc/elasticsearch/jvm.yml 。哎,剛花費我1000多買的一台2核4g的阿里雲伺服器,還以為暴富了,還不夠我研究兩個東西。

3. 搭建logstash

3.1 使用.tar.gz安裝包形式安裝,因為文件中很多是用./bin/logstash方式來演示的

wget

3.2 解壓安裝包

tar -xvzf logstash-6.8.11.tar.gz //全部解壓到乙個資料夾下好管理

3.3 設定啟動大小,我的記憶體不夠

cd logstash-6.8.11

vim config/jvm.options

3.4 啟動logstash並且測試是否安裝成功,具體可參考官網

執行命令: ./bin/logstash -e 'input } output stdout }'

檢視是否成功,如果成功,直接輸入 *** ,預設它會存在乙個logstash-*的索引下,可以去es檢視。

3.5 至此,logstash安裝成功。

4.開始想辦法把springboot日誌傳到logstash中,springboot 整合logstash。     

4.1 專案中加入依賴包

net.logstash.logback

logstash-logback-encoder

5.3

4.2 logback-spring.xml日誌檔案中加入: 

//注意上面這個class類,開始我選擇其他類,發現logstash

一直收不到日誌資訊,耗了我3個小時檢查各種配置。

utc

springboot專案整合完畢。

5. 啟動logstash來收集springboot日誌

5.1 在config目錄下新建乙個 ***.conf 檔案

vim ***.conf

輸入以下內容:

input

}output " //建立索引,資料將儲存在這個索引下

}stdout //這個主要在測試的時候可以方便看到輸入資料是否是想要的

}5.2 啟動logstash

./bin/logstash -f ./config/***.conf

6.  至此,整個流程已經打通了,springboot日誌通過tcp傳送到logstash,logstash又輸出到es,kibana又連線上了es,所以整個流程已經通了。下面開始測試。

自己執行乙個springboot的乙個介面,讓它輸出日誌,然後它會自動儲存到es下的springboot-當日日期索引下,這個索引可以在5.1步驟自行設定。檢視es是否儲存成功了,儲存成功那麼我們就可以去kibana檢視了。

進入kibana頁面,然後進入左下角管理介面,再進入索引模式,然後建立索引模式,選擇剛才的springboot-當日日期索引,可以寫成springboot-*形式進行通配,這裡其實就是把這個es索引下的資料引入到kibana。

進入左上角discover介面,選擇剛剛建立的索引模式,然後就可以看到美妙的畫面了。

eclipse搭建簡單的springboot專案

首先eclipse不像idea直接建立,需要加入一些外掛程式 開啟eclipse help eclipse marketplace 選擇popular 選擇sts installed,勾選web,然後就可以finish了,專案就建立成功了!接下來編寫乙個controller 當spring出現專案已...

ELK平台搭建

簡介 1 核心組成 elk 由 elasticsearch logstash 和 kibana 三部分元件組成 elasticsearch 是個開源分布式搜尋引擎,它的特點有 分布式,零配置,自動發現,索引自動分片,索引副本機制,restful 風格介面,多資料來源,自動搜尋負載等。logstash...

ELK環境搭建

安裝elasticsearch 1.拷貝elasticsearch 5.4.0.tar.gz到你需要安裝的目錄 2.執行 sudo tar zxvf elasticsearch 5.4.0.tar.gz 3.切換非root賬戶 su suername 4.cd到解壓後的目錄 執行 bin elast...