云端技能包 | 百亿级日志之云原生实时流实战(2)
上一期内容中,我们简单为大家介绍了fluentd、docker和日志采集器的架构。现在,我们开始实操。
【 SpotMax 解决方案充分利用了云原生特性,基于微服务架构,可在保障用户服务稳定的同时充分利用Spot实例,实现云端降本增效。戳链接了解SpotMax】
首先来看一下dockerfile,我们可以去fluentd的官网上(docs.fluentd.org)获取基础镜像:
然后我们可以通过run加上一些命令,对容器做初始化:
有了docker file,我们就可以通过docker build,来创建一个镜像。-t后面是镜像名称,冒号:后面是一个版本:
创建完镜像之后,我们可以通过docker image,获取镜像列表:
我们也可以把镜像推到远程docker hub里。Docker hub是官网的远程管理功能,可以免费注册:
我们通过docker login登录之后,再通过docker push就可以把镜像推送到远程了:
现在已经有了一个镜像,我们来run一个container。
首先,跑一个临时的容器。--rm代表运行临时容器,--network host代表用一个host的网络连接模式;-v代表把本地的一个目录,挂载到容器上的目录;最后面跟的是一个命令,指的是fluentd的client端的配置,server端同理:
我们来看一下client端的配置写了些什么:
source代表来源;
@type后面是插件名称(tail)
Path后面是我们要去读的本地日志,以及相应的pos_file、日志tag(这里取名为test)
接下来,我们match tag,就可以利用forward(output插件),通过tcp、udp的方式打到另外一个服务集群。
现在,我们再来看一下fluentd的server端配置:
通过forward插件,我们可以监听24224端口,拿到日志流,再通过match tag (即前面的test),用stdoutput直接输出,我们也可以把它打到kafka,或者运行自己的插件等。
现在来运行一下看看效果:
首先我们跑一下fluentd的server端,可以看到已经在监听了:
再看看fluentd的client端,如图,可以看到它现在已经在读容器里面的一个日志文件:
由于这个容器的目录,已经绑定在宿主机的一个目录上,我们可以通过下图中标示出的这条命令(每秒钟打一个just for fun),往日志中打一些消息:
可以看到,server端已经能够正常接收到消息(just for fun):
我们整个演示都是跑在docker容器上的,我们可以通过docker ps去看容器的列表:如图所示,已经起了两个容器,我们可以用 docker kill,去kill一个容器:
未来的节目中,我们将会介绍怎么样把日志采集器部署到k8s上面去,下次我们再见。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
让您的应用支持新式的 Emoji 符号吧!
Emoji 已无处不在,自发布以来 emoji 已成为我们语言中不可或缺的一部分,它生动有效的表达力带来了语言文字层面的变革。您可能不会想到,连银行应用、健身应用或外卖应用也都应该支持 emoji。Emoji 现在已经遍布短信等通讯应用,已经成为我们语言的一部分。如果您的应用包含文本视图,那么它应该支持 emoji,至于原因,且听我娓娓道来。🥳 遇到的问题 😖 如果您的应用没有对 emoji 进行相应的处理,较早版本的 Android 可能不知道如何去显示它们。在大多数情况下,只会显示一个空白方格,我们称之为 "豆腐"。在未正确处理 emoji 的应用中,在原本应该显示 emoji 的位置将会显示出一个 "豆腐块",这可能会给用户带来困惑。例如,如果用户在 TODO 应用的任务列表里,向 EditText 中添加一个 🐶 表情,此时用户看到 "豆腐" 出现在屏幕上而没有显示输入的 🐶 表情时,用户则会认为应用存在 bug。 为了使 emoji 更加有趣,在很多情况下,一个 emoji 是由其它多个 emoji 组成的。比如 💪🏾 是 💪 和 🟫 的组合。 如果您输入肌肉...
- 下一篇
云溪数据库事务模型简介
一. 架构介绍 从宏观上看,云溪数据库由两部分组成:上层的SQL引擎和下层的作为一个整体的分布式KV数据库。任何针对于数据库的SQL操作,经过SQL引擎的解析之后,都会把它们分解成一组组的kv操作,比如“select * from t”会被分解成scan操作,”update t set a = 1”会被分解成scan和put(conditionalPut)操作......事务主要是在下层的KV数据库对kv操作进行调度,以完成对更底层的存储引擎的并发读写。 二.Percolar事务模型介绍 云溪数据库的事务模型是从Percolator发展而来。Percolator是构建在BigTable之上的,通过提供一个TSO中央授时服务和一个client lib来封装BigTable的接口,最终将BigTable改造成了一个带有ACID快照隔离语义的支持跨行、跨表事务的分布式多维map。 Percolator的特点是没有集中式的事务处理措施,比如中心事务管理器、全局死锁探测器......事务产生的锁也是和数据关联在一起分布式存储的。就事务的角度而言,全局的唯一单点就是TSO。因此Percolator...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Hadoop3单机部署,实现最简伪集群
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7安装Docker,走上虚拟化容器引擎之路