日誌存儲系統經常使用技術方案介紹

      日誌存儲系統經常使用技術方案有兩種:一是log4j/logback+mongodb的方式,一種是基於ELK的日誌存儲系統。前端

      日誌通常存儲在數據庫和文件系統中。日誌數據要和生產正式庫分開存儲,不然會影響正式庫的運行,帶來隱患。另外,爲了防止日誌存儲性能問題,後期能夠考慮採用異步的消息隊列形式進行存儲。java

      下面詳細講解。web

  1.便捷的日誌存儲方式log4j+mongodbmongodb

  1)安裝和配置簡介數據庫

  須要引入的jar包有:Mongo Java driver、Log4J(1.2.16以上版本)、log4mongo-java,經過log4j.properties屬性文件配置,整合log4j和mongodb。log4j可直接寫數據到mongodb中。服務器

  2)日誌分析和查看異步

  可經過mongovision這個web客戶端進行日誌的查看和分析。mongovision,使用extjs做爲前端,體驗較好,須要java7及以上版本。性能

 

  2.基於ELK的日誌系統日誌

  ELK=ElasticSearch+LogStash+Kibana對象

  日誌數據流以下:應用將日誌落地在本地文件,部署在每臺服務器上的FileBeat負責收集日誌,而後將日誌發送給LogStash;LogStash對日誌進行處理解析等操做;而後將處理後的Json對象傳遞給ElasticSearch,進行落地並進行索引處理;最後經過Kibana來提供web界面,來查看日誌等。

  對於日誌數據流特別大的狀況,LogStash會形成擁堵,這個時候能夠使用消息隊列來進行緩衝,好比kafka。新的流程以下:

--------------------------------------------------------------------

PS: 歡迎關注公衆號"Devin說",會不按期更新Java相關技術知識。

--------------------------------------------------------------------

相關文章
相關標籤/搜索