Go語言系列(十一)- 日志收集系統


一、日志收集系統背景

1 項目背景

  • a. 每個系統都有日志,當系統出現問題時,需要通過日志解決問題
  • b. 當系統機器比較少時,登陸到服務器上查看即可滿足
  • c. 當系統機器規模巨大,登陸到機器上查看幾乎不現實

2 解決方案

  • a. 把機器上的日志實時收集,統一的存儲到中心系統
  • b. 然后再對這些日志建立索引,通過搜索即可以找到對應日志
  • c. 通過提供界面友好的web界面,通過web即可以完成日志搜索

3 遇到的問題

a. 實時日志量非常大,每天幾十億條
b. 日志准實時收集,延遲控制在分鍾級別
c. 能夠水平可擴展

4 業界方案ELK

 

 5 ELK方案問題

a. 運維成本高,每增加一個日志收集,都需要手動修改配置
b. 監控缺失,無法准確獲取logstash的狀態
c. 無法做定制化開發以及維護

 

二、日志收集系統架構

6 日志收集系統設計

 

各組件介紹

a. Log Agent,日志收集客戶端,用來收集服務器上的日志
b. Kafka,高吞吐量的分布式隊列,linkin開發,apache頂級開源項目
c. ES,elasticsearch,開源的搜索引擎,提供基於http restful的web接口
d. Hadoop,分布式計算框架,能夠對大量數據進行分布式處理的平台

 


免責聲明!

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



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