一种基于分布式的海量日志采集系统技术方案

技术编号:10418526 阅读:116 留言:0更新日期:2014-09-12 10:37
本发明专利技术公开了一种基于分布式的海量日志采集系统,该系统包括数据源层、分布式缓存层、分布式存储与计算层、业务处理层、可视化展示层和统一调度与管理模块。通过本发明专利技术能够有效应对日志采集与高速入库的问题,同时,使用分布式存储与搜索引擎技术,加快查找与检索的速度,从而实现了高速、准确、可靠地对海量日志进行采集与分析。

【技术实现步骤摘要】
一种基于分布式的海量日志采集系统
本专利技术涉及计算机
,尤其涉及一种基于分布式的海量日志采集系统。
技术介绍
随着云计算、移动互联网、物联网的崛起与发展,大数据的时代已经来临。对大数据业务系统进行日志采集与分析,是评价节点主机健康度、对系统出现的问题进行分析、展示各类报表的依据所在。开源的海量日志解决方案有很多,例如FaceBook的Scribe、Apache的Chukwa> LinkedIn的Kafka、Cloudera的Flume等,也有综合的解决方案,例如Kibana+Elasticsearch+LogStash、LogAnalyzer+MySQL+RSyslog> Splunk0 这些角军决方案,他们都具备三个基本组件,分别为agent、collector和store,其中agent封装数据源,将数据源中的数据发送给collector,collector接收多个agent的数据,并进行汇总后导入后端的store中,store为中央存储系统,应该具有可扩展性和可靠性,应该支持当前非常流行的HDFS。agent必须安装部署在进行日志采集的主机上面,还要配置相关参数以确定collector所在主机的位置。但是该方法中服务器端的安装部署比较麻烦,大部分都需要使用源代码进行编译安装,而且,开源的软件基本是国外的软件,由于中国大陆对国外大部分网站的封锁以及国外某些网站对中国的封锁,因此,有可能下载依赖软件的时候,会出现拒绝连接的问题。Storm是一个实时流计算框架,可以以近实时的速度对输入源进行处理,然后输出。Storm具有如下的特性:易于扩展。Storm使用Zookeeper进行集群协调,这样可以充分保证大型集群的良好运行。每条消息的处理都可以得到保证。Storm集群管理简易。Storm的容错机能很好。一旦Topology递交,Storm会一直运行它直到Topology被废除或者被关闭。而在执行中出现错误时,也会由Storm重新分配任务。—般使用Java,但是Storm中的Topology可以用任何语言设计。但是Storm的Topology的业务逻辑,需要自己写代码实现,一定要在Spout中指定数据来源。
技术实现思路
本专利技术为了解决现有技术中的不足和缺陷,提出一种基于分布式的海量日志采集系统,可以有效应对日志采集与高速入库的问题,同时,使用分布式存储与搜索引擎技术,加快查找与检索的速度,从而实现了高速、准确、可靠地对海量日志进行采集与分析。一种基于分布式的海量日志采集系统,其通过在目标主机上安装Agent进程,对目标主机的文本、应用程序、数据库等日志信息进行有选择地定向推送到服务器集群的统一访问接口,服务器端采用了分布式缓存与实时流处理框架技术;该系统包括数据源层、分布式缓存层、分布式存储与计算层、业务处理层、可视化展示层和统一调度与管理模块。数据源层,由数据采集组件(生产者)模块对各个节点上面的文本、应用程序、数据库等进行采集,推送到分布式缓存层。分布式缓存层,由LVS对各个节点的消息队列组件进行负载均衡,提供一个统一的接口来接收并写入数据源节点推送过来的数据,等待分布式存储与计算层的数据采集组件(消费者)来读取。分布式存储与计算层,提供存储与计算的功能,包括数据采集组件(消费者)模块、离线计算模块、实时计算模块、分布式存储和搜索引擎;其中,数据采集组件(消费者)模块负责对分布式缓存层进行数据读取;离线计算模块由Hadoop及其生态系统组成;实时计算模块由Storm组成。业务处理层,提供统计分析和数据挖掘的功能与服务,由上层进行调用。可视化展示层,提供普通查询、全文检索、报表展示、导入导出等功能。统一调度与管理模块,对上述5层进行统一的调度与管理,基于工作流,自动化处理。本专利技术技术方案带来的有益效果:1、由于使用了 Storm实时流处理框架技术,因此,可以近实时地对Kafka分布式缓存中的消息进行处理并分类。2、推送日志与读取日志是异步进行的,可以不用感知相互的存在,只需要往分布式消息队列Kafka里面写入或者读取即可。3、每分钟可以处理100万条记录,可以有效应对大数据数据采集的问题,产生经济效益。4、系统具有高可靠性,保证每条记录被处理。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本专利技术中分布式数据采集系统的系统架构图;图2是本专利技术中数据采集子系统的组成架构图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本文提出了一种基于分布式的海量日志采集系统,通过在目标主机上安装Agent进程,对目标主机的文本、应用程序、数据库等日志信息进行有选择地定向推送到服务器集群的统一访问接口,服务器端采用了分布式缓存与实时流处理框架技术。通过本专利技术解决了现有技术中使用传统的日志采集技术,对海量日志进行采集的过程中会出现上传速度超过采集处理入库速度,导致系统假死或者日志记录丢失;使用开源的分布式日志采集组件,需要在各个节点安装与配置Agent,某些Agent需要依赖很多第三方软件,由于网络等原因,无法安装完成的缺点或不足,能够有效应对日志采集与高速入库的问题,同时,使用分布式存储与搜索引擎技术,加快查找与检索的速度,从而实现了高速、准确、可靠地对海量日志进行采集与分析。如图1所示为一种基于分布式的海量日志采集系统的系统架构图。本系统包括数据源层、分布式缓存层、分布式存储与计算层、业务处理层、可视化展示层和统一调度与管理模块。数据源层,由数据采集组件(生产者)模块对各个节点上面的文本、应用程序、数据库等进行采集,推送到分布式缓存层。分布式缓存层,由LVS对各个节点的消息队列组件进行负载均衡,提供一个统一的接口来接收并写入数据源节点推送过来的数据,等待分布式存储与计算层的数据采集组件(消费者)来读取。分布式存储与计算层,提供存储与计算的功能,包括数据采集组件(消费者)模块、离线计算模块、实时计算模块、分布式存储和搜索引擎。其中,数据采集组件(消费者)模块负责对分布式缓存层进行数据读取;离线计算模块由Hadoop及其生态系统组成;实时计算模块由Storm组成。业务处理层,提供统计分析和数据挖掘的功能与服务,由上层进行调用。可视化展示层,提供普通查询、全文检索、报表展示、导入导出等功能。统一调度与管理模块,对上述5层进行统一的调度与管理,基于工作流,自动化处理。数据采集子系统是分布式日志采集系统的核心组成部分,包括数据源层、分布式缓存层、数据处理层和持久化层,其可以独立出来成为一个新的系统。其中,数据源层即分布式日志采集系统的数据源层;分布式缓存层即分布式日志采集系统的分布式缓存层;数据处理层即分布式日志采集系统的分布式存储与计算本文档来自技高网
...

【技术保护点】
一种基于分布式的海量日志采集系统,其特征在于,该系统通过在目标主机上安装Agent进程,对目标主机的文本、应用程序、数据库等日志信息进行有选择地定向推送到服务器集群的统一访问接口,服务器端采用了分布式缓存与实时流处理框架技术;该系统包括数据源层、分布式缓存层、分布式存储与计算层、业务处理层、可视化展示层和统一调度与管理模块;数据源层,由数据采集组件(生产者)模块对各个节点上面的文本、应用程序、数据库等进行采集,推送到分布式缓存层;分布式缓存层,由LVS对各个节点的消息队列组件进行负载均衡,提供一个统一的接口来接收并写入数据源节点推送过来的数据,等待分布式存储与计算层的数据采集组件(消费者)来读取;分布式存储与计算层,提供存储与计算的功能,包括数据采集组件(消费者)模块、离线计算模块、实时计算模块、分布式存储和搜索引擎;其中,数据采集组件(消费者)模块负责对分布式缓存层进行数据读取;离线计算模块由Hadoop及其生态系统组成;实时计算模块由Storm组成;业务处理层,提供统计分析和数据挖掘的功能与服务,由上层进行调用;可视化展示层,提供普通查询、全文检索、报表展示、导入导出等功能;统一调度与管理模块,对上述5层进行统一的调度与管理,基于工作流,自动化处理。...

【技术特征摘要】
1.一种基于分布式的海量日志采集系统,其特征在于,该系统通过在目标主机上安装Agent进程,对目标主机的文本、应用程序、数据库等日志信息进行有选择地定向推送到服务器集群的统一访问接口,服务器端采用了分布式缓存与实时流处理框架技术;该系统包括数据源层、分布式缓存层、分布式存储与计算层、业务处理层、可视化展示层和统一调度与管理模块; 数据源层,由数据采集组件(生产者)模块对各个节点上面的文本、应用程序、数据库等进行采集,推送到分布式缓存层; 分布式缓存层,由LVS对各个节点的消息队列组件进行负载均衡,提供一个统一的接口来接收并写入数据源节点推送过来的数据,等待分布式存储与计算层的数据采集组件(消费者)来读取; 分布式存储与计算层,提供存储与计算的功能,包括数据采集组件(消费者)模块、离线计算模块、实时计算模块、分布式存储和搜索引擎;其中,数据采集组件(消费者)模块负责对分布式缓存层进行数据读取;离线计算模块由Hadoop及其生态系统组成;实时计算模块由Storm组成; 业务处理层,提供统计分析和数据挖掘的功能与服务,由上层进行调用; 可视化展示层,提供普通查询、全文检索、报表展示、导入导出等功能; 统一调度与管理模块,对上述5层进行统一的调度与管理,基于工作流,自动化处理。2.根据权利要求1所述的系统,其特征在于,该系统的数据源层、分布式缓存层、分布式存储与计算层的实时计算模块和分布式存储模块、统一调度与管理模块是分布式日志采集系统的核心部分,即数据采集子系统,其包括数据源层、分布式缓存层、数据处理层和持久化层,其可以独立出来成为一个新的系统;其中,数据源层即分布式日志采集系统的数据源层;分布式缓存层即分布式日志采集系统的分布式缓存层;数据处理层即分布式日志采集系统的分布式存储与计算层的实时计算模块和统一调度与管理模块;持久化层即分布式日志采集系统的分布式存储与计算层的分布式存储模块。3.根据权利要求2所述的系统,其特征在于,数据源层,包括很多的数据节点主机,每个主机上都安装了数据采集组件(生产者)模块,会启动Agent进程来负责接收服务端的采集指令,把本节点的文本、应用程序、数据库等数据推送到服务器集群中的统一访问接口中; 分布式缓存层,位于服务器集群里面,其主要由LVS负责把数据自动转发到Kafka集群中的...

【专利技术属性】
技术研发人员:杨育斌柯宗贵赵必厦
申请(专利权)人:蓝盾信息安全技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1