docker容器日志收集方案匯總評價總結


docker日志收集方案有太多,下面截圖羅列docker官方給的日志收集方案(詳細請轉docker官方文檔)。很多方案都不適合我們下面的系列文章沒有說。

 

 

經過以下5篇博客的敘述簡單說下docker容器日志采集方案

docker容器日志收集方案(方案一 filebeat+本地日志收集)
docker容器日志收集方案(方案二 filebeat+syslog本地日志收集)
docker容器日志收集方案(方案三 filebeat+journald本地日志收集)
docker容器日志收集方案(方案四,目前使用的方案)
docker容器日志收集方案(方案N,其他中間件傳輸方案)

docker日志收集方案基本歸為兩類:

1、本地存儲

2、遠程輸出

由於docker的特殊性大部分采用的都是遠程即時輸出方案,比如阿里雲,亞馬遜雲,都有自己的插件

各有優劣勢,不過總體趨勢肯定是遠程即時傳輸方式,如果網絡有壓力,進行日志壓縮傳輸。


本地存儲然后在掃描傳輸實際上是把積壓問題放在了虛擬機上面。這種方案是基於虛擬機時代虛擬化技術的方案

如果在容器內部放置日志掃描程序,首先會導致容器運行兩個進程,這是docker官方不推薦的(https://docs.docker-cn.com/engine/admin/multi-service_container/),

會造成不必要的麻煩引起問題不便追查(黑盒),增加了使用難度。


其實我們還可以通過容器卷來吧日志輸出到指定目錄但是使用集群之后,

容器卷是建立在操作系統文件系統之上的,就需要針對卷做可移植操作,

同樣是使用成本增加,因為如果使用的是docker集群要保證每台宿主機能訪問相同的卷,

我們要做集中存儲(集中存儲我們數據庫才有這個待遇啊!!!


對於docker容器虛擬化技術有幾個特點

    1、容器在集群宿主之間會漂移,每漂移一次容器ID會變更,所以跟着容器相關都會換掉,當然給容器起的名字不會換掉,不過那只是在集群中標記(更直白的說這個名字是存儲在第三方鍵值對進行對應的是docker引擎維護的)。

    2、容器是黑盒封閉性的,把日志先輸出到容器內部不符合新一代容器技術的理念,處理不好會造成大量垃圾文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM