Efk簡介


前言:

  在沒有分布式日志的時候,每次出問題了需要查詢日志的時候,需要登錄到Linux服務器,使用命令cat -n xxxx|grep xxxx 搜索出日志在哪一行,然后cat -n xxx|tail -n +n行|head -n 顯示多少行,這樣不僅效率低下,而且對於程序異常也不方便查詢,日志少還好,一旦整合出來的日志達到幾個G或者幾十G的時候,僅僅是搜索都會搜索很長時間了,當然如果知道是哪天什么時候發生的問題當然也方便查詢,但是實際上很多時候有問題的時候,是不知道到底什么時候出的問題,所以就必須要在聚合日志中去搜索(一般日志是按照天來分文件的,聚合日志就是把很多天的日志合並在一起,這樣方便查詢),而搭建EFK日志分析系統的目的就是將日志聚合起來,達到快速查看快速分析的目的,使用EFK不僅可以快速的聚合出每天的日志,還能將不同項目的日志聚合起來,對於微服務和分布式架構來說,查詢日志尤為方便,而且因為日志保存在Elasticsearch中,所以查詢速度非常之快。

一、Efk是什么:  

  EFK不是一個軟件,而是一套解決方案,開源軟件之間的互相配合使用,高效的滿足了很多場合的應用,是目前主流的一種日志系統。EFK是三個開源軟件的縮寫,分別表示:Elasticsearch , FileBeat, Kibana , 其中ELasticsearch負責日志保存和搜索,FileBeat負責收集日志,Kibana 負責界面,當然EFK和大名鼎鼎的ELK只有一個區別,那就是EFK把ELK的Logstash替換成了FileBeat,因為Filebeat相對於Logstash來說有2個好處:
1、侵入低,無需修改程序目前任何代碼和配置
2、相對於Logstash來說性能高,Logstash對於IO占用很大

  當然FileBeat也並不是完全好過Logstash,畢竟Logstash對於日志的格式化這些相對FileBeat好很多,FileBeat只是將日志從日志文件中讀取出來,當然如果你日志本身是有一定格式的,FileBeat也可以格式化,但是相對於Logstash來說,還是差一點。

二、組件詳解:

Elasticsearch:

  Elasticsearch是個開源分布式搜索引擎,提供搜集、分析、存儲數據三大功能。它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。

FileBeat:

  • Filebeat隸屬於Beats。目前Beats包含六種工具:
  • Packetbeat(搜集網絡流量數據)
  • Metricbeat(搜集系統、進程和文件系統級別的 CPU 和內存使用情況等數據)
  • Filebeat(搜集文件數據)
  • Winlogbeat(搜集 Windows 事件日志數據)
  • Auditbeat( 輕量型審計日志采集器)
  • Heartbeat(輕量級服務器健康采集器)

Kibana

Kibana可以為 Logstash 、Beats和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助匯總、分析和搜索重要數據日志。

三、架構:

  咳咳,圖是盜來的,將就着看,有時間了花個自己的:

 

 

 

 


 

 


免責聲明!

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



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