云端技能包 | 百亿级日志之云原生实时流实战(2)

上一期内容中,我们简单为大家介绍了fluentd、docker和日志采集器的架构。现在,我们开始实操。

【 SpotMax 解决方案充分利用了云原生特性,基于微服务架构,可在保障用户服务稳定的同时充分利用Spot实例,实现云端降本增效。戳链接了解SpotMax

首先来看一下dockerfile,我们可以去fluentd的官网上docs.fluentd.org获取基础镜像

然后我们可以通过run加上一些命令,对容器做初始化

有了docker file,我们就可以通过docker  build,来创建一个镜像。-t后面是镜像名称,冒号:后面是一个版本

创建完镜像之后,我们可以通过docker image,获取镜像:

我们也可以把镜像推到远程docker hubDocker hub是官网的远程管理功能,可以免费注册

我们通过docker login登录之后,再通过docker push就可以把镜像推送到远程了

现在已经一个镜像,我们来run一个container。

首先,跑一个临时的容器--rm代表运行临时容器,--network host代表用一个host的网络连接模式-v代表把本地的一个目录,挂载到容器上的目录;最后面跟的是一个命令指的是fluentdclient端的配置,server端同理:

我们来看一下client端的配置写了些什么

source代表来源

@type后面是插件名称(tail)

Path后面我们要去读的本地日志,以及相应的pos_file、日志tag(这里取名为test)

接下来,我们match tag,就可以利用forward(output插件),通过tcpudp的方式打到另外一个服务集群。

现在我们再来看一下fluentd的server配置:

通过forward插件,我们可以监听24224端口,拿到日志流,再通过match tag (即前面的test),用stdoutput直接输出,我们也可以把它打到kafka,或者运行自己的插件等

现在来运行一下看看效果:

首先我们跑一下fluentdserver端,可以看到已经在监听了

再看看fluentd的client端,如图,可以看到它现在已经在读容器里面的一个日志文件

由于这个容器的目录,已经绑定在宿主的一个目录上我们可以通过下图中标示出的这条命令每秒钟打一个just for fun,往日志中打一些消息

可以看到server端已经能够正常接收到消息(just for fun):

我们整个演示都是跑在docker容器上的,我们可以通过docker ps去看容器的列表如图所示,已经起了两个容器我们可以 docker kill,去kill一个容器

未来的节目中,我们将会介绍怎么样把日志采集器部署到k8s上面去,下次我们再见。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/5173391/blog/5376948

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。