在雲原生時代和容器化浪潮中,容器的日誌採集是一個看起來不起眼卻又無法忽視的重要議題。對於容器日誌採集我們常用的工具有filebeat和fluentd,兩者對比各有優劣,相比基於ruby的fluentd,考慮到可定製性,我們一般默認選擇golang技術棧的filbeat作為主力的日誌採集agent。
相比較傳統的日誌採集方式,容器化下單節點會運行更多的服務,負載也會有更短的生命週期,而這些更容易對日誌採集agent造成壓力,雖然filebeat足夠輕量級和高性能,但如果不瞭解filebeat的機制,不合理的配置filebeat,實際的生產環境使用中可能也會給我們帶來意想不到的麻煩和難題。