[ELK] ELK 基本介紹

  • 264
  • 0
  • ELK
  • 2021-03-19

因在工作需求上有使用到ELK,因此將這個經驗記錄下來。

 

先稍微針對ELK做點簡單的介紹。

ELK是由Elastic這間公司所開發的三個open-source軟體,三個軟體分別是:Elasticsearch、Logstash、Kibana。

這三個產品加上Elastic公司其他產品被設計成一個整合解決方案,稱為「Elastic Stack」(以前稱為「ELK stack」)。

簡單來說ELK stack的流程,是由 Logstash 收集與處理傳入 server 端的 log紀錄,再將log推送至 Elasticsearch 進行儲存,最後透過 Kibana 進行資料視覺化的呈現。

Elasticsearch

1. 使用RESTful介面操作的即時分散式儲存的搜索引擎

2. 基於開放原始碼的Apache Lucene程式庫,是用Java開發

3. 特徵

     Ø彈性資料模型(無綱要結構) – JSON文件

     Ø分散式、水平擴充

     Ø高可用性

     Ø多租戶(multi-tenancy technology)、免費安全機制(6.8版後)

     Ø開發者友善 (RESTful API)

     Ø適合NoSQL資料儲存,但缺少分散式事務(Distributed Transactions)

     Ø接近即時

     Ø全文檢索

Apache Lucene

1. Lucene是一套用於全文檢索和搜尋的開放原始碼程式庫,由Apache軟體基金會支援和提供。

2. Lucene是現在最受歡迎的免費Java資訊檢索程式庫。

3. Lucene的缺點:沒有平行化架構、沒有即時更新、資料不保證不遺失

4. Elasticsearch解決:可平行化架構、預設1秒refresh、文件版控

Kibana

1. Kibana提供即時彙總與繪製圖表的視覺化界面

     Ø視覺化與分析

     Ø地理資訊

     Ø客製化報表與分享報表

     Ø圖型式探索

     ØElastic Stack管理介面

Logstash

1. Logstash是一個ETL工具,具備靈活、開源、pipeline特性,隨著不同套件,易於集成通用基礎設施。Logstash旨在有效地處理日誌、事件和非結構化數據源,在內部統一處理成JSON格式,再做各種輸出的分發,包括Elasticsearch。

2. 在Logstash中,包括了三個階段: 輸入input --> 處理filter(不是必須的) --> 輸出output

3. Logstash將多個資料來源的資料,同時間地進行轉換與傳送到你偏好的儲存體

4. Logstash File