日志存儲系統常用技術方案介紹


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

      日志一般存儲在數據庫和文件系統中。日志數據要和生產正式庫分開存儲,否則會影響正式庫的運行,帶來隱患。另外,為了防止日志存儲性能問題,后期可以考慮采用異步的消息隊列形式進行存儲。

      下面詳細講解。

  1.便捷的日志存儲方式log4j+mongodb

  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相關技術知識。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM