分布式跟踪系统技术方案

技术编号:12666790 阅读:94 留言:0更新日期:2016-01-07 04:47
本发明专利技术涉及一种分布式跟踪系统,包括日志收集器,消息中间件集群,分布式流计算集群,统一配置中心,分布式文件系统,数据库,分布式跟踪系统服务集群,分布式跟踪系统web服务器,分布式文件存储和数据处理集群。本发明专利技术的分布式跟踪系统能够高效地分析系统运行情况。

【技术实现步骤摘要】
分布式跟踪系统
本专利技术涉及分布式跟踪系统,特别是涉及一种能够高效地分析系统运行情况的分布式跟踪系统。
技术介绍
随着技术不断发展,如今互联网领域大多数后台服务都已经完成了SOA(面向服务的体系结构)化,所以对业务的跟踪可以直接简化为对服务调用框架的跟踪,所以越来越多的跟踪系统也涌现出来。目前分布式跟踪系统理论模型基本来源于GOOGLE的Dapper,它详细的阐述了如何对请求调用链进行跟踪,Dapper最初是为了追踪在线服务系统的请求处理过程。比如在搜索系统中,用户的一个请求在系统中会经过多个子系统的处理,而且这些处理是发生在不同机器甚至是不同集群上的,当请求处理发生异常时,需要快速发现问题,并准确定位到是哪个环节出了问题,这是非常重要的,Dapper就是为了解决这样的问题。但是Dapper只是为解决请求调用这一问题提出了理论模型和简单实现,功能比较单一,并不能提供全面的解决方案。本专利技术的分布式跟踪系统是在Dapper模型的基础上进行扩展实现,提供了完整的分布式系统的业务跟踪的解决方案。更符合现有SOA架构的系统架构需求,可以在不影响现有系统性能的前提下,收集分析多台应用服务器的信息,开发人员可以实时监控系统运行状态,追踪业务请求链,根据分析结果查找系统的性能瓶颈,优化调整系统配置提前预防和解决问题,同时本专利技术的分布式跟踪系统提供实时预警功能保证在系统出现异常或宕机的情况下可以及时通知预警,保证系统的稳定性和高可用性。
技术实现思路
以往针对SOA这种分布式架构的监控主要依赖于各种日志的分析,如系统应用日志,jvm日志,操作系统日志等。通过日志解析可以分析出系统的运行情况和执行效率。但日志分布分散,搜集日志统一分析就成了问题,而且日志的内容也是需要依赖于开发人员和底层技术代码的支撑,不能准确定位想要关注分析的内容。通过全量分析日志也不是一个好的解决方案,分析效率和结果不容乐观,而且运营成本也是相当高的。目前也有一些监控系统可以监控中间件的运行状态,实时显示系统运行状态,但关注的目标主要还是性能方面,如cpu、内存、线程、tps和pv等指标,并不能及时反馈整体系统的运行情况,而且这类系统的功能都比较单一,只能针对某一中间件如数据库、消息中间件等。只能横向分析性能平均值,不能够纵向分析系统某一流程的执行情况。本专利技术的目的是解决分布式后台服务调用链的跟踪、搜集和分析,其中包括:1.调用链的跟踪,通过代码在中间件埋点来记录日志,用一个全局的ID将分布式请求串接起来。2.可变采样,可参数化配置采样,使用一个采样期望率来标识单位时间内采样的追踪,避免全量收集带来的大数据量压力,利于从跟踪数据中准确的分析。3.多种数据采集,同时采集多种数据,包括请求调用链、系统状态参数、异常堆栈和JVMGClog等。4.日志收集和存储,通过异步线程将缓存到内存队列的日志发送到消息队列中,统一通过storm进行汇总存储,同时支持实时汇总hbase、mysql和离线汇总hdfs存储。5.调用链分析,支持离线汇总分析和实时的单链路分析。6.实时预警,实现指标可配置,根据配置指标和分析结果,对不符合要求的分析结果进行预警。为实现本专利技术之目的,采用以下技术方案予以实现:一种分布式跟踪系统,包括日志收集器,消息中间件集群,分布式流计算集群,统一配置中心,分布式文件系统,数据库,分布式跟踪系统服务集群,分布式跟踪系统web服务器,分布式文件存储和数据处理集群,其中:日志收集器,用于读取应用集群的日志以及实时读取统一配置中心的配置数据,并将读取到的日志写入日志收集器的缓冲队列;消息中间件集群,用于从日志收集器实时读取日志,并将读取到的日志进行缓冲存储;分布式流计算集群,用于读取消息中间件集群中的日志,根据读取的统一配置中心的配置数据实时分析处理读取的日志,之后将实时处理结果存入数据库中,并将读取的全量日志写入分布式文件系统进行存储;分布式文件存储和数据处理集群,用于对分布式文件系统中存储的日志进行离线分布式数据分析,并将分析结果回写到分布式文件系统;分布式跟踪系统服务集群,用于读取分布式文件系统中的离线分析结果,合并分析数据后将其存入数据库中;分布式跟踪web服务器,用于提供查询服务和对统一配置中心进行维护。所述的分布式跟踪系统,优选的:日志收集器根据从统一配置中心读取的配置数据中的日志收集策略读取所需的日志。所述的分布式跟踪系统,优选的:分布式流计算集群,对读取的日志进行的处理包括:(1)验证:对日志中不符合规范的数据进行过滤,以达到能够处理的标准;(2)分析:对日志中的调用链进行统计,分析调用来源和调用依赖;(3)预警:对于日志中的错误信息或分析出有问题的调用链,结合从统一配置中心读取的告警配置信息,进行预警提示;(4)存储:将日志全量存储到分布式文件系统以及将上述(2)中的分析结果存入数据库。所述的分布式跟踪系统,优选的:分布式跟踪系统服务集群为分布式跟踪web服务器提供查询服务。所述的分布式跟踪系统,优选的:统一配置中心基于zookeeper实现分布式统一配置服务。一种分布式跟踪方法,包括以下步骤:日志收集器读取应用集群的日志以及实时读取统一配置中心的配置数据,并将读取到的日志写入日志收集器的缓冲队列;消息中间件集群从日志收集器实时读取日志,并将读取到的日志进行缓冲存储;分布式流计算集群读取消息中间件集群中的日志,对日志进行实时处理,之后将实时处理结果存入数据库中,并将读取的全量日志写入分布式文件系统进行存储;分布式文件存储和数据处理集群对分布式文件系统中存储的日志进行离线分布式数据分析,并将分析结果回写到分布式文件系统;分布式跟踪系统服务集群读取分布式文件系统中的离线分析结果,合并分析数据后将其存入数据库中;通过分布式跟踪web服务器查询日志分析结果以及对统一配置中心进行维护。所述的分布式跟踪方法,优选的:日志收集器根据从统一配置中心读取的配置数据中的日志收集策略读取所需的日志。所述的分布式跟踪方法,优选的:分布式流计算集群对读取的日志进行的处理包括:(1)验证:对日志中不符合规范的数据进行过滤,以达到能够处理的标准;(2)分析:对日志中的调用链进行统计,分析调用来源和调用依赖;(3)预警:对于日志中的错误信息或分析出有问题的调用链,结合从统一配置中心读取的告警配置信息,进行预警提示;(4)存储:将日志全量存储到分布式文件系统以及将上述(2)中的分析结果存入数据库。所述的分布式跟踪方法,优选的:应用集群的日志生成策略主要通过在服务中间件添加拦截器或代码嵌入两种方式实现,一次请求生成一个上下文,用全局唯一的TraceID进行标识,通过ReqID标识日志的顺序和嵌套关系,服务中间件通过分布式跟踪系统服务集群提供的API生成日志后,将日志写到缓存队列中。所述的分布式跟踪方法,优选的:分布式文件存储和数据处理集群对多条调用链路通过TraceID进行合并汇总,根据ReqID分析调用链的调用关系和依赖情况。本专利技术为实现专利技术目的采用了以下的方式:1.通过调取api的方式将日志写入本地文件。2.通过基于java多线程实现的日志收集器读取日志文件写入消息队列中。3.消息中间件基于kafka实现,提供日志的缓存和异步读写功能。4.通过基于storm本文档来自技高网...
分布式跟踪系统

【技术保护点】
一种分布式跟踪系统,包括日志收集器,消息中间件集群,分布式流计算集群,统一配置中心,分布式文件系统,数据库,分布式跟踪系统服务集群,分布式跟踪系统web服务器,分布式文件存储和数据处理集群,其特征在于:日志收集器,用于读取应用集群的日志以及实时读取统一配置中心的配置数据,并将读取到的日志写入日志收集器的缓冲队列;消息中间件集群,用于从日志收集器实时读取日志,并将读取到的日志进行缓冲存储;分布式流计算集群,用于读取消息中间件集群中的日志,根据读取的统一配置中心的配置数据实时分析处理读取的日志,之后将实时处理结果存入数据库中,并将读取的全量日志写入分布式文件系统进行存储;分布式文件存储和数据处理集群,用于对分布式文件系统中存储的日志进行离线分布式数据分析,并将分析结果回写到分布式文件系统;分布式跟踪系统服务集群,用于读取分布式文件系统中的离线分析结果,合并分析数据后将其存入数据库中;分布式跟踪web服务器,用于提供查询服务和对统一配置中心进行维护。

【技术特征摘要】
1.一种分布式跟踪系统,包括日志收集器,消息中间件集群,分布式流计算集群,统一配置中心,分布式文件系统,数据库,分布式跟踪系统服务集群,分布式跟踪系统web服务器,分布式文件存储和数据处理集群,其特征在于:日志收集器,用于读取应用集群的日志以及实时读取统一配置中心的配置数据,并将读取到的日志写入日志收集器的缓冲队列;消息中间件集群,用于从日志收集器实时读取日志,并将读取到的日志进行缓冲存储;分布式流计算集群,用于读取消息中间件集群中的日志,根据读取的统一配置中心的配置数据实时分析处理读取的日志,之后将实时处理结果存入数据库中,并将读取的全量日志写入分布式文件系统进行存储;分布式文件存储和数据处理集群,用于对分布式文件系统中存储的日志进行离线分布式数据分析,并将分析结果回写到分布式文件系统;分布式跟踪系统服务集群,用于读取分布式文件系统中的离线分析结果,合并分析结果后将其存入数据库中;分布式跟踪web服务器,用于提供查询服务和对统一配置中心进行维护。2.根据权利要求1所述的分布式跟踪系统,其特征在于:日志收集器根据从统一配置中心读取的配置数据中的日志收集策略读取所需的日志。3.根据权利要求1所述的分布式跟踪系统,其特征在于:分布式流计算集群,对读取的日志进行的处理包括:(1)验证:对日志中不符合规范的数据进行过滤,以达到能够处理的标准;(2)分析:对日志中的调用链进行统计,分析调用来源和调用依赖;(3)预警:对于日志中的错误信息或分析出有问题的调用链,结合从统一配置中心读取的告警配置信息,进行预警提示;(4)存储:将日志全量存储到分布式文件系统以及将上述(2)中的分析结果存入数据库。4.根据权利要求1所述的分布式跟踪系统,其特征在于:分布式跟踪系统服务集群为分布式跟踪web服务器提供查询服务。5.根据权利要求1所述的分布式跟踪系统,其特征在于:统一配置中心基于zookeeper实现分布式统一配置服务。6.一种分布式跟踪方法,其特征在于包括以下步骤:日志收...

【专利技术属性】
技术研发人员:许丹霞刘寅汪伟郑宇
申请(专利权)人:北京汇商融通信息技术有限公司
类型:发明
国别省市:北京;11

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

1