如何開始搭建Elastic Stack及使用方式介紹-下

  • .env: ELK版本參數
  • docker-compose.yml: container相關設定

3.建立Container

在docker-compose.yml的路徑下執行 docker-compose up -d

首次抓取Image會需要較長時間

4.確認Container狀態

執行docker ps,結果應類似下圖啟動四個Container

5.確認ES狀態

透過瀏覽器連到 http://localhost:9200

輸入帳號elastic,密碼changeme 後應該可以看到以下畫面

6.登入Kibana測試

透過瀏覽器連到 http://localhost:5601,使用Elasticsearch帳號密碼登入

匯入資料

在Logstash的pipeline中有http input的範例,透過postman進行DEMO

查看資料

可以透過Kibana的Discover或Dev Tool直接call es api查詢
要在Kibana上使用資料的話需要先Create Index Pattern

1.從Menu中選擇Discover

2.建立 Index Pattern
由於Kibana目前沒有建立任何的 Index Patter,頁面會直接導頁至Stack Management / Index patterns,點選Create index pattern

 2.1 輸入 Index Pattern Name,通常log可能會以按年月日或編碼等方式切分,透過萬用字元*可以匹配多個Index,並且選擇在Kibana作為時間判斷的欄位,後續在Kibana上使用時間區間時便是以此欄為基準。

建立完Index Pattern後,可以看到該Index Pattern的Schema,也可以在這邊設置scripted fields

3.透過Discover查看詳細Log資訊

ELK應用場境

Elasticsearch核心為搜尋引擎,全文檢索是它的強項

例如最常見的Log集中收容及分析,在越來越多應用微服務化的情況下,原來的Log File也越來越分散且數量也變的更多,ELK讓資訊人員能夠在統一介面上一次查詢到所有服務的Log,藉由全文檢索快速定位到有問題的Log,能夠大量減少資訊人員去翻查原始的Log File,並且搭配Kibana建立儀表板。

能從Log中解析越多資訊,就能以各種維度去進行視覺化,幫助維運人員了解系統的概況,從而優化系統。

Elastic Stack也針對市面常見的軟體提供許多Pre-build好的Module及儀表板

下圖為Nginx Log Overview Dashboard

除了Log分析以外,搭配Metricbeat採集系統或應用程式的各項指標,常見的CPU / Memory / Disk / Memory等,再到K8s Cluster狀態,讓維運人員除了從Log以外,也能夠了解到當時的硬體資源是否有瓶頸或異常。

隨著Elastic Stack生態系的發展,有越來越多的應用方式

  • 戰情中心

  • APM

  • 異常偵測

  • 推薦系統

  • 帳務查詢

  • SIEM

    ….

透過Elasticsearch強大的搜尋能力及擴容性,以及Logstash多元的整合方案,最後搭配上Kibana簡單易懂的介面,不論是直接使用或是整合其他系統,Elastic Stack都能夠給予優質的體驗。

立即訂閱電子報

掌握最新科技趨勢!