部署 Elasticsearch 和 Kibana
Elasticsearch 是開放原始碼的企業級搜尋引擎。可透過廣泛的 API 存取,Elasticsearch 可強化支援您資料尋找應用程式的快速搜尋。它可以擴展數千部伺服器並容納數千位元組的資料。其大容量會從其彈性分散式架構直接產生。
Elasticsearch 的最常見使用案例是使用從結構化和非結構化資料來源擷取的超級資料,以及由廣泛查詢語言和自動完成提供的全文檢索搜尋來進行分析。
架構
此參照架構顯示 Elasticsearch 和 Kibana 的叢集化部署。

elk-oci.png 圖解描述
此架構包含下列元件:
- 可用性網域
可用性網域是區域內獨立的獨立資料中心。每個可用性網域中的實體資源都會與其他可用性網域中的資源隔離,以提供容錯。可用性網域不會共用基礎架構,例如電源、冷卻或內部可用性網域網路。因此,一個可用性網域的失敗並不會影響區域中的其他可用性網域。
- 容錯域
容錯域是一組可用性網域內的硬體和基礎架構。每個可用性網域都有三個具有獨立電源和硬體的容錯域。當您將資源分配到多個容錯域時,應用程式可能會容許容錯域內的實體伺服器故障、系統維護和電源故障。
- 防禦主機
防禦主機是一個運算執行處理,可作為雲端外部拓樸的安全、受控制的進入點。防禦主機通常是在非軍事區域 (DMZ) 中啟動設定。它可讓您將機密資源放在無法直接從雲端存取的專用網路中,以保護機密資源。拓樸有一個您可以定期監督及稽核的單一已知進入點。因此,您可以避免暴露拓樸的更敏感元件,而不會暴露它們的存取權。
- 負載平衡器
負載平衡器會平衡資料節點的索引作業,以及主要節點的 Kibana 存取。它使用兩個監聽器,一個用於 Kibana,一個用於索引資料存取,使用主要節點後端,資料節點後端。負載平衡器位於具有公用 IP 位址的公用子網路中。
- 主要節點
主要節點會執行叢集管理作業,例如建立索引和重新平衡分區。它們不會儲存資料。三個主要節點 (建議大型叢集使用) 會部署在三個容錯域,以確保高可用性。
- 資料節點
三個容錯域會部署三個資料節點以獲得高可用性。Elasticsearch 取決於可用的記憶體大小,因此建議您使用記憶體最佳化的運算執行處理。每個資料節點都設定了 200 個 GiB 區塊儲存體。除了 VM 之外,Oracle Cloud Infrastructure 還提供功能強大的裸機執行處理,這些執行處理在叢集中連線至無附屬的 25 Gb 網路基礎架構。此組態可保證低延遲和高傳輸量,以提供高效能分散式串流工作負載。
- Kibana
就像主要節點一樣,Kibana 也有相對光源的資源需求。大部分的運算都會植入 Elasticsearch。在此部署中,Kibana 會在主要節點上執行。
推薦
您的需求可能會與此處描述的架構不同。使用下列建議作為起點。
- VCN
建立 VCN 時,請根據計畫連附至 VCN 中子網路的資源數目,判斷所需的 CIDR 區塊數目和各個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。
建立 VCN 之後,您可以變更、新增及移除其 CIDR 區塊。
設計子網路時,請考量您的流量和安全需求。將特定層或角色內的所有資源連附至可作為安全界限的相同子網路。
使用區域子網路。
- 網路安全群組 (NSG)
您可以使用 NSG 來定義一組套用至特定 VNIC 的傳入和傳出規則。建議您使用 NSG 而不要使用安全清單,因為 NSG 可讓您將 VCN 的子網路架構與應用程式的安全需求分開。在參照架構中,所有網路通訊都是透過 NSG 來控制。
- 區塊儲存
此架構使用 200 GB 的區塊儲存體。如果您需要更多空間,建議您設定邏輯磁碟區管理程式 (LVM) 以允許磁碟區成長。每個區塊磁碟區均設定為使用平衡的效能,並提供 35K IOPS 和 480 MBps 的傳輸量。
- 運算資源配置
此架構會在所有資料節點使用虛擬機器資源配置 (VM.Standard2.24)。這些運算執行處理可以 25 Gbps 推送流量,並且提供 320 GB RAM。
考量
- 效能
Elasticsearch 取決於可用的記憶體數量。若要獲得最佳效能,請使用提供您大量記憶體的運算資源配置。您可以使用裸機資源配置,其中最多可獲得 768 GB 的 RAM。
- 使用狀態
容錯域提供可用性網域內的最佳復原能力。如果您需要更高的可用性,請考慮使用多個可用性網域或多個區域來進行部署。
- 擴展性
雖然您可以手動擴展主要節點和資料節點,但建議您使用自動調整將服務因高負載而停止的機會降到最低。自動調整策略必須同時考慮主要節點和資料節點。
- 成本
Elasticsearch 部署的成本取決於您的記憶體和可用性需求。您選擇的運算型態對與此架構關聯的成本有較高的影響。
建置
GitHub 中提供部署此參照架構所需的程式碼。只要按一下即可將程式碼提取至 Oracle Cloud Infrastructure Resource Manager,然後建立堆疊並加以部署。或者,從 GitHub 下載程式碼至您的電腦、自訂程式碼,以及使用 Terraform CLI 建置架構。
- 使用 Oracle Cloud Infrastructure Resource Manager 進行部署:
- 按一下
如果您尚未登入,請輸入租用戶和使用者證明資料。
- 複查並接受條款與條件。
- 選取要建置堆疊的區域。
- 依照畫面上的提示和指示建立堆疊。
- 建立堆疊之後,請按一下 Terraform 動作,然後選取計畫。
- 等待工作完成,然後複查計劃。
若要進行任何變更,請返回「堆疊詳細資訊」頁面,按一下編輯堆疊,然後進行必要的變更。然後,再次執行「計劃」動作。
- 如果不需要進一步的變更,請返回「堆疊詳細資訊」頁面,按一下 Terraform 動作,然後選取套用。
- 按一下
- 使用 Terraform CLI 部署:
- 前往 GitHub。
- 將程式碼下載或複製到您的本機電腦。
- 依照
cluster/single-ad/README.md
中的指示進行。