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

 

 


項目由來html

  (1)開發人員不能登陸線上服務器查看詳細日誌,通過運維週轉費時費力
  (2)日誌數據分散在多個系統,難以查找與整合
  (3)日誌數據量巨大,查詢速度太慢,沒法知足需求
  (4)沒法全局掌控項目運行情況
  (5)日誌數據查詢不夠實時
  (6)數據分析人員不會寫代碼,沒法分析統計數據
  (7).........web

 

 

框架裏包含的組件redis

  Logstash+Elasticsearch+Kibana(ELK
  Logstash:監控,過濾,收集日誌。
  Elasticsearch:存儲日誌,提供搜索功能。
  kibana:提供web界面,支持查詢,統計,和圖表展示。
  filebeat:輕量級的日誌收集工具。
  不少公司都採用該架構構建分佈式日誌系統,包括新浪微博,freewheel,暢捷通等服務器

  注意:在應用端收集日誌時,建議用filebeat。多線程

 

 

 

 

效果圖架構

 

 

 

 

 

 

架構設計框架

  (1)使用filebeat
    架構設計1:filebeat(1.3)-->logstash(parse)-->es集羣-->kibana--ngix
        缺點:若是logstash出問題會致使filebeat收集的數據丟失
    架構設計2:filebeat(1.3)-->logstash(parse)[loadbalance]-->es集羣-->kibana--ngix
      filebeat和>logstash耦合性過高
    架構設計3filebeat(1.3)(3臺)-->redis-->logstash(parse)-->es集羣-->kibana--ngix(可選)  (我這裏,目前爲了學習,走這條線路)
      裏面redis是一個單線程的實例,redis單線程每秒處理能力通常是10W次左右。
    架構設計4:filebeat(5.0)-->redis/kafka-->logstash(parse)-->es-->kibana--ngix
      filebeat(1.3)不支持輸出到kafka,5.x版本中支持輸出到kafka
  (2)不使用filebeat
      logstash-->kafka-->logstash(parse)-->es-->kibana--ngix
        裏面kafka支持水平擴展,能夠使用多分區,支持多線程並行執行。
        在應用端收集日誌的話,logstash比較重量級,性能消耗比filebeat大
  (3)Filebeat用於日誌收集和傳輸,相比Logstash更加輕量級和易部署,對系統資源開銷更小。運維

 

後續貼圖。分佈式

 

 

 

 

ELK實時日誌分析平臺環境部署--完整記錄

相關文章
相關標籤/搜索