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

2021-09-22 09:43:53 字數 1593 閱讀 7241

專案由來

(1)開發人員不能登入線上伺服器檢視詳細日誌,經過運維周轉費時費力

(2)日誌資料分散在多個系統,難以查詢與整合

(3)日誌資料量巨大,查詢速度太慢,無法滿足需求

(4)無法全域性掌控專案執行狀況

(5)日誌資料查詢不夠實時

(6)資料分析人員不會寫**,無法分析統計資料

(7).........

框架裡包含的元件

logstash+elasticsearch+kibana(elk

logstash:監控,過濾,收集日誌。

elasticsearch:儲存日誌,提供搜尋功能。

kibana:提供web介面,支援查詢,統計,和圖表展現。

filebeat

注意:在應用端收集日誌時,建議用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收集分析MySQL慢查詢日誌

參考文件 mysql開啟慢查詢不詳述 mysql5.7慢查詢日誌格式如下 usr local mysql bin mysqld,version 5.7.22 log mysql community server gpl started with tcp port 3306 unix socket t...

日誌收集系統ELK搭建

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

Linux日誌收集分析工具 ELK

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