一种通用可扩展的追踪业务全链路的监控方法及系统与流程

专利2022-06-30  93


本发明属于数据处理技术领域,涉及业务全链路的监控方法及系统。



背景技术:

随着云计算大数据技术的日益普及,分布式技术快速发展,微服务大行其道,业务系统规模及调用关系日益复杂,监控数据已成为一种大数据(以下简称“监控大数据”),虽然出现了很多针对系统指标(cpu、内存、网络、磁盘io等)等监控大数据进行监控的系统,也出现了一些针对单业务系统等监控大数据进行监控的系统,但单系统监控的问题是看不到业务链路的全景,上下游协同成本非常高,因此针对业务系统进行业务维度的全链路监控越来越迫切。

中国发明专利申请201710202040.8公开一种在业务链路中监控订单的方法及装置。该公开文件采集订单信息在业务链路中各业务节点之间的流转时间,并根据所采集的订单信息在业务链路中各业务节点之间的流转时间和依据所采集的订单信息锁定的商品的库存数量,检测与所采集的订单信息相关联的采购订单是否满足销售需求;当与所采集的订单信息相关联的采购订单不满足销售需求时,触发告警流程。

上述装置及方法仅适用于o2o业务中的全链路监控,并且限定订单信息至少包括订单号和商品编码,不具有通用性,可扩展性差。

中国专利申请201710766161.5公开一种中大型业务系统的全链路性能监控方法及系统。该公开文件对业务系统进行采集;工作人员对采集到的业务系统进行分析,提取业务系统链路上的各个业务节点;根据所述业务节点的属性对监控系统进行数据配置和制定预警规则;根据配置的数据对各个业务节点进行监控,监控各个业务节点的性能参数,将所述各个业务节点的性能参数汇总并记录至数据库,对性能数据进行统计并以图表的形式展现给工作人员,如果触发制定的预警信息则向工作人员推送异常信息。该申请采用模拟登录的方式获得其他业务系统的数据,并且需要人工参与,通用性不强,可扩展性差。

业务全链路监控就是要从业务的视角出发,监控整个业务流程的流转状况及健康状况,无需切换多个业务系统,直观查看全局和上下游业务状况,方便快速发现问题、定位问题。现有技术中关于该技术尚未发现相关报道。



技术实现要素:

本发明的目的是解决传统单业务系统只能垂直纵向监控本业务系统的指标,无法提供全局视角、水平横向监控关联的上下游业务指标的问题,提供一种通用可扩展的追踪业务全链路的监控系统及方法。

本发明解决其技术问题采用的技术方案是:一种通用可扩展的追踪业务全链路的监控方法,包括如下步骤:

规划需要监控的关键业务,梳理每个关键业务涉及的上下游各个节点的业务信息;

注册业务监控数据,包括:业务元数据标识、业务元数据名称、业务元数据展现顺序、业务元数据查询条件显示名称、业务元数据查询条件关联关系;

每个业务节点将需要监控的业务数据进行上报;

实时收集各个节点上报的业务监控数据,集中缓存;

将集中缓存的业务监控数据,转储到业务监控数据的最终存储介质;

展示业务全链路。

作为本发明的优选方式,所述每个节点的业务信息包括:业务名称、描述、查询条件名称、上下文信息。

作为本发明的优选方式,所述每个业务节点需要监控的业务数据包括:监控数据上报时间、业务元数据标识、业务元数据查询条件值、业务节点名称、业务节点描述、业务节点执行状态、业务节点执行时的上下文信息、业务节点执行时的异常信息。

作为本发明的优选方式,在指定查询条件下,每个关键业务以时间轴升序方式展示该关键业务实际经过的业务节点、每个业务节点的执行状态、上下文信息、异常信息。

本发明还提供了一种通用可扩展的追踪业务全链路的监控系统,包括:业务监控管理模块、监控sdk、监控agent、存储模块和展示模块;所述的业务监控管理模块用于注册和管理业务监控数据;所述的监控sdk用于收集业务监控数据,并将收集的数据上报;所述的监控agent用于接收所述监控sdk上报的业务监控数据,并将业务监控数据发送到存储模块;所述的存储模块用于储存业务监控数据;所述的展示模块用于展示业务全链路的监控情况。

作为本发明的优选方式,所述的业务监控数据包括:业务元数据标识、业务元数据名称、业务元数据展现顺序、业务元数据查询条件显示名称、业务元数据查询条件间的关联关系。

作为本发明的优选方式,所述的存储模块包括kafka集群、转储插件和全文搜索引擎elasticsearch;所述kafka集群用于缓存监控agent发送的业务监控数据;所述的转储插件用于将缓存在kafka集群中的业务监控数据转储到所述全文搜索引擎elasticsearch中;全文搜索引擎elasticsearch作为业务监控数据的最终存储介质,用于查询业务全链路数据。

作为本发明的优选方式,所述的展示模块用于展现关键业务,以及每个关键业务下的查询条件,以时间轴升序方式展示该关键业务实际经过的每个业务节点,以及业务节点对应的执行状态、上下文信息、异常信息。

本发明提供了一种通用可扩展的追踪业务全链路的监控系统及方法,能够以全局视角查看关键业务流转的每个业务节点,以及每个业务节点的执行状态,从而为快速发现业务问题、定位业务问题提供了有力的技术支撑。

附图说明

图1是本发明实施例的通用可扩展的追踪业务全链路的监控系统框架图;

图2是本发明实施例的通用可扩展的追踪业务全链路的监控方法流程图。

具体实施方式

为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。

实施例1:通用可扩展的追踪业务全链路的监控系统,如图1所示,包括业务监控数据管理模块、监控sdk、监控agent、存储模块和展示模块;其中,

(1)业务监控数据管理模块用于注册和管理业务元数据的注册信息:业务元数据标识、业务元数据名称、业务元数据展现顺序、业务元数据查询条件显示名称、业务元数据查询条件间的关联关系等;

(2)监控sdk,部署在每个机器上,用于收集各个业务节点的业务监控数据,业务系统通过埋点的方式调用该监控sdk。

(3)监控agent,部署在每个机器上,用于收集监控sdk上报的业务监控数据;并将监控数据发送到高性能消息队列集群kafka。

(4)高性能消息队列集群kafka,用于缓存业务监控数据,解耦并缓冲监控agent和最终业务监控数据存储介质。

(5)转储插件,基于flume的海量业务监控数据转储插件,用于将缓存在高性能消息队列集群kafka中的业务监控数据,转储到全文搜索引擎elasticsearch中。

(6)全文搜索引擎elasticsearch,作为业务监控数据的最终存储介质,elasticsearch提供强大的索引功能,能够高效查询业务全链路数据。

(7)展示模块,用于灵活可扩展的展现关键业务,以及每个关键业务下的查询条件,以时间轴升序方式展示该关键业务实例经过的每个业务节点,以及业务节点对应的执行状态、上下文信息、异常信息等。

实施例2:一种通用可扩展的追踪业务全链路的监控方法,流程如图2所示,具体包括:

(1)规划关键业务

业务方规划需要监控的关键业务有哪些,每个关键业务涉及的上下游各个节点的业务活动是什么,梳理每个节点的业务信息,包括:业务名称、描述、查询条件名称、上下文信息等。

(2)注册业务监控数据

在业务监控数据管理模块中注册业务监控数据,包括:业务元数据标识、业务元数据名称、业务元数据展现顺序、业务元数据查询条件显示名称、业务元数据查询条件关联关系。

业务元数据标识,指有业务含义的关键业务英文标识;

业务元数据名称,指有业务含义的关键业务中文名称;

业务元数据展现顺序,指进行业务全链路查询时,多个关键业务之间的显示顺序;

业务元数据查询条件显示名称是指进行业务全链路查询时,可作为查询条件的业务数据名称,比如订单编号、终端编号等;

业务元数据查询条件关联关系基于以下实际情况:由于各业务系统建设周期不一样,建设厂家也可能不一样,因此会导致无法通过一致的业务标识,将各业务系统串联起来,所以需要建立业务标识之间的关联关系,从而实现根据一个业务标识进行查询时,通过关联关系找到对应的其他业务标识,从而将异构的业务系统串联起来。

(3)对业务监控数据进行埋点

每个业务节点将业务监控数据通过监控sdk上报给监控agent,需要上报的监控数据包括:监控数据上报时间、业务元数据标识、业务元数据查询条件值、业务节点名称、业务节点描述、业务节点执行状态、业务节点执行时的上下文信息、业务节点执行时的异常信息。

监控数据上报时间,指上报业务元数据的时间,一般默认是机器当前时间;

业务元数据标识,指前述关键业务英文标识;

业务元数据查询条件值,指可作为业务查询条件的业务数据值;

业务节点名称,指关键业务对应节点的中文名称;

业务节点描述,指关键业务对应节点的描述信息;

业务节点执行状态,指该业务节点执行完业务操作后的状态,比如:成功、失败;

业务节点执行时的上下文信息,用于存储业务执行操作时用到的一些变量信息,以记录该业务执行时的入参等信息;

业务节点执行时的异常信息,指该业务节点执行业务操作时如果发生了错误时的异常信息,如果没有发生异常,不需要设置。

(4)收集业务监控数据

监控agent负责实时收集业务监控数据,然后发送到高性能消息队列集群kafka以便集中缓存业务监控数据。

(5)缓存业务监控数据

使用高性能消息队列集群kafka,作为从各个业务节点监控agent上报的业务监控数据的集中式缓存,用于解耦并缓冲监控agent和业务监控数据的最终存储介质。

(6)业务监控数据转储

使用高可用的、高可靠的flume,将缓存在集群kafka中的业务监控数据,转储到业务监控数据的最终存储介质。

(7)存储业务监控数据

使用全文搜索引擎elasticsearch作为业务监控数据的最终存储介质,以便高效存储并查询业务全链路。

(8)展现业务全链路

实现业务全链路展现界面,能够灵活可扩展的展现关键业务,以及每个关键业务下的查询条件,通过时间轴方式升序展示该关键业务实例经过的业务节点,每个业务节点的执行状态、上下文信息、异常信息等。


技术特征:

1.一种通用可扩展的追踪业务全链路的监控方法,其特征在于,包括如下步骤:

规划需要监控的关键业务,梳理每个关键业务涉及的上下游各个节点的业务信息;

注册业务监控数据,包括:业务元数据标识、业务元数据名称、业务元数据展现顺序、业务元数据查询条件显示名称、业务元数据查询条件关联关系;

每个业务节点将需要监控的业务数据进行上报;

实时收集各个节点上报的业务监控数据,集中缓存;

将集中缓存的业务监控数据,转储到业务监控数据的最终存储介质;

展示业务全链路。

2.根据权利要求1所述的通用可扩展的追踪业务全链路的监控方法,其特征在于,所述每个节点的业务信息包括:业务名称、描述、查询条件名称、上下文信息。

3.根据权利要求1所述的通用可扩展的追踪业务全链路的监控方法,其特征在于,所述每个业务节点需要监控的业务数据包括:监控数据上报时间、业务元数据标识、业务元数据查询条件值、业务节点名称、业务节点描述、业务节点执行状态、业务节点执行时的上下文信息、业务节点执行时的异常信息。

4.根据权利要求1所述的通用可扩展的追踪业务全链路的监控方法,其特征在于,在指定查询条件下,每个关键业务以时间轴升序方式展示该关键业务实际经过的业务节点、每个业务节点的执行状态、上下文信息、异常信息。

5.一种通用可扩展的追踪业务全链路的监控系统,其特征在于,包括:业务监控管理模块、监控sdk、监控agent、存储模块和展示模块;所述的业务监控管理模块用于注册和管理业务监控数据;所述的监控sdk用于收集业务监控数据,并将收集的数据上报;所述的监控agent用于接收所述监控sdk上报的业务监控数据,并将业务监控数据发送到存储模块;所述的存储模块用于储存业务监控数据;所述的展示模块用于展示业务全链路的监控情况。

6.根据权利要求5所述的通用可扩展的追踪业务全链路的监控系统,其特征在于,业务监控数据包括:业务元数据标识、业务元数据名称、业务元数据展现顺序、业务元数据查询条件显示名称、业务元数据查询条件间的关联关系。

7.根据权利要求5所述的通用可扩展的追踪业务全链路的监控系统,其特征在于,所述的存储模块包括kafka集群、转储插件和全文搜索引擎elasticsearch;所述kafka集群用于缓存监控agent发送的业务监控数据;所述的转储插件用于将缓存在kafka集群中的业务监控数据转储到所述全文搜索引擎elasticsearch中;全文搜索引擎elasticsearch作为业务监控数据的最终存储介质,用于查询业务全链路数据。

8.根据权利要求5所述的通用可扩展的追踪业务全链路的监控系统,其特征在于,所述的展示模块用于展现关键业务,以及每个关键业务下的查询条件,以时间轴升序方式展示该关键业务实际经过的每个业务节点,以及业务节点对应的执行状态、上下文信息、异常信息。

技术总结
本发明属于数据处理技术领域,涉及业务全链路的监控系统及方法。一种通用可扩展的追踪业务全链路的监控方法,包括如下步骤:规划需要监控的关键业务,梳理每个关键业务涉及的上下游各个节点的业务信息;注册业务监控数据,包括:业务元数据标识、业务元数据名称、业务元数据展现顺序、业务元数据查询条件显示名称、业务元数据查询条件关联关系;每个业务节点将需要监控的业务数据进行上报;实时收集各个节点上报的业务监控数据,集中缓存;将集中缓存的业务监控数据,转储到业务监控数据的最终存储介质;展示业务全链路。本发明提供了一种通用可扩展的追踪业务全链路的监控系统及方法,能够以全局视角查看关键业务流转的每个业务节点,以及每个业务节点的执行状态,从而为快速发现业务问题、定位业务问题提供了有力的技术支撑。

技术研发人员:刘桂海;陈忠强;黄伟;鞠强;魏亮;周国庆
受保护的技术使用者:青岛特来电云科技有限公司;青岛特来电新能源科技有限公司
技术研发日:2019.12.30
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-56540.html

最新回复(0)