一种基于分布式采集的日志分析系统及方法技术方案

技术编号:14483339 阅读:71 留言:0更新日期:2017-01-26 02:51
本发明专利技术公开了一种基于分布式采集的日志分析系统,该系统包括日志文件收集应用模块、日志接收应用集群模块、分布式日志存储模块和Zookeeper注册中心集群模块。此外,本发明专利技术还公开了一种基于分布式采集的日志分析方法。通过本发明专利技术提升了日志处理层和日志存储层的水平扩展能力,同时利用线程隔离原理通过对每次请求生成请求标识(TracingID)做到对跨服务调用日志的分组,清晰定位服务调用过程中的数据日志流转以及异常详情。

【技术实现步骤摘要】

本专利技术涉及数据处理
,尤其涉及一种基于分布式采集的日志分析系统及方法
技术介绍
由于电信系统的交易的数据量非常庞大、应用服务多且应用服务大多采用集群部署每天会产生大量的日志,一般为流式数据,如搜索引擎的pv,查询等,这些日志存放相互独立,无法对这些日志进行统一管理和关联分析。如何通过对它们分析及时了解系统状况,发现系统异常,并在第一时间对异常事件做出快速响应,是网络与系统管理亟待解决的问题。
技术实现思路
本专利技术的目的是为了克服现有技术的缺陷,提供一种基于分布式采集的日志分析系统及方法,通过本专利技术提升了日志处理层和日志存储层的水平扩展能力,同时能够清晰定位服务调用过程中的数据日志流转以及异常详情。为实现上述目的,本专利技术提供了一种基于分布式采集的日志分析系统,该系统包括日志文件收集应用模块、日志接收应用集群模块、分布式日志存储模块和Zookeeper注册中心集群模块。日志文件收集应用模块,收集监视当前机器的组件日志文件,组件包括业务系统、web容器、redis服务,监测到日志文件有增量后通过过滤器对日志进行预处理,并从Zookeeper注册中心集群模块获取接收处理器的可用实例发送到接收处理器。日志接收应用集群模块,采用集群负载均衡方式,日志处理器实例以集群形式存在并注册到Zookeeper注册中心集群模块,接收从收集应用模块发动过来的日志数据,按照来源信息进行分类,通过注册中心获取存储实例将数据持久化到存储中,其中来源信息包括服务器标识和应用标识。分布式日志存储模块,采用分布式存储文件系统实现大容量日志数据的快速读取。Zookeeper注册中心集群模块,用来注册或提供接收处理器实例、分布式日志存储实例,通过监控各实例节点状态改变确保注册实例的可用性,同时达到服务实例的负载均衡效果。进一步地,当该系统数据量大时,通过增加节点的方式进行水平扩展,利用注册中心组件保证各环节节点的健壮性。进一步地,提供接收处理器的HA,可选主备、冗余发送策略。进一步地,在本系统中过滤器可以是非业务系统过滤器或者业务应用过滤器。此外,本专利技术还提供了一种基于分布式采集的日志分析方法,该方法其利用线程隔离原理通过对每次请求生成请求标识TracingID做到对跨服务调用日志的分组,清晰定位服务调用过程中的数据日志流转以及异常详情,具体步骤如下:S1:在对服务应用(1…N)发起调用生成日志时,判断当前线程是否存在全局TracingID,如果为空则认为是调用入口日志以生成TracingID并写入到当前线程的TracingID;S2:针对跨服务的RPC调用,从发起RPC调用端获取当前线程的TracingID封装到RPC数据包;在RPC的接收端提取TracingID信息并写入到当前接收端的线程变量;如果当前服务需要调用另外的服务,则继续封装此TracingID到PRC数据包传递给下层服务,下层服务提取TracingID,依次传递;S3:在写入日志通道的同时过滤器通过获取当前线程的TracingID值按照约定格式合并到日志内容中;S4:当次服务调用完成后清理当前线程的TracingID;S5:在接收器处理层通过TracingID来归类做到对每次跨服务调用的日志分组。本专利技术技术方案带来的有益效果:第一,采用本专利技术的系统,使用注册中心组件增强日志接收层和存储层的健壮性同时通过增加节点的方式提升日志处理层和日志存储层的水平扩展能力。第二,采用本专利技术的方法,利用线程隔离原理通过对每次请求生成请求标识(TracingID)做到对跨服务调用日志的分组,清晰定位服务调用过程中的数据日志流转以及异常详情。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本专利技术的系统架构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示为本专利技术的系统架构图。本专利技术的一种基于分布式采集的日志分析系统包括日志文件收集应用模块、日志接收应用集群模块、分布式日志存储模块和Zookeeper注册中心集群模块。日志文件收集应用模块,收集监视当前机器的组件日志文件,组件包括业务系统、web容器、redis服务,监测到日志文件有增量后通过过滤器对日志进行预处理,然后从Zookeeper注册中心集群模块获取接收处理器的可用实例发送到接收处理器,此处提供接收处理器的HA,可选主备、均衡发送策略。日志接收应用集群模块,采用集群负载均衡方式。日志处理器实例以集群形式存在并注册到Zookeeper注册中心集群模块,接收从收集应用模块发动过来的日志数据,按照来源信息进行分类,通过注册中心获取存储实例将数据持久化到存储中。其中来源信息包括服务器标识和应用标识。分布式日志存储模块,采用分布式存储文件系统实现大容量日志数据的快速读取。Zookeeper注册中心集群模块,用来注册或提供接收处理器实例、分布式日志存储实例,通过监控各实例节点状态改变确保注册实例的可用性,同时达到服务实例的负载均衡效果。本系统为大型分布式日志采集系统,通过读取各组件日志,例如业务系统日志、web容器日志、redis运行日志等组件日志文件,及时的对各服务系统的日志进行采集、过滤、关联分析。当数据量大时,通过增加节点的方式进行水平扩展,利用注册中心组件保证各环节节点的健壮性。在本系统中过滤器可以是公共系统过滤器或者业务系统过滤器。公共系统过滤器:针对类似web容器、redis运行日志等非业务系统日志进行过滤处理,通过配置非业务应用名称等信息对日志进行标记以备后续处理器处理。业务系统过滤器:对业务应用系统通过提供日志格式化开发包从日志产生源方面进行处理,利用线程隔离的原理通过对单次请求进行统一标记生成单次请求的层次关系,提供日志追踪数据结构给业务应用系统在跨服务调用进行注入和提取,做到跨服务的日志跟踪和归类。本专利技术的一种基于分布式采集的日志分析方法,其利用线程隔离原理通过对每次请求生成请求标识(TracingID)做到对跨服务调用日志的分组,清晰定位服务调用过程中的数据日志流转以及异常详情。具体步骤如下:S1:在对服务应用(1…N)发起调用生成日志时,判断当前线程是否存在全局TracingID,如果为空则认为是调用入口日志以生成TracingID(跨服务唯一性)并写入到当前线程的TracingID;S2:针对跨服务的RPC调用,从发起RPC调用端获取当前线程的TracingID封装到RPC数据包。在RPC的接收端提取TracingID信息并写入到当前接收端的线程变量。如果当前服务需要调用另外的服务,则继续封装此TracingID到PRC数据包传递给下层服务,下层服务提取TracingID,依次传递。S3:在写入日志通道的同时过滤器通过获取当前线程的TracingID值按照约本文档来自技高网...
一种基于分布式采集的日志分析系统及方法

【技术保护点】
一种基于分布式采集的日志分析系统,其特征在于,该系统包括日志文件收集应用模块、日志接收应用集群模块、分布式日志存储模块和Zookeeper注册中心集群模块;日志文件收集应用模块,收集监视当前机器的组件日志文件,组件包括业务系统、web容器、redis服务,监测到日志文件有增量后通过过滤器对日志进行预处理,并从Zookeeper注册中心集群模块获取接收处理器的可用实例发送到接收处理器;日志接收应用集群模块,采用集群负载均衡方式,日志处理器实例以集群形式存在并注册到Zookeeper注册中心集群模块,接收从收集应用模块发动过来的日志数据,按照来源信息进行分类,通过注册中心获取存储实例将数据持久化到存储中,其中来源信息包括服务器标识和应用标识;分布式日志存储模块,采用分布式存储文件系统实现大容量日志数据的快速读取;Zookeeper注册中心集群模块,用来注册或提供接收处理器实例、分布式日志存储实例,通过监控各实例节点状态改变确保注册实例的可用性,同时达到服务实例的负载均衡效果。

【技术特征摘要】
1.一种基于分布式采集的日志分析系统,其特征在于,该系统包括日志文件收集应用模块、日志接收应用集群模块、分布式日志存储模块和Zookeeper注册中心集群模块;日志文件收集应用模块,收集监视当前机器的组件日志文件,组件包括业务系统、web容器、redis服务,监测到日志文件有增量后通过过滤器对日志进行预处理,并从Zookeeper注册中心集群模块获取接收处理器的可用实例发送到接收处理器;日志接收应用集群模块,采用集群负载均衡方式,日志处理器实例以集群形式存在并注册到Zookeeper注册中心集群模块,接收从收集应用模块发动过来的日志数据,按照来源信息进行分类,通过注册中心获取存储实例将数据持久化到存储中,其中来源信息包括服务器标识和应用标识;分布式日志存储模块,采用分布式存储文件系统实现大容量日志数据的快速读取;Zookeeper注册中心集群模块,用来注册或提供接收处理器实例、分布式日志存储实例,通过监控各实例节点状态改变确保注册实例的可用性,同时达到服务实例的负载均衡效果。2.根据权利要求1所述的系统,其特征在于,当该系统数据量大时,通过增加节点的方式进行水平扩展,利用注册中心组件保证各环节节点的健壮性。3.根据权利要求1所述的系统,其特征在于,提供接收...

【专利技术属性】
技术研发人员:周宏江廖小文周恒马俊贤
申请(专利权)人:广东亿迅科技有限公司
类型:发明
国别省市:广东;44

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

1