[ELK] Elastic Stack (OpenSearch): Elasticsearch, Logstash, Kibana 指南

Intro

Elasticsearch 是與名為 Logstash 的資料收集和紀錄檔解析引擎以及名為 Kibana 的分析和視覺化平台一起開發。這三個產品被設計成一個整合解決方案,稱為「Elastic Stack」(以前稱為「ELK stack」)。

Wiki - Elasticsearch

ELK Stack: Elasticsearch, Logstash, Kibana | Elastic

Structure

OpenSearch

OpenSearch 包含了搜尋引擎與 OpenSearch Dashboards(此搜尋引擎的資料可視化儀錶板)。此軟體始於2021年,作為 Elasticsearch 與 Kibana 的分支,主要由AWS(亞馬遜雲端運算服務)開發。(Wikipedia)

Diagram

OpenSearch Github:


Elasticsearch (OpenSearch)

Elasticsearch 是一個基於 Lucene 庫的搜尋引擎。它提供了一個分散式、支援多租戶的全文搜尋引擎,具有 HTTP Web 介面和無模式 JSON 文件。Elasticsearch 是用 Java 開發的,並在 Apache 授權條款下作為開源軟體釋出。官方客戶端在 Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby 和許多其他語言中都是可用的。根 據 DB-Engines 的排名顯示,Elasticsearch 是最受歡迎的企業搜尋引擎,其次是 Apache Solr,也是基於 Lucene。(Wikipedia)

Node

Node (Node roles) - Configuring Elasticsearch - Elastic

Elasticsearch(或Opensearch)中主要會使用到的 node role:

  • Data node (data):
    用來儲存 Index 的資料節點,處理對 Index 的讀取和寫入操作。

  • Master node (master):
    協調 Cluster 中的節點,負責管理 Index 的建立和刪除、節點的加入和退出等操作。一般建議將 master node 與 data node 分開部署。

  • Coordinating node
    處理來自 client node 的請求,將請求轉發到適當的 data node 上進行處理,並將處理結果返回 client node。所有的 node 都預設是 Coordinating Node

  • Ingest node (ingest):
    用於預處理資料,例如提取日誌中的特定信息或將欄位中的數據轉換為特定格式。一般建議將 ingest node 與 coordinating node 或 data node 分開部署。

Cluster

Set up a cluster for high availability - Elastic


Kibana (OpenSearch Dashboards)

Kibana 是一款開源的數據分析和可視化平台,為 Elastic Stack 成員之一,設計用於和 Elasticsearch 協作。可以透過 Kibana 對 Elasticsearch 索引中的數據進行搜索、查看、交互操作。提供圖表、表格及地圖對數據進行多元化的分析和呈現。


References

Leave a Reply

Your email address will not be published. Required fields are marked *