fluentd 現有的映象不包含kafka外掛程式,所以便自己動手修改dockerfile檔案,生成自己需要的映象。
[root@wk126121 docker]# cat dockerfile
# automatically generated
# do not edit this file directly, use /dockerfile.template.erb
from alpine:3.9
label maintainer "fluentd developers "
label description="fluentd docker image" vendor="fluent organization" version="1.5.1"
# do not split this into multiple run!
# docker creates a layer for every run-statement
# therefore an 'apk delete' has no effect
run apk update \
&& apk add --no-cache \
ca-certificates \
ruby ruby-irb ruby-etc ruby-webrick \
tini \
&& apk add --no-cache --virtual .build-deps \
build-base \
ruby-dev gnupg \
&& echo 'gem: --no-document' >> /etc/gemrc \
&& gem install oj -v 3.3.10 \
&& gem install json -v 2.2.0 \
&& gem install fluentd -v 1.5.1 \
&& gem install bigdecimal -v 1.3.5 \
&& apk del .build-deps \
&& rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem
run addgroup -s fluent && adduser -s -g fluent fluent \
# for log storage (maybe shared with host)
&& mkdir -p /fluentd/log \
# configuration/plugins path (default: copied from .)
&& mkdir -p /fluentd/etc /fluentd/plugins \
&& chown -r fluent /fluentd && chgrp -r fluent /fluentd
#此處為新增,不賦許可權,kafka plugin無法安裝
run chmod 4755 /bin/busybox
run gem install fluent-plugin-kafka --no-document
copy fluent.conf /fluentd/etc/
copy entrypoint.sh /bin/
env fluentd_conf="fluent.conf"
env ld_preload=""
expose 24224 5140
#此處相較於原來的執行entrypoint.sh,我這邊直接執行命令,是因為總是報錯說entrypoint.sh沒有許可權或檔案不存在,無奈之下只能這樣子寫
user root
#entrypoint ["tini", "--", "/bin/entrypoint.sh"]
#cmd ["fluentd"]
entrypoint ["/bin/sh", "-c", "fluentd -c /fluentd/etc/fluent.conf"]
Fluentd收集Docker日誌(1)
1.配置docker全域性變數 1 vi etc docker daemon.json log driver fluentd log opts 2 檢查 etc sysconfig docker中配置的log server 是否已經配置 2.部署fluentd 注意配置檔案 和 log存放路徑 需要...
Fluentd部署 如何監控Fluentd
監控的目的是確保日誌採集能穩定高效執行。fluentd內部執行指標 fluentd內部儲存著一些執行指標,這些指標可通過rest api直接獲取,也支援通過第三方工具,如prometheus,來訪問。prometheus是官方推薦的監控工具。程序監控 fluentd執行後會產生兩個ruby程序,需要...
fluentd學習 安裝使用
fluentd是非常強大的logging工具,幾句話簡單認識下。1.提供日誌的蒐集,過濾,路由功能 2.使用ruby c開發 3.支援多種資料來源的輸入,比如apache的access log,syslogd,業務log 4.支援多種輸出,file,amazon s3,mongodb,mysql,h...