這篇文章將為大家詳細講解有關制作帶有kafka插件和es插件的fluentd鏡像是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Fluentd是用于統一日志記錄層的開源數據收集器,是繼Kubernetes、Prometheus、Envoy 、CoreDNS 和containerd后的第6個CNCF畢業項目,常用來對比的是elastic的logstash,相對而言fluentd更加輕量靈活,現在發展非常迅速社區很活躍,在編寫這篇blog的時候github的star是8.8k,fork是1k就可見一斑.
前提docker
Dockerfile文件編寫Dockerfile
FROM fluent/fluentd:v1.3.2fluent.conf
以版本為v1.3.2的fluentd鏡像為基礎鏡像,由于fluentd的處理層擴展是以插件的方式進行擴展,所以在制作這個鏡像時需要安裝對應的kafka插件和elasticsearch插件.
這里kafka的fluentd插件版本為0.12.3,elasticsearch的fluentd插件版本為4.0.3.
Dockerfile和fluent.conf都準備好了,執行制作鏡像命令
docker build -t fluentd-es-kafka:v1.3.2 .這樣一來包含es插件和kafka插件的fluentd鏡像就制作完成了.
運行這樣一個fluentd只需要一條docker命令就可以運行起來.
docker run -it -d fluentd-es-kafka:v1.3.2這個容器會在啟動后開始監聽host為kafka的kafka消息且傳輸數據到host為elasticsearch的elasticsearch節點.
如果是es的節點和kafka的節點地址不一樣,則需要掛在volume覆蓋容器內的默認配置文件.
dockerrun-it-v{存放fluent.conf的目錄}:/etc/fluent-dfluentd-es-kafka:v1.3.2關于制作帶有kafka插件和es插件的fluentd鏡像是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。