日志系统重构之多源聚合的采集器-阿里云开发者社区

开发者社区> nicenelly> 正文

日志系统重构之多源聚合的采集器

简介: 最近对日志系统的采集机制进行了重构,增强了对单一主机上多个日志源采集的便捷性。 重构之前 重构之前的设计以日志类型为中心,一个日志类型对应一个独立的flume的配置模板,一个日志类型的一个日志源(具体到某个节点上特定的日志文件)对应一个flume配置文件(也即一个flume agent)。
+关注继续查看

最近对日志系统的采集机制进行了重构,增强了对单一主机上多个日志源采集的便捷性。

重构之前

重构之前的设计以日志类型为中心,一个日志类型对应一个独立的flume的配置模板,一个日志类型的一个日志源(具体到某个节点上特定的日志文件)对应一个flume配置文件(也即一个flume agent)。flume配置模板主要针对这个日志类型的日志文件名称是否存在多行日志日志首字符目标接收方有关的配置等固定属性。光靠这些配置还不够,因为这些日志类型所对应的日志会存在于各个具体的主机节点以及可能不同的文件系统路径下,所以针对某个日志类型的日志源还需要配置日志文件路径日志文件名称的模式采集器元数据存储路径等动态属性。

这里管控台的设计完全没有按照flume里sourcechannelsink区分开来。sink的配置是混合在flume配置模板里。

管控台的功能逻辑图:

console-design-before-refactor

重构前zk Path设计:

design-before-refactor

重构前采集器的物理部署图:

deploy-before-refactor

重构之后

我们的目标是减少同一个物理主机上采集器的部署成本,最好能一个物理主机部署一个采集器,而这个采集器支持多个日志源的采集。正好在当前版本的flume(v1.6.0)是支持 一个agent里多个日志流。因此,在重构的时候,改为以agent为中心,并重新规划了管控台的功能:

  • 采集源模板
  • 采集器
  • 采集源
  • 采集槽

重构之后管控台的功能逻辑图:

console-design-after-refactor

重构后的zk path设计:

design-after-refactor

重构后的物理部署图:

deploy-after-refactor

总结

其实不难看出,管控台的功能逻辑以生成flume配置文件为目标。所以设计的变更主要体现在管控台如何组织和管理这些元数据信息。


原文发布时间为:2016-02-10

本文作者:vinoYang

本文来自云栖社区合作伙伴CSDN博客,了解相关信息可以关注CSDN博客。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)
目       录 工业物联网和集成系统解决方案的技术路线... 1 前言... 1 第一章           系统架构... 3 1.1           硬件构架图... 3 1.2           组件构架图.
1188 0
袋鼠云研发手记 | 数栈DTinsight:详解FlinkX中的断点续传和实时采集
数栈-离线开发平台(BatchWorks) 中的数据离线同步任务、数栈-实时开发平台(StreamWorks)中的数据实时采集任务已经统一基于FlinkX来实现。
1677 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4479 0
带噪声的1KHz微弱信号采集系统设计仿真及制PCB板过程
一、题目:基于单片机的系统设计    增加:增加前端模拟部分信号处理 仪器放大器+带通滤波器 功能:实现对带噪声的1KHz微弱信号的数据采集(信号幅度100mV) 二、设计要求及完成情况   1、四层板,大小150mm*95mm      ①实验截图    ②问题及心得    书中和许多的教程中只有双层板的教学,打开原理图布局的时候,下方的标签显示的是Top Layer和Bottom Layer,也就是仅有两层的板子。
1014 0
利用Spark Streaming实现分布式采集系统
之前我在微信朋友圈发了一段话,说明Spark Streaming 不仅仅是流式计算,也是一类通用的模式,可以让你只关注业务逻辑而无需关注分布式相关的问题而迅速解决业务问题.
3052 0
阿里云服务器远程登录用户名和密码的查询方法
阿里云服务器远程连接登录用户名和密码在哪查看?阿里云服务器默认密码是什么?云服务器系统不同默认用户名不同
443 0
日志采集框架Flume以及Flume的安装部署(一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统)
Flume支持众多的source和sink类型,详细手册可参考官方文档,更多source和sink组件 http://flume.apache.org/FlumeUserGuide.html Flume官网入门指南:  1:Flume的概述和介绍: (1):Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。
1820 0
+关注
716
文章
646
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载