(18)go-micro微服務ELK介紹

qi66發表於2023-01-22

一 什麼是ELK

ELK是三個[開源軟體]的縮寫,分別表示:Elasticsearch , Logstash, Kibana , 它們都是開源軟體,新增了一個Beats

  • Elasticsearch :是分散式搜尋引擎,提供蒐集、分析、儲存資料三大功能

    • 主要特點 實時分析 分散式實時檔案儲存,並將每一個欄位都編入索引 文件導向,所有的物件全部是文件 高可用性,易擴充套件,支援叢集(Cluster)、分片和複製(Shards 和 Replicas)。
  • Logstash :主要是用來日誌的蒐集、分析、過濾日誌的工具

    • 幾乎可以訪問任何資料
    • 可以和多種外部應用結合
    • 支援彈性擴充套件
  • Kibana :提供友好的Web介面,可以幫助彙總分析和搜尋資料

    • Kibana是一款基於 Apache開源協議,使用 JavaScript語言編寫,為 Elasticsearch提供分析和視覺化的 Web 平臺。它可以在Elasticsearch的索引中查詢,互動資料,並生成各種維度的表圖.
  • Beats :是一-個輕量級的日誌收集處理工具(Agent)

    • ELK 協議棧的新成員,一個輕量級開源日誌檔案資料蒐集器。在需要採集日誌資料的 server 上安裝Filebeat,並指定日誌目錄或日誌檔案後,Filebeat就能讀取資料,傳送到Logstash進行解析,或直接傳送到 Elasticsearch進行集中式儲存和分析。

二 Beats的六種工具

  • Packetbeat :網路資料(收集網路流量資料)

  • Metricbeat :指標( 收集系統、程式和檔案系統級別資料)

  • Filebeat: 日誌檔案(收集檔案資料)

  • Winlogbeat : windows事件日誌(收集Windows事件日誌資料)

  • Auditbeat :審計資料(收集審計日誌)

  • Heartbeat :執行時間監控(收集系統執行時的資料)

三 ELK系統的特點

  • 強大的收集能力:能夠採集多種來源的日誌資料

  • 穩定的傳輸能力 :能夠把日誌資料傳輸到中央系統

  • 分散式儲存:可根據業務需求儲存日誌資料,可動態擴容

  • 分析&展示&提醒:具備資料分析能力,資料展示能力和告警能力

四 ELK+beats系統架構

Logstash 透過Filebeat從多種資料來源(比如日誌檔案、標準輸入 Stdin 等)獲取資料,再經過濾外掛加工資料,然後經 Elasticsearch 輸出外掛輸出到 Elasticsearch,透過 Kibana 展示。

clipboard.png

五 ELK優點

  • 處理方式靈活: elasticsearch是實時全文索引,具有強大的搜尋功能

  • 配置相對簡單:elasticsearch全部使用JSON 介面,logstash使用模組配置,kibana的配置檔案部分更簡單。

  • 檢索效能高效:基於優秀的設計,雖然每次查詢都是實時,但是也可以達到百億級資料的查詢秒級響應。

  • 叢集線性擴充套件:elasticsearch和logstash都可以靈活線性擴充套件

  • 前端操作良好:kibana的前端設計比較絢麗,而且操作簡單。Kibana 介面上,只需要點選滑鼠,就可以完成搜尋、聚合功能,生成炫麗的儀表板。

六 最後

  • 至此,go-micro微服務ELK介紹工作就正式完成。

  • 接下來就開始filebeat收集日誌的程式碼編寫了,希望大家關注博主和關注專欄,第一時間獲取最新內容,每篇部落格都乾貨滿滿。

歡迎大家加入 夏沫の夢的學習交流群 進行學習交流經驗,點選 夏沫の夢學習交流

相關文章