一 什麼是ELK
ELK是三個[開源軟體]的縮寫,分別表示:Elasticsearch , Logstash, Kibana , 它們都是開源軟體,新增了一個Beats。
-
Elasticsearch :是分散式搜尋引擎,提供蒐集、分析、儲存資料三大功能
- 主要特點 實時分析 分散式實時檔案儲存,並將每一個欄位都編入索引 文件導向,所有的物件全部是文件 高可用性,易擴充套件,支援叢集(Cluster)、分片和複製(Shards 和 Replicas)。
-
Logstash :主要是用來日誌的蒐集、分析、過濾日誌的工具
- 幾乎可以訪問任何資料
- 可以和多種外部應用結合
- 支援彈性擴充套件
-
Kibana :提供友好的Web介面,可以幫助彙總分析和搜尋資料
Kibana
是一款基於Apache
開源協議,使用JavaScript
語言編寫,為Elasticsearch
提供分析和視覺化的 Web 平臺。它可以在Elasticsearch
的索引中查詢,互動資料,並生成各種維度的表圖.
-
Beats :是一-個輕量級的日誌收集處理工具(Agent)
ELK
協議棧的新成員,一個輕量級開源日誌檔案資料蒐集器。在需要採集日誌資料的server
上安裝Filebea
t,並指定日誌目錄或日誌檔案後,Filebeat
就能讀取資料,傳送到Logstash
進行解析,或直接傳送到Elasticsearch
進行集中式儲存和分析。
二 Beats的六種工具
-
Packetbeat :網路資料(收集網路流量資料)
-
Metricbeat :指標( 收集系統、程式和檔案系統級別資料)
-
Filebeat: 日誌檔案(收集檔案資料)
-
Winlogbeat : windows事件日誌(收集Windows事件日誌資料)
-
Auditbeat :審計資料(收集審計日誌)
-
Heartbeat :執行時間監控(收集系統執行時的資料)
三 ELK系統的特點
-
強大的收集能力:能夠採集多種來源的日誌資料
-
穩定的傳輸能力 :能夠把日誌資料傳輸到中央系統
-
分散式儲存:可根據業務需求儲存日誌資料,可動態擴容
-
分析&展示&提醒:具備資料分析能力,資料展示能力和告警能力
四 ELK+beats系統架構
Logstash 透過Filebeat從多種資料來源(比如日誌檔案、標準輸入 Stdin 等)獲取資料,再經過濾外掛加工資料,然後經 Elasticsearch 輸出外掛輸出到 Elasticsearch,透過 Kibana 展示。
五 ELK優點
-
處理方式靈活: elasticsearch是實時全文索引,具有強大的搜尋功能
-
配置相對簡單:elasticsearch全部使用JSON 介面,logstash使用模組配置,kibana的配置檔案部分更簡單。
-
檢索效能高效:基於優秀的設計,雖然每次查詢都是實時,但是也可以達到百億級資料的查詢秒級響應。
-
叢集線性擴充套件:elasticsearch和logstash都可以靈活線性擴充套件
-
前端操作良好:kibana的前端設計比較絢麗,而且操作簡單。Kibana 介面上,只需要點選滑鼠,就可以完成搜尋、聚合功能,生成炫麗的儀表板。
六 最後
-
至此,go-micro微服務ELK介紹工作就正式完成。
-
接下來就開始filebeat收集日誌的程式碼編寫了,希望大家關注博主和關注專欄,第一時間獲取最新內容,每篇部落格都乾貨滿滿。