ELK日誌收集分析系統搭建筆記之Logback篇

2021-09-12 00:06:49 字數 1826 閱讀 2813

前面記錄了搭建環境等步驟,完成了日誌檔案內容通過logstash輸出到es,再到kibana展示等一系列步驟。這一篇文章記錄了由logback.xml通過tcp通道方式傳送日誌到logstash,由logstash傳輸到es,kibana展示。

環境配置:

logstash,es,kibana,搭建在雲伺服器上

logback.xml配置在專案中,放置在本機上執行

專案是乙個springboot專案

首先在pom檔案中匯入jar包

net.logstash.logback

logstash-logback-encoder

5.3

1.1.1.11:9600

在logstash雲伺服器上的 /etc/logstash/conf.d/下建立指令碼,例如我的指令碼:logbacklog.conf,內容如下:

仔細看指令碼內容,index引數那一項,兩個引數就是在logback.xml中匯入的引數,索引採用:環境+專案名+日期組成。例如:dev-order:2019-03-06

input 

}output

}

在demo專案中寫乙個測試方法,列印日誌

然後啟動專案,訪問此方法。待結果返回出來,進入kibana,檢視是否生成了索引和log日誌是否記錄下來了,我的日誌內容如下:

備註:不知道如何檢視的朋友,可以按照搭建筆記之kibana篇進行索引和日誌檢視。

到這裡完成了我們logback.xml傳送日誌到logstash,logstash進行日誌儲存到es,kibana展示的全過程,

像剛才的示例方法中的日誌,四個級別,info,error,debug,warn,一股腦的傳送到了logstash上,在有些時候,我們只需要記錄下error級別日誌就夠了,其他的日誌完全浪費es的空間。或者是另一種情況,指定到具體的包具體的檔案中傳送指定級別的日誌,這種需求。這個時候我們就不能把日誌不進行區分的全部傳送過去了。如何精準傳送?只需要修改logback.xml檔案就行了,注釋root中的logstash節點,新增乙個logger節點

logger節點意思

name 傳送日誌的目錄,也就是只會傳送com.guhui.demo.controller路徑下所有檔案的日誌

level 日誌級別,定義日誌只傳送那個級別的日誌,進行日誌過濾

丶clearwater

日誌收集系統ELK搭建

在傳統專案中,如果在生產環境中,有多台不同的伺服器集群,如果生產環境需要通過日誌定位專案的bug的話,需要在每台節點上使用傳統的命令方式查詢,這樣效率非常低下。因此我們需要集中化的管理日誌,elk則應運而生。elk elasticseach logstash kibana,日誌收集原理如下所示。1 ...

ELK之日誌查詢 收集與分析系統

專案由來 1 開發人員不能登入線上伺服器檢視詳細日誌,經過運維周轉費時費力 2 日誌資料分散在多個系統,難以查詢與整合 3 日誌資料量巨大,查詢速度太慢,無法滿足需求 4 無法全域性掌控專案執行狀況 5 日誌資料查詢不夠實時 6 資料分析人員不會寫 無法分析統計資料 7 框架裡包含的元件 logst...

Linux日誌收集分析工具 ELK

一般我們需要進行日誌分析場景 直接在日誌檔案中 grep awk 就可以獲得自己想要的資訊。但在規模較大的場景中,此方法效率低下,面臨問題包括日誌量太大如何歸檔 文字搜尋太慢怎麼辦 如何多維度查詢。需要集中化的日誌管理,所有伺服器上的日誌收集彙總。常見解決思路是建立集中 式日誌收集系統,將所有節點上...