一种系统全链路监控方法及装置与流程

文档序号:20699973发布日期:2020-05-12 15:32阅读:195来源:国知局
一种系统全链路监控方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种系统全链路监控方法及装置。



背景技术:

链路是由多个系统组成的,包含多个系统之间数据信息交互的传递路线。为了保证数据信息传递的准确和高效,需要对链路进行监控。目前针对与系统链路的监控采用的是人工监控,发现异常及时通报,然后由各系统的负责人员解决。然而随着业务量逐渐增大,系统链路的布置也越来越复杂,一条链路包含多个场景,上下游交互也比较频繁,仅仅通过人工监控和通报不能做到全链路的全天候的监控,也使得监控的效率和质量难以提升。并且目前对系统的性能及容量的评估更多的是在压测环境下进行,采用传统人工的监控压测,难以做到全链路的压测,压测的环境机械硬件与生产环境的差距评估也无法高度准确,更无法做到实时观察生产环境业务量及链路性能情况。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种系统全链路监控方法及装置。所述技术方案如下:

一方面,提供了一种系统全链路监控方法,所述方法包括:

定期计算并存储各系统的日志总量;

根据所述各系统的日志总量,确定各所述链路的起点数据量和终点数据量;

根据所述起点数据量和所述终点数据量获得各所述链路的处理情况数据;

将所述处理情况数据与处理基准条件对比,若所述处理情况数据不满足所述处理基准条件,则生成告警信息。

进一步地,定期计算各系统的日志总量包括:

定期接收所述各系统的日志,对所述日志进行聚合运算,获得所述日志总量。

进一步地,根据所述各系统的日志总量,确定各所述链路的起点数据量和终点数据量包括:

将所述系统与链路结构匹配,获取各链路的链路起点对应的系统和链路终点对应的系统;

根据与所述链路起点对应的系统的日志总量确定所述链路的起点数据量,根据与所述链路终点对应的系统的日志总量确定所述链路的终点数据量。

进一步地,根据所述起点数据量和所述终点数据量获得各所述链路的处理情况数据包括:

根据所述起点数据量获取所述链路的应处理量;

根据所述终点数据量获取所述链路的已完成量;

根据所述应处理量和所述已完成量获取所述链路的未完成量、完成率和完成速率。

进一步地,将所述处理情况数据与处理基准条件对比,若所述处理情况数据不满足所述处理基准条件,则生成告警信息包括:

若所述未处理量不满足未处理基准条件,则生成未处理告警信息;

若所述完成率不满足完成率基准条件,则生成完成率告警信息;

若所述完成速率不满足速率基准条件,则生成速率告警信息。

进一步地,所述方法还包括:

定期接收并存储所述各系统的日志明细数据,用于根据所述告警信息查询与所述告警信息对应的日志明细数据。

进一步地,所述日志总量存储在关系型数据库中,所述日志明细数据分别存储在hive和搜索引擎中,其中存储在所述搜索引擎中的所述日志明细数据用于根据所述告警信息查询与所述告警信息对应的日志明细数据。

另一方面,提供了一种系统全链路监控装置,所述装置包括:第一服务器,所述第一服务器包括:

总量计算模块,用于定期计算各系统的日志总量;

节点数据量确定模块,用于根据所述各系统的日志总量,确定各所述链路的起点数据量和终点数据量;

处理情况获取模块,用于根据所述起点数据量和所述终点数据量获得各所述链路的处理情况数据;

告警信息生成模块,用于将所述处理情况数据与处理基准条件对比,当所述处理情况数据不满足所述处理基准条件时,生成所述告警信息。

进一步地,所述总量计算模块,具体用于定期接收所述各系统的日志,对所述日志进行聚合运算,获得所述日志总量。

进一步地,所述节点数据量确定模块包括:

系统匹配模块,用于将所述系统与链路结构匹配,获取各链路的链路起点对应的系统和链路终点对应的系统;

数据量对应模块,用于根据与所述链路起点对应的系统的日志总量确定所述链路的起点数据量,根据与所述链路终点对应的系统的日志总量确定所述链路的终点数据量。

进一步地,所述处理情况获取模块包括:

第一情况获取模块,用于根据所述起点数据量获取所述链路的应处理量,以及根据所述终点数据量获取所述链路的已完成量;

第二情况获取模块,用于根据所述应处理量和所述已完成量获取所述链路的未完成量、完成率和完成速率。

进一步地,告警信息生成模块包括:

未处理告警信息生成模块,用于当所述未处理量不满足未处理基准条件时,生成未处理告警信息;

完成率告警信息生成模块,用于当所述完成率不满足完成率基准条件时,生成完成率告警信息;

速率告警信息生成模块,用于当所述完成速率不满足速率基准条件时,生成速率告警信息。

进一步地,所述装置还包括:第二服务器和第三服务器,

所述第二服务器用于存储所述日志明细数据,

所述第三服务器用于存储所述日志明细数据以使得根据所述告警信息查询与所述告警信息对应的日志明细数据。

进一步地,所述第一服务器为关系型数据库服务器,所述第二服务器为hive工具服务器,所述第三服务器为搜索引擎服务器。

本发明实施例提供的技术方案带来的有益效果是:

1、本发明能够通过各链路运行异常的告警信息帮助用户快速发现问题,提高监控效率;

2、本发明能够根据告警信息在搜索引擎中快速对异常链路中的异常节点进行定位,获知日志明细数据;

3、本发明通过对链路处理情况数据的计算能够帮助用户分析链路性能,实时监控各链路的运行情况,根据各链路的运行情况进行链路容量的规划。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的系统链路监控全架构图;

图2是本发明实施例提供的关系型数据库链路监控方法流程图;

图3是本发明实施例提供的系统链路监控装置模块示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

随着数据信息技术的发展,多系统间的海量数据的交互变得越来越复杂,例如在物流领域中,货物的包装、分拣和运输中的“收”“发”“到”“派”“签”等多个过程,均涉及到多个不同的模块的数据交互,各模块中又包含很多系统,随着业务的不断拓展,服务种类不断增多,数据交互产生的链路会越来越复杂,数据信息量越来越大。因此,在压测和正常运作时仅采用传统的人工链路监控已经不能满足全面监控、实时监控的需要,为了解决现有技术中存在的链路监控准确度不高、效率低、不能全面地实时地监控的问题,本发明实施例提供了一种系统全链路监控方法及装置,具体的技术方案如下:

如图1所示,数据采集平台采集各系统的日志,数据采集平台可以采用kafka、flume、标准api中的任意一种,本实施例以kafka为例。采集到的日志通过数据处理模块分别下发至hive、搜索引擎和关系型数据库中,数据处理模块具体可以是spark,关系型数据库可以是mysql、postfresql等关系型数据库。

如图2所示,关系型数据库接收到日志后,定期根据日志计算并存储日志总量,具体的做法是:对日志进行聚合运算,获得日志的总数量。

然后根据各系统的日志总量,确定各链路的起点数据量和终点数据量,具体的做法是:将各系统与各链路结构匹配,获取各链路的的链路起点对应的系统和各链路终点对应的系统;将与链路起点对应的系统的日志总量作为链路的起点数据量,将与链路终点对应的系统的日志总量作为链路的终点数据量。需要说明的是:链路结构可以预先存储在关系型数据库中,具体的链路结构可以以链路与系统的映射关系的形式存储在关系型数据库中。

在获取到起点数据量和终点数据量后,关系型数据库再根据起点数据量和终点数据量获得各链路的处理情况数据,具体地,处理情况数据包括:应处理量、已完成量、未完成量、完成率和完成速率。其中,

应处理量根据起点数据量获取;

已完成量根据终点数据量获取;

未完成量=应处理量-已完成量;

完成率=已完成量/应处理量;

完成速率采用每秒事务量表示,每秒事务量=5秒内处理的数据量/5。

获得处理情况数据后,将处理情况数据与处理基准条件对比,为不满足处理基准条件的处理情况数据生成告警信息,与处理情况数据对应地,处理基准条件包括:未处理基准条件、完成率基准条件、速率基准条件。具体地,将处理情况数据与处理基准条件对比,生成告警信息包括:

若未处理量不满足未处理基准条件,则生成未处理告警信息;

若完成率不满足完成率基准条件,则生成完成率告警信息;

若完成速率不满足速率基准条件,则生成速率告警信息。

上述方法说明,处理情况数据中有任意一种处理情况数据不符合处理基准条件都会生成告警信息。对每种处理情况数据分别生成告警信息的优势在于便于用户直观地获知哪种处理情况数据发生了异常,以得知链路问题所在。处理基准数据是预先设置在关系型数据库中的,根据系统的负载能力设置。

需要说明的是,关系型数据库生成的各系统的日志总量数据和各告警信息将存储在关系型数据库中,关系型数据库将日志总量数据和告警信息均发送至前端显示,供用户查询,各日志总量将以“链路详情”的方式显示在前端,“链路详情”中,可以以折线图的形式显示不同时期的链路的各节点的日志总量数据,以便用户了解各链路各系统的运行情况,链路的容量规划提供数据支撑。

上述方法中,关系型数据库通过对日志量的分析,链路起点和终点数据量的匹配获知了链路处理数据的整体情况。进一步地,在将系统与链路结构匹配时,除了获取链路起点对应的系统和链路终点对应的系统外,还可以获取链路各中间节点对应的系统,根据链路各中间节点对应的系统的日志总量确定链路各中间节点的数据量,在分析链路时,可以通过梳理链路结构上各中间节点数据量,发现哪个节点数据量异常,从而将问题定位到该节点,在发出告警信息时可以进一步地将问题节点定位出来,帮助用户查找问题。

与关系型数据库不同的是,hive和搜索引擎在获取到日志后,将日志中的明细数据存储起来。其中hive主要用于存储日志明细数据,而搜索引擎主要用于提供日志明细数据的搜索功能,其对日志明细数据的存储可以采用覆盖更新的临时存储方式,即当有新的日志明细数据下发时,旧的日志明细数据将被覆盖掉,而hive对日志明细数据的存储是长期的。日志明细数据中包括了各系统中各日志中的具体数据。

关系型数据库生成告警信息后将告警信息发送至前端显示,用户在前端获知到告警信息后,可以通过搜索引擎查找到问题链路问题节点中的具体的数据信息,从而进一步发现问题解决问题。

本发明公开的系统链路监控方法,将采集到的日志分别下发至hive、搜索引擎和关系型数据库中,hive、搜索引擎和关系型数据库各司其职相互独立,不会给各系统造成过大的运行负载,保证链路监控的顺畅进行。

如图3所示,与方法相对应的本发明实施例还提供一种系统全链路监控装置,该装置包括:第一服务器、第二服务器、第三服务器,其中第一服务器为关系型数据库服务器、第二服务器为hive工具服务器、第三服务器为搜索引擎服务器。

第一服务器包括:总量计算模块、节点数据量确定模块、处理情况获取模块、告警信息生成模块。

总量计算模块,用于定期计算各系统的日志总量,具体包括:定期接收各系统的日志对日志进行聚合运算,获得日志总量。

节点数据量确定模块,用于根据各系统的日志总量,确定各链路的起点数据量和终点数据量,进一步用于确定各链路中各节点数据量。节点数据量确定模块包括:

系统匹配模块,用于将系统与链路结构匹配,获取各链路的链路起点对应的系统和链路终点对应的系统,进一步获取链路各中间节点对应的系统;

数据量对应模块,用于根据与链路起点对应的系统的日志总量确定链路的起点数据量,根据与链路终点对应的系统的日志总量确定链路的终点数据量,进一步根据与链路各中间节点对应的系统的日志总量确定链路各中间节点数据量。

处理情况获取模块,用于根据起点数据量和终点数据量获得各链路的处理情况数据。处理情况获取模块包括:

第一情况获取模块,用于将起点数据量确定为链路的应处理量、将终点数据量确定为链路的已完成量;

第二情况获取模块,用于根据应处理量和已完成量获取链路的未完成量、完成率和完成速率,其中未完成量、完成率和完成速率的计算方法与方法中相同,在此不再赘述。

告警信息生成模块,用于将处理情况数据与处理基准条件对比,当处理情况数据不满足处理基准条件时,生成告警信息。告警信息生成模块包括:

未处理告警信息生成模块,用于当未处理量不满足未处理基准条件时,生成未处理告警信息;

完成率告警信息生成模块,用于当完成率不满足完成率基准条件时,生成完成率告警信息;

速率告警信息生成模块,用于当完成速率不满足速率基准条件时,生成速率告警信息。

上述装置中,第一服务器、第二服务器接收到的日志均是由数据采集平台向各系统采集,并通过数据处理模块下发的。第一服务器中,总量计算模块在计算出各系统的日志总量,节点数据量确定模块在将各系统与各链路的节点对应好后,向总量计算模块调用查询各节点对应的数据量。节点数据量确定模块将各链路各节点对应的数据量发送至处理情况获取模块,处理情况获取模块根据各节点对应的数据量获得各链路的处理情况数据,并将处理情况数据发送至告警信息生成模块。告警信息生成模块将处理情况数据与预设的处理基准条件对比,根据对比结果生成告警信息,并将告警信息发送至前端显示。用于在前端获知告警信息后,根据告警信息利用搜索引擎查询出与告警信息对应的链路的具体日志明细数据,从而知晓问题的日志数据,快速发现问题。

在压测过程中,可以通过本发明实施例公开的系统链路监控装置实时监控全系统链路的运行情况,快速发现故障,并根据各系统与链路节点的对应关系,判断出现问题的系统都存在在哪些链路中,从而确定故障的影响范围,调整链路结构,做好链路的容量规划。

本发明实施例提供的技术方案带来的有益效果是:

1、本发明能够通过各链路运行异常的告警信息帮助用户快速发现问题,提高监控效率;

2、本发明能够根据告警信息在搜索引擎中快速对异常链路中的异常节点进行定位,获知日志明细数据;

3、本发明通过对链路处理情况数据的计算能够帮助用户分析链路性能,实时监控各链路的运行情况,根据各链路的运行情况进行链路容量的规划。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1