使用開源工具fluentd pilot收集容器日誌

2021-09-14 04:58:09 字數 2418 閱讀 6492

來自使用者的最佳實踐分享,如何用阿里開源的docker日誌收集工具fluentd-pilot收集機器上所有docker應用日誌。

fluentd-pilot是阿里開源的docker日誌收集工具,github專案位址 。你可以在每台機器上部署乙個fluentd-pilot例項,就可以收集機器上所有docker應用日誌。

fluentd-pilot 具有如下特性:

我們既然要用fluentd-pilot,就得先把它啟動起來。還要有乙個日誌系統,日誌要集中收集,必然要有乙個中間服務去收集和儲存,所以要先把這種東西準備好。rancher中我們要如何做?如圖,首先我們選擇rancher的應用商店中的elasticsearch和kibana。版本沒有要求,下面使用elasticsearch2.x和kibana4。

其次在rancheragent主機上面部署乙個fluentd-pilot容器,然後在容器裡面啟動的時候,我們要宣告容器的日誌資訊,fluentd-pilot會自動感知所有容器的配置。每次啟動容器或者刪除容器的時候,它能夠看得到,當看到容器有新容器產生之後,它就會自動給新容器按照你的配置生成對應的配置檔案,然後去採集,最後採集回來的日誌同樣也會根據配置傳送到後端儲存裡面去,這裡面後端主要指的elasticsearch或者是sls這樣的系統,接下來你可以在這個系統上面用一些工具來查詢等等。

可根據實際情況,在每台agent定義主機標籤,通過主機標籤在每台rancheragent主機上跑乙個pilot容器。用這個命令來部署,其實現在它是乙個標準的docker映象,內部支援一些後端儲存,可以通過環境變數來指定日誌放到哪兒去,這樣的配置方式會把所有的收集到的日誌全部都傳送到elasticsearch裡面去,當然兩個掛載是需要的,因為它連線docker,要感知到docker裡面所有容器的變化,它要通過這種方式來訪問宿主機的一些資訊。在rancher環境下使用以下docker-compose.yml 應用---->新增應用,在可選docker-compose.yml中新增一下內容。

當你通過部署之後,他會自己在elasticsearch建立索引,就可以在elasticsearch的kopf上面看到會生成兩個東西,都是自動建立好的,不用管一些配置,你唯一要做的事是什麼呢?就可以在kibana上建立日誌index pattern了。然後到日誌搜尋介面,可以看到從哪過來的,這條日誌的內容是什麼,這些資訊都已經很快的出現了。

啟動tomcat的時候,我們宣告了這樣下面兩個,告訴fluentd-pilot這個容器的日誌位置。

aliyun.logs.tomcat1-access   /opt/apache-tomcat-8.0.14/logs/localhost_access_log.*.txt 

aliyun.logs.catalina stdout

你還可以在應用容器上新增更多的標籤

aliyun.logs.$name = $path

aliyun.logs.$name.format,日誌格式,目前支援

aliyun.logs.$name.tags: 上報日誌的時候,額外增加的字段,格式為k1=v1,k2=v2,每個key-value之間使用逗號分隔,例如

開源資料探索工具 使用開源工具探索氣候資料

開源資料探索工具 這些天,您無法在任何地方看東西,而看不到地球上不斷變化的天氣模式的證據。每個月,我們面臨著指向地球正在變暖的事實和資料。氣候科學家警告我們,不採取行動可能會危害我們這裡的未來。五角大樓的軍事戰略家最近警告當選 川普,對氣候變化的不作為可能給我們的 帶來災難,因為水 的減少和降雨不足...

開源工具推薦

作為乙個軟體開發人員,使用盜版軟體實在是有點搬石頭砸自己的腳。不過作為乙個沒有錢的軟體開發者,還是希望可以使用免費的軟體。如果您也有我這樣的矛盾心理,就不妨瀏覽一下此 1.7 zip 一款很好用的壓縮軟體,可以代替winrar。2.notepad 一款十分好用的文字編輯軟體,可以替代ue了。3.to...

工具 開源文章

1.讓我們來搞崩 cocoa 吧 有時候搞崩程式比編寫它們更有趣,看看作者怎麼整跨oc吧。2.core data 多執行緒大量資料同步 作者看到乙個面試題後,整理的一篇關於core data 在多執行緒中處理大資料的注意事項的文章,總結得很好。1.ios使用quartzcode設計動畫,快速得到ob...