fluentd 生成docker映象

2021-09-24 10:31:57 字數 1967 閱讀 3482

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...