ELK
是三個開源項目的首字母縮寫,這三個項目分別是:Elasticsearch、Logstash 和 Kibana,這三個軟體可以組合形成一套可視化的日誌分析系統。
filebeat --> logstash --> elasticsearch --> kibana
由上面簡易的架構圖,可以看出經Filebeat收集資料,再透過Logstash進行過濾和建立索引後,送到Elasticsearch是儲存資料,Kibana則是給用戶進行查詢和視覺化界面用,簡單來說這就是一個elk工作流程。
Elasticsearch 是一個搜索和分析引擎,它提供了一個分散式、支持多用戶的全文搜索引擎,具HTTP Web接口和JSON檔案。
Logstash 是一個用於資料收集、分析、過濾的處理管道,能夠同時從多個來源取得資料後,再將資料處理並儲存(Elasticsearch)。
Kibana 是一個可以讓用戶在查詢Elasticsearch中的資料,並且可以對資料進行視覺化(圖表),可以方便用戶對資料進行分析和查詢。
Filebeat 是一個輕量級的資料收集工具,可以監聽指定的log位置,然後收集資料並傳送到logstash或elasticsearch。
接下來我們會準備用elk來去查詢、分析,以及如何監控elk上的log資料。在監控elk的log資料部分,之前我們有說明過log有分等級,所以我們在監控elk並不是對全部log都監控,會針對warning
以上的log進行監控,以便我們在系統發生問題時能第一時間收到通知。