Elasticsearch Kibana ELK stack

ELK基礎實務

蕭宇翔 Rickey Xiao 2025/07/19 16:33:42
13

主題:ELK基礎實務

 

作者:Rickey

來源:ELK專業訓練 外訓分享

內容:安裝及擴展

 

1. 前言

ELK在digi系列的產品中扮演相當重要的角色

希望可以透過這次的分享讓讀者更容易的接觸Elasticsearch

使用自己的電腦實現叢集監控水平擴展的實務運用

*備註:本文章使用Elasticsearch、kibana 9.0.3

 

2. 介紹

Elasticsearch是:「搜尋引擎」也可以當作一個「分散式的資料庫」

*這次我們將利用Elasticsearch分散式的特性,快速的進行水平擴展

Logstash是:一個豐富的過濾器,可以將資料進行過濾,留下想要的欄位

Kibana是:視覺化的工具,將資料繪程圖表以供使用者操作及觀察

*這次我們將使用kibana來監控叢集,獲得基本的情報

Beat是:資料收集的工具,可以收集來自不同設備的log

 

3. 前置動作

至官網下載elasticsearch、kibana的壓縮檔,並且解壓縮

*這邊注意將elasticsearch多解壓縮一份,作為第二的節點使用

解壓縮完後,開啟terminal準備接下來的操作

 

4. 安裝elasticsearch

進入elasticsearch目錄下,並且下命令

./bin/elasticsearch

留在terminal並且等待automatically configured

請務必把資料存下來,這些後續會用到
到這裡後,可以到https://127.0.0.1:9200測試我們的帳號密碼,預設帳號為elastic

當然也可以用視窗操作,到這邊我們就建立好一個透過「https」連線的Elasticsearch了

 

5. 安裝kibana

進入到kibana的目錄下並執行

./bin/kibana

接下來到複製automatically configured的kibana token(第三個ℹ️)

然後使用視窗開啟http://127.0.0.1:5601

接著我們就會看到他打勾勾,然後轉到登入介面,就可以使用剛剛的使用者及密碼進行登入了!

 

6. 開啟kibana監控

這裡我們已經可以讓kibana與elasticsearch建立連線

接下來點選kibana左上角三條線,滑到最下面,有一個「Stack Monitoring」,接著按照圖片操作

到這裡,kibana會自動去修改yml檔案,開啟監控的設定

但是過一段時間會開始報錯「Monitoring Request Error」,這是9版後開始規定的
我們的監控資料要先經過hash!

因此接下來我們要把kibana先暫時關閉,並且對kibana.yml進行編輯

增加以下這一段:

xpack.encryptedSavedObjects.encryptionKey: "ZlfVtuO+fJ5+K6zPnG3V+HSA1uUQbdCsnRWuicGA26s="

那個hash也可以自己生成,使用命令openssl rand -base64 32

新增完後儲存,回到terminal執行

./bin/kibana

回到監控頁面就會看到監控的報表了

 

7. 水平擴展elasticsearch

說到Elasticsearch最為人津津樂道的就是水平擴展了

當然也可以在單機上輕鬆的實現

首先確保原本的(node1)elasticsearch持續啟動,開啟一個新的terminal視窗到(node1)elasticsearch資料夾下執行

./bin/elasticsearch-create-enrollment-token -s node

接著會吐出一串token,這個就像剛剛的kiban一樣,這是接下來水平擴展時,新的節點要與叢集溝通用的token

在同一個terminal視窗下到另一個(node2)elasticsearch的資料夾執行

./bin/elasticsearch --enrollment-token <your token>

最後回到kibana報表畫面,就可以看到node變成2了

 

8. 結語&Recap

Recap:https加密的es叢集建置、水平擴展增加一個elasticsearch節點、kibana監控報表呈現

elasticsearch是個強大的搜尋工具,更是個方便的分散式資料庫,我們可以自由的新增節點,並加入到叢集中

本篇文章帶領讀者透過簡單的步驟,實現了叢集監控水平擴展,建立好的叢集也可以持續使用,更深入的探索Elasticsearch

文章的最後,我們也可以發現,這個頁面同時也是產品中ELK儀表板的頁面~

 

蕭宇翔 Rickey Xiao