摘要:本文介紹使用收集容器日志的方法。提供了很多,默認情況下使用的,它會把容器打到的日志收集起來存到文件中,所看到的日志就是來自于這些文件。
本文介紹使用Fluentd收集standalone容器日志的方法。
Docker提供了很多l(xiāng)ogging driver,默認情況下使用的json-file,它會把容器打到stdout/stderr的日志收集起來存到j(luò)son文件中,docker logs所看到的日志就是來自于這些json文件。
當(dāng)有多個docker host的時候你會希望能夠把日志匯集起來,集中存放到一處,本文講的是如何通過fluentd logging driver配合fluentd來達成這一目標(biāo)。
目標(biāo):
將standalone容器打到stdout/stderror的日志收集起來
收集的日志根據(jù)容器名分開存儲
日志文件根據(jù)每天滾動
第一步:配置Fluentd實例首先是配置文件fluent.conf:
@type forward @type file path /fluentd/log/${tag}/${tag} append true @type single_value message_key log @type file timekey 1d timekey_wait 10m flush_mode interval flush_interval 30s
新建一個目錄比如/home/ubuntu/container-logs,并賦予權(quán)限chmod 777 /home/ubuntu/container-logs。
然后啟動Fluentd實例,這里使用的Docker方式:
docker run -it -d -p 24224:24224 -v /path/to/conf/fluent.conf:/fluentd/etc/fluent.conf -v /home/ubuntu/container-logs:/fluentd/log fluent/fluentd:v1.3第二步:指定容器的logging driver
在啟動容器的時候執(zhí)行使用fluentd作為logging driver:
docker run -d ... --log-driver=fluentd --log-opt fluentd-address=第三步:觀察日志:24224 --log-opt mode=non-blocking --log-opt tag={{.Name}}
到/home/ubuntu/container-logs目錄下能夠看到類似這樣的目錄結(jié)構(gòu):
. └──參考文檔└── .20190123.log
Configure logging drivers
Customize log driver output
Use Fluentd logging driver
Docker CLI - run
Fluentd
Fluentd - out_file
Fluentd - formatter_single_value
Fluentd - buf_file
Fluentd - buffer
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28075.html
摘要:來自用戶的最佳實踐分享,如何用阿里開源的日志收集工具收集機器上所有應(yīng)用日志。具有如下特性一個單獨的進程收集機器上所有容器的日志。無論是強大的阿里云日志服務(wù),還是比較流行的組合,甚至是,都能把日志投遞到正確的地點。 來自用戶的最佳實踐分享,如何用阿里開源的Docker日志收集工具fluentd-pilot收集機器上所有Docker應(yīng)用日志。 fluentd-pilot簡介 fluentd...
摘要:我推薦你使用進行日志收集,將作為的出口。集群目前暫時沒有提供日志查看機制。以如下的形式啟動容器,容器日志將發(fā)往配置的。 【作者barnett】本文介紹了k8s官方提供的日志收集方法,并介紹了Fluentd日志收集器并與其他產(chǎn)品做了比較。最后介紹了好雨云幫如何對k8s進行改造并使用ZeroMQ以消息的形式將日志傳輸?shù)浇y(tǒng)一的日志處理中心。 容器日志存在形式 目前容器日志有兩種輸出形式: ...
摘要:我推薦你使用進行日志收集,將作為的出口。集群目前暫時沒有提供日志查看機制。以如下的形式啟動容器,容器日志將發(fā)往配置的。 【作者barnett】本文介紹了k8s官方提供的日志收集方法,并介紹了Fluentd日志收集器并與其他產(chǎn)品做了比較。最后介紹了好雨云幫如何對k8s進行改造并使用ZeroMQ以消息的形式將日志傳輸?shù)浇y(tǒng)一的日志處理中心。 容器日志存在形式 目前容器日志有兩種輸出形式: ...
摘要:使用管理日志標(biāo)簽空格分隔日志管理本文作者是,本文原文地址是當(dāng)前版本的一個問題就是日志管理。任何長時間運行的進程產(chǎn)生的日志都是冗長的,這會導(dǎo)致仔細檢查非常困難。所有文件這時能被轉(zhuǎn)發(fā)到一個中央日志系統(tǒng)。 使用 Fluentd 管理 Docker 日志 標(biāo)簽(空格分隔): Fluentd Docker 日志管理 本文作者是 jwilder,本文原文地址是 Docker Log M...
摘要:實現(xiàn)方式是每個掛載目錄使用的插件掃描每個容器日志文件,直接發(fā)送給。首先根據(jù)容器配置的類別調(diào)用返回一個方法類型實質(zhì)就是從工廠類注冊的插件去查找,具體源碼下文分析。在處理中心統(tǒng)一完成下一步處理。直接接收容器的日志。 容器日志 輸出形式: 目前容器日志有兩種輸出形式: stdout,stderr 標(biāo)準(zhǔn)輸出 這種形式的日志輸出我們可以直接使用docker logs查看日志, k8s 集群中同樣...
閱讀 831·2023-04-26 03:04
閱讀 2892·2021-11-15 18:10
閱讀 1224·2021-09-03 10:28
閱讀 1156·2019-08-30 15:53
閱讀 927·2019-08-30 12:45
閱讀 1984·2019-08-30 11:03
閱讀 2892·2019-08-29 14:01
閱讀 2955·2019-08-28 18:24