ELK基礎實務
主題: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儀表板的頁面~