前情提要:每當我與人談到「EFK」,總有高機率會被問是在說「ELK」嗎?於是去查了一下資料,順便做個簡單筆記~
兩者都是常見的日誌收集與分析堆疊(log stack),只是中間的「Log」元件不同:
ELK Stack 是:
這是最早期的經典組合,廣泛被使用。
EFK Stack 是:
很多 雲原生環境(Cloud-native)或 Kubernetes 環境,會偏好使用 Fluentd 替代 Logstash,因為:
EFK 和 ELK 都是日誌系統的架構組合,差別在於中間那個「L」或「F」:
雖然ELK 的安裝和配置比較麻煩,但功能也更加強大。而Fluentd 相較於 Logstash 更輕量、記憶體消耗更低,而且在 Kubernetes 裡面更容易部署(比如用 DaemonSet),所以我們現在使用 EFK 來收集和分析日誌會更符合實際需求。
所以說 EFK 並不是錯,而是 ELK 的一種替代方案。
主要原因是:
EFK stack Kubernetes
、EFK vs ELK
、Fluentd vs Logstash