專案由來
(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耦合性太高
架構設計3:filebeat(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 就可以獲得自己想要的資訊。但在規模較大的場景中,此方法效率低下,面臨問題包括日誌量太大如何歸檔 文字搜尋太慢怎麼辦 如何多維度查詢。需要集中化的日誌管理,所有伺服器上的日誌收集彙總。常見解決思路是建立集中 式日誌收集系統,將所有節點上...