温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

制作带有kafka插件和es插件的fluentd镜像是怎样的

发布时间:2021-12-15 10:46:27 阅读:280 作者:柒染 栏目:云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章将为大家详细讲解有关制作带有kafka插件和es插件的fluentd镜像是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

前言

Fluentd是用于统一日志记录层的开源数据收集器,是继Kubernetes、Prometheus、Envoy 、CoreDNS 和containerd后的第6个CNCF毕业项目,常用来对比的是elastic的logstash,相对而言fluentd更加轻量灵活,现在发展非常迅速社区很活跃,在编写这篇blog的时候github的star是8.8k,fork是1k就可见一斑.

前提

  1. docker

Dockerfile文件编写

Dockerfile

FROM fluent/fluentd:v1.3.2 ADD fluent.conf /etc/fluent/RUN echo "source 'https://mirrors.tuna.tsinghua.edu.cn/rubygems/'" > Gemfile && gem install bundlerRUN gem install fluent-plugin-kafka -v 0.12.3 --no-documentRUN gem install fluent-plugin-elasticsearch -v 4.0.3 --no-documentCMD ["fluentd"]

fluent.conf

<source>  @type kafka  brokers kafka:9092  format json  <topic>    topic     kafeidou  </topic></source><match *>  @type elasticsearch  host elasticsearch  port 9200  index_name fluentd  type_name fluentd</match>

以版本为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覆盖容器内的默认配置文件.

docker run -it -v {存放fluent.conf的目录}:/etc/fluent -d fluentd-es-kafka:v1.3.2

关于制作带有kafka插件和es插件的fluentd镜像是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/3022563/blog/4923083

AI

开发者交流群×