centos7下安裝docker(18.3docker日志---logging driver---fluentd)


前面我們學的ELK中用filebeat收集docker容器日志,利用的是dcoker默認的logging driver json-file,下面我們用fluentd來收集容器日志

 

 

Fluentd是一個開源的數據收集器,他目前又超過500種的plugin,可以連接各種數據源和數據輸出組件。

 

實踐:

fluentd負責收集容器的日志,發送給elasticsearch,日志處理流程如下:

這里我們用filebeat將fluentd收集到的日志轉發給elasticsearch。這當然不是唯一的方案,fluentd有一個plugin,fluentd-plugin-elasticsearch可以直接將日志轉發給elasticsearch,可以根據自己的需要選擇合適的方案。

 

安裝Fluentd

 docker run -d -p 24224:24224 -p 24224:24224/udp -v /data:/fluentd/log fluent/fluentd

 

fluentd會在TCP/UDP端口24224上接收日志數據,日志將保存在Host的/data目錄中

重新配置filebeat

vim /etc/filebeat/filebeat.yml,將/data目錄添加到監控路徑中

重啟filebeat

 

監控容器日志,啟動測試容器

docker run -d --log-driver fluentd --log-opt fluentd-address=localhost:24224 --log-opt tag="log-test-container-A" busybox sh -c 'while true;do echo "this is a log message"'

 

docker run -d --log-driver fluentd --log-opt fluentd-address=localhost:24224

 

busybox sh -c 'while true;do echo "this is a log message"'

--log-driver=fluentd告訴docker使用fluentd的logging driver

--log-opt fluentd-address=localhost:24224將容器日志發送到fluentd的數據接受端口

 --log-opt tag="log-test-container-A"和--log-opt tag="log-test-container-B"在容器中添加一個tag用於區分不同的容器

 

容器啟動后在kibana就可以看到相關容器的日志了

 

 

 

對於容器的日志管理方案,我們由docker logs引出了dcoker logging driver;進而學習了ELK日志處理stack,通過fluentd logging driver,我們很容易的將fluentd接入到日志管理方案中。

 

與容器監控一樣,容器日志管理也是一個百花齊放的,告訴迭代的技術領域。沒有最好的,只有最合適的。

 

不同的企業由不同的部署規模,有自己的管理流程,有各自的業務目標;運維團隊由不同的技術背景,人員結構和工作方式,唯有保持開放的心態,多看,多學,多實踐,才能構建出合適的

 


免責聲明!

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



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