EFK(1) - 介紹 ELK Stack( Elasticsearch + Logstash + Kibana)
ELK
整體架構
- 最左邊的 Logstash Shipper 用來運送 Log 到 Log 處理中心。
- Redis 當做 Buffer 來緩衝資料量瞬間爆量的問題。
- 右邊的 Logstash 將 Log 加工成 Elasticserach、Kibana 可以處理的格式。
- Kibana 是一個後台,可以看到我們所有蒐集的 Log,輸入搜尋條件後就可以很快的找到需要的資料。
為什麼我們要蒐集 log?
- 想像一下在被攻擊時我想列出某一ip的所有記錄或是某個使用者的行為蹤跡,以做對應的處理。
- 伺服器在記憶體標高的那段時間系統到底做了些什麼事情,可以幫助我們迅速找到系統問題、對症下藥。
Logstash
Logstash 是一套 Log 分析框架,可以幫助我們處理各式各樣的 Log
2.1 Beats 介紹
Beat 即為 logstash forwarder 又稱為 shipper,因為之前的 logstash forwarder 有著效能問題,elastic.co 公司推出 Beat 來取代之。除了原本的 log 蒐集(filebeat)以外,也可以監控系統狀態(metricbeat),或是伺服器網路是否正常運作(heartbeat)
除此之外,社群上也有大量各式各樣的 Beat (Community Beats | Beats Platform Reference 5.2 | Elastic) 可以使用
Elasticsearch
Kibana
Kibana 是一個可以顯示 Logstash 處理後格式的後台。資料儲存於 Elasticsearch。
整理與視覺化我們需要的資料。