CN113452607B - 分布式链路采集的方法、装置、计算设备和存储介质 - Google Patents

分布式链路采集的方法、装置、计算设备和存储介质 Download PDF

Info

Publication number
CN113452607B
CN113452607B CN202010212340.6A CN202010212340A CN113452607B CN 113452607 B CN113452607 B CN 113452607B CN 202010212340 A CN202010212340 A CN 202010212340A CN 113452607 B CN113452607 B CN 113452607B
Authority
CN
China
Prior art keywords
node
link
identifier
call
link aggregation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010212340.6A
Other languages
English (en)
Other versions
CN113452607A (zh
Inventor
杨奕
侯瑞军
李东生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202010212340.6A priority Critical patent/CN113452607B/zh
Publication of CN113452607A publication Critical patent/CN113452607A/zh
Application granted granted Critical
Publication of CN113452607B publication Critical patent/CN113452607B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种分布式链路采集的方法、装置、计算设备和存储介质,属于计算机技术领域。该方法包括:接收父节点发送的第一调用请求,其中,第一调用请求包括trace标识和父节点分配的span标识,执行子节点调用处理,获取本节点的所有子节点发送的链路信息,在根据存储的异常判别规则,确定trace标识指示的服务调用存在异常的情况下,将本节点的所有子节点的链路信息进行聚合处理,获取第一链路聚合信息。将本节点上trace标识对应的第一链路信息和第一链路聚合信息,传输至计算中心,其中,第一链路信息包括本节点的子span标识和内部关键调用堆栈。采用本申请,可以提升确定链路故障位置的效率。

Description

分布式链路采集的方法、装置、计算设备和存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种分布式链路采集的方法、装置、计算设备和存储介质。
背景技术
在云计算环境下,越来越多的业务采用微服务架构进行部署,使得各个服务被拆分的更加细致,执行一次请求需要涉及到多个微服务的执行结果,因此,传统的日志、返回值等诊断手段无法有效应对微服务架构下的故障诊断。
相关技术中,采用分布式调用链追踪技术实现微服务架构下的故障诊断,在该技术中,通过对所有调用链进行1%的静态采样(如微服务架构下包括100万个调用链,仅采集了1万个调用链)。然后通过统计学原理反推出链路特征以及日常运行过程中的一些瓶颈问题。
由于仅采集少部分调用链,所以有可能出现某个链路出现故障,而没有存储此部分链路的情况,造成无法确定故障原因。
发明内容
为了解决无法确定故障原因的问题,本申请提供了一种分布式链路采集的方法、装置、计算设备和存储介质。该技术方案如下:
第一方面,提供了一种分布式链路采集的方法,该方法包括:接收父节点发送的第一调用请求,其中,第一调用请求包括调用链(trace)标识和父节点分配的调用跨度(span)标识。执行子节点调用处理,获取本节点的所有子节点发送的链路聚合信息,其中,对于任一子节点发送的链路聚合信息,子节点发送的链路聚合信息包括子节点的下游调用过程中的span数目、span深度、涉及的中间件、涉及的微服务名称中的一种或者多种;在根据存储的异常判别规则,确定trace标识指示的服务调用存在异常的情况下,将本节点的所有子节点的链路聚合信息和进行聚合处理,获取第一链路聚合信息。将本节点上trace标识对应的第一链路信息和第一链路聚合信息,传输至计算中心,其中,第一链路信息包括本节点的子span标识和内部关键调用堆栈。
本申请所示的方案,在微服务框架中,接收到一个业务请求。在执行该业务请求对应的处理时,要执行该业务请求的微服务中除第一个微服务之外的任一微服务所在节点,都会接收到上游的微服务所在节点(可以称为是父节点)发送的第一调用请求。第一调用请求包括trace标识和span标识,该trace标识用于指示该业务请求的唯一标识,该span标识用于指示被调用子节点的span标识。属于被调用微服务的目标节点可以接收到第一调用请求(目标节点即为执行本申请流程的任一节点)。目标节点接收到第一调用请求后,如果该目标节点有下游的微服务要调用,目标节点在执行完自己的内部处理后,可以执行调用下游的微服务的处理。具体的,目标节点可以生成一个span标识,并将第一调用请求中的span标识作为目标节点生成的span标识的父span标识,并将目标节点生成的span标识,作为该父span标识的子span标识。目标节点可以向下游的微服务所在节点(即目标节点的子节点)发送第二调用请求。第二调用请求中携带有trace标识和目标节点生成的span标识。这样,由于目标节点为其调用的微服务生成span标识,所以目标节点可以获取到目标节点的子span标识。
目标节点可以接收自身的所有子节点返回的响应消息,在每个子节点返回的响应消息中包括该子节点的链路聚合信息,该链路聚合信息可以包括该子节点的下游调用过程中的span数目、span深度、涉及的中间件、涉及的微服务名称中的一种或者多种。span数目为属于trace标识的调用链中,目标节点的下游的所有节点所经历的span的总数。span深度为属于trace标识的调用链中,trace标识的调用链中,目标节点的下游的所有节点的最长深度。
目标节点可以根据存储的异常判别规则,确定trace标识指示的服务调用存在异常的情况下,将本节点的所有子节点的链路聚合信息进行聚合处理,获取第一链路聚合信息。并且目标节点获取本节点上该trace标识对应的第一链路信息。该第一链路信息包括目标节点的子span标识和内部关键调用堆栈,内部调用堆栈可以包括目标节点内部调用的关键函数调用情况、内部调用异常情况等。然后目标节点可以将第一链路信息和第一链路聚合信息发送至计算中心。这样,通过仅采集存在故障的链路,不仅分布式链路采样总量比较少,而且还可以保证不影响故障的诊断效率。
在一种可能的实现方式中,该方法还包括:向父节点发送异常指示标识,其中,异常指示标识用于指示父节点将父节点上trace标识对应的第二链路信息和第二链路聚合信息,传输至计算中心,第二链路信息包括父节点的子span标识和内部关键调用堆栈,第二链路聚合信息由父节点的子节点发送的链路聚合信息聚合后获得。
本申请所示的方案,目标节点在根据存储的异常判别规则,确定trace标识指示的服务调用存在异常的情况下,目标节点可以确定发送第一调用请求的父节点。然后目标节点向父节点发送响应消息,并在该响应消息中携带异常指示标识。该异常指示标识用于指示父节点将父节点上该trace标识对应的第二链路信息和自身的子节点发送的链路聚合信息聚合后的信息,传输至计算中心。这样,还可以为计算中心提供服务调用存在异常的目标节点的父节点上的链路信息,便于计算中心确定故障位置。
在一种可能的实现方式中,该异常指示标识还用于指示父节点通知直接或间接调用父节点的上游节点,将trace标识对应的第三链路信息和第三链路聚合信息,传输至计算中心,第三链路信息包括上游节点的子span标识和内部关键调用堆栈,第二链路聚合信息由上游节点的子节点发送的链路信息聚合后获得。
本申请所示的方案,目标节点向父节点提供的异常指示消息,还可以通知目标节点的父节点的父节点发送响应消息。该响应消息中也包括异常指示标识,该异常指示标识用于指示该父节点的父节点将trace标识对应的第三链路信息和第三链路聚合信息,传输至计算中心。这样,可以获取到trace标识指示的调用链的更多的信息,便于计算中心确定故障位置。
在一种可能的实现方式中,该方法还包括:在根据存储的异常判别规则,确定trace标识指示的服务调用未存在异常的情况下,将第一链路信息和第一链路聚合信息,进行聚合处理,获得第四链路汇聚信息;向父节点发送第四链路汇聚信息。
本申请所示的方案,目标节点在根据存储的异常判别规则,确定trace标识指示的服务调用未存在异常的情况下,目标节点可以将第一链路信息和目标节点的所有子节点发送的链路聚合信息进行聚合处理,获得第四链路聚合信息。然后目标节点将第四链路聚合信息发送至计算中心。这样,即便在服务调用正常的情况下,为上游节点提供下游节点的信息。
在一种可能的实现方式中,该方法还包括:若本节点的任一子节点对应的接口返回状态码异常、接口返回错误码包括预设关键字、接口响应时长异常或者对应异常指示标识中一种或多种满足,则确定trace标识指示的服务调用存在异常。
本申请所示的方案,本节点在此处可以称为是目标节点。目标节点可以从目标节点的任一子节点返回的响应消息中,获取每个响应消息中的接口返回状态码。目标节点确定每个接口返回状态码是否是预设数值范围。若一个或多个接口返回状态码为预设数值范围,则目标节点可以确定trace标识指示的服务调用存在异常。目标节点可以确定接收目标节点的任一子节点返回的响应消息的时间点,确定发出调用请求的时间点至接收到响应消息的时长(即接口响应时长)。目标节点确定每个接口响应时长是否超过预设时长。若一个或多个接口响应时长超过预设时长,则目标节点可以确定trace标识指示的服务调用存在异常。目标节点可以从目标节点的任一子节点返回的响应消息中,获取每个响应消息中的接口返回错误码。目标节点确定每个接口返回错误码是否是预设关键字。若一个或多个接口返回错误码是预设关键字,则目标节点可以确定trace标识指示的服务调用存在异常。上述三种情况是针对目标节点的本地调用错误,确定出trace标识指示的服务调用存在异常。若上述这三种情况中,至少有一种情况满足,则目标节点可以确定trace标识指示的服务调用存在异常。trace标识指示的服务调用存在异常还包括以下情况,在目标节点接收到直接调用的子节点发送的响应消息后,若该响应消息中包括异常指示标识,则也可以确定trace标识指示的服务调用存在异常。该种情况下,实际上是目标节点的下游节点的服务调用异常,这样,可以准确的判断服务调用存在异常。
在一种可能的实现方式中,该方法包括:周期性判断是否接收到异常判别规则;在接收到异常判别规则时,使用接收到的异常判别规则替换当前存储的异常判别规则。
本申请所示的方案,目标节点可以按照预设的周期,周期性判断是否接收到异常判别规则。目标节点在确定接收到异常判别规则时,可以使用接收到的异常判别规则,替换当前存储的异常判别规则。这样,可以实现异常判别规则的及时更新。
第二方面,本申请提供了一种分布式链路采集的装置,该装置包括一个或多个模块,该一个或多个模块用于实现上述第一方面或第一方面的可能的实现方式所提供的分布式链路采集的方法。
第三方面,本申请提供了一种分布式链路采集的计算设备,该计算设备包括处理器和存储器,所述存储器中存储有计算机指令;所述处理器执行所述计算机指令,使得计算设备实现上述第一方面或第一方面的可能的实现方式所提供的分布式链路采集的方法,或者使得所述计算设备实现上述第三方面提供的分布式链路采集的装置的功能。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,所述计算机指令指示所述计算设备执行上述第一方面或第一方面的可能的实现方式所提供的分布式链路采集的方法,或者所述计算机指令指示所述计算设备部署上述第三方面提供的分布式链路采集的装置。
第五方面,本申请提供了一种包含指令的计算机程序产品,计算机程序产品包括的计算机指令指示所述计算设备执行上述第一方面或第一方面的可能的实现方式所提供的分布式链路采集的方法,或者计算机程序产品包括的计算机指令指示所述计算设备部署上述第三方面提供的分布式链路采集的装置。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例中,通过仅采集存在故障的链路,不仅有效降低分布式链路采样总量的同时,而且还可以保证不影响故障的诊断效率。而且由于仅采集存在故障的链路,不仅可以使得计算中心的计算量降低,而且使得占用的存储资源减少。
附图说明
图1是本申请实施例提供的一种span的示意图图;
图2是本申请实施例提供的一种计算设备的结构示意图;
图3是本申请实施例提供的一种分布式链路采集的场景示意图;
图4是本申请实施例提供的一种分布式链路采集的方法的流程示意图;
图5是本申请实施例提供的一种分布式链路采集的应用场景示意图;
图6是本申请实施例提供的一种分布式链路采集的装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于对本申请实施例的理解,下面首先介绍所涉及到的名词的概念:
调用链(Trace),表示对一次业务请求完整调用的跟踪。具体的,表示在一次业务请求中,微服务架构中执行业务请求的第一个微服务生成一个全局唯一的trace标识,该trace标识用于标识此次业务请求,该trace标识在这次业务请求调用过程中,无论经过多少个微服务都会保持不变,并且在随着每一层微服务的调用不停的传递。最终,可以通过trace标识将这一次业务请求在微服务架构中的路径全部串起来。例如,在执行某次请求时,微服务A调用微服务B,微服务B调用微服务C和微服务D,从微服务A至微服务B,以及从微服务B至微服务C和微服务D为一条调用链。
调用跨度(Span),从调用链的第一个微服务(可以称为是微服务1)开始,第一个span如图1所示,流程为:微服务1发送调用请求给自身下游的下一个微服务2。微服务2接收到调用请求后,微服务2开始处理,处理好之后,将响应消息发送至微服务1,微服务1接收到该响应消息后,这个过程可以认为是一个span。当然微服务不可能仅是这两个,多个span即可组成一个trace。
微服务,以专注于单一责任与功能的小型功能区块(Small Building Blocks)为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关(Language-Independent/Language agnostic)的应用程序编程接口(ApplicationProgramming Interface,API)集相互通讯。
为了解决无法诊断故障原因的问题,本申请实施例提供了一种分布式链路采集的方法,该方法的执行主体可以为分布式链路采集的目标节点。其中,目标节点可以是软件装置,也可以是硬件装置。目标节点为硬件装置时,目标节点可以是设置有微服务的计算设备等。目标节点为软件装置时,可以是部署在计算设备(该计算设备上设置有微服务的)上的软件程序等。
图2示例性的提供了本申请的计算设备的一种可能的架构图。计算设备可以包括处理器201、存储器202、通信接口203和总线204。在计算设备中,处理器201的数量可以是一个或多个,图2仅示意了其中一个处理器201。可选的,处理器201可以是中央处理器(Central Processing Unit,CPU)。若计算设备具有多个处理器201,多个处理器201的类型可以不同,或者可以相同。可选的,计算设备的多个处理器还可以集成为多核处理器。
存储器202存储计算机指令和数据,存储器202可以存储实现本申请提供的分布式链路采集的方法所需的计算机指令和数据。存储器202可以是以下存储介质的任一种或任一种组合:非易失性存储器(如只读存储器(Read-Only Memory,ROM)、固态硬盘(SolidState Disk,SSD)、硬盘(Hard Disk Drive,HDD)、光盘等)、易失性存储器。
通信接口203可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。
通信接口203用于计算设备与其他计算设备或者终端进行数据通信。
图2用一条粗线表示总线204。总线204可以将处理器201与存储器202、通信接口203连接。这样,通过总线204,处理器201可以访问存储器202,还可以利用通信接口203与其它节点或者终端进行数据交互。
在本申请中,计算设备执行存储器202中的计算机指令,使得计算设备实现本申请提供的分布式链路采集的方法。例如,使得计算设备执行后文中分布式链路采集的方法中由接收模块执行的步骤。再例如,使得计算设备执行后文中分布式链路采集的方法中由发送模块执行的步骤。
本申请可以应用于如图3所示的微服务架构中,包括微服务1、微服务2、…、微服务n(均属于分布式微服务,各微服务在执行业务处理时产生调用链),n取值大于2,在每个微服务中设置有一个进程,用于判定服务调用是否存在异常。微服务架构还连接有配置中心,该配置中心可以通过硬件实现,也可以通过软件实现。该配置中心用于为微服务架构下发异常判别规则。微服务架构还连接有计算中心,该计算中心可以通过硬件实现,也可以通过软件实现,该计算中心可以用于基于微服务提供的链路信息等,确定故障原因。在具体实现时,配置中心与计算中心可以部署在同一硬件设备中,也可以部署在不同的硬件设备中。
在本实施例中,为使用微服务架构的用户(在本申请中用户可以是运维人员),提供用户界面(User Interface,UI)用于配置异常判别规则。用户可以在该UI界面中设置异常判别规则的各项内容,异常判别规则用于判定服务调用是否存在异常。具体的,异常判别规则可以包括接口响应时长超过预设时长(如500ms)、接口返回状态码为预设数值范围(如0~200、400~600等)、接口返回错误码为预设关键字等,该预设关键字可以为错误(error)、失败(failed)、例外(exception)等。此处需要说明的是接口响应时长实际上是调用时长。例如,对于超文本传输协议http,接口返回状态码为非200时为服务调用异常。异常判别规则还可以包括响应消息中的异常指示标识。例如,异常指示标识的取值为“真(true)”。
用户在UI界面中设置异常判别规则的各项内容后,可以将异常判别规则发送至配置中心(如配置服务器等)。配置中心接收到异常判别规则后,可以将该异常判别规则使用键值对的方式进行存储。然后配置中心可以将异常判别规则发送至各个微服务所在节点。各个微服务所在节点接收到异常判别规则后,可以存储异常判别规则。
另外,用户提交异常判别规则的各项内容后,还可以通过UI界面对异常判别规则进行修改,并将修改后的异常判别规则发送至配置中心。配置中心接收到修改后的异常判别规则后,可以对修改后的异常判别规则进行存储,并且将修改后的异常判别规则发送至各个微服务所在节点。各个微服务所在节点可以按照预设的周期(如该周期为30秒等),周期性判断是否接收到异常判别规则。各个微服务所在节点在确定接收到异常判别规则时,各个微服务所在节点可以使用接收到的异常判别规则,替换当前存储的异常判别规则。这样,可以实现异常判别规则的及时更新。
另外,各个微服务所在节点也可以周期性向异常判别规则的配置中心,发送异常判别规则的获取请求。若该配置中心中已对已有的异常判别规则进行更新,则该配置中心可以向各个微服务所在节点发送更新后的异常判别规则,这样,各个微服务所在节点可以及时的对异常判别规则进行更新。若该配置中心中一直未对已有的异常判别规则进行更新,则该配置装置可以向各个微服务所在节点发送未更新指示消息。
这样,通过上述方式,微服务架构上的各个微服务所在节点上均获取到异常判别规则。
下面将结合具体实施方式,对图4所示的处理流程进行详细的说明,内容可以如下:
步骤401,目标节点接收父节点发送的第一调用请求,第一调用请求包括trace标识和父节点分配的span标识。
其中,目标节点为首节点之外的节点。
在本实施例中,在微服务框架中,接收到一个业务请求。在执行该业务请求对应的处理时,要执行该业务请求的微服务中除第一个微服务之外的任一微服务所在节点,都会接收到上游的微服务所在节点(可以称为是父节点)发送的第一调用请求。第一调用请求包括trace标识和span标识,该trace标识用于指示该业务请求的唯一标识,该span标识用于指示被调用微服务所在子节点(即后文中提到的目标节点)的span标识。属于被调用微服务的目标节点可以接收到第一调用请求。
此处需要说明的是,第一个微服务所在节点(即首节点)会接收到业务请求。该首节点可以执行自身所要执行的处理,具体处理是:生成该业务请求对应的trace标识和一个span标识。在首节点要调用第二个微服务时,可以为第二个微服务生成一个span标识(该span标识在第二个微服务中作为父span标识),将该span标识添加至第一调用请求。该第一调用请求包括该trace标识和该span标识。然后首节点向第二个微服务所在节点发送第一调用请求。
步骤402,目标节点执行子节点调用处理,获取目标节点的所有子节点发送的链路聚合信息,其中,对于任一子节点发送的链路聚合信息,子节点发送的链路聚合信息包括子节点的下游调用过程中的span数目、span深度、涉及的中间件、涉及的微服务名称中的一种或者多种。
在本实施例中,目标节点接收到第一调用请求后,如果该目标节点有下游的微服务要调用,目标节点在执行完自己的内部处理后,可以执行调用下游的微服务的处理。具体的,目标节点可以生成一个span标识,并将第一调用请求中的span标识作为目标节点生成的span标识的父span标识,并将目标节点生成的span标识,作为该父span标识的子span标识。目标节点可以向下游的微服务所在节点(即目标节点的子节点)发送第二调用请求。第二调用请求中携带有trace标识和目标节点生成的span标识。这样,由于目标节点为其调用的微服务生成span标识,所以目标节点可以获取到目标节点的子span标识。
目标节点可以接收自身的所有子节点返回的响应消息,在每个子节点返回的响应消息中包括该子节点的链路聚合信息,该链路聚合信息可以包括该子节点的下游调用过程中的span数目、span深度、涉及的中间件、涉及的微服务名称中的一种或者多种。span数目为属于trace标识的调用链中,目标节点的下游的所有节点所经历的span的总数。span深度为属于trace标识的调用链中,目标节点的下游的所有节点的最长深度。例如,微服务A调用微服务B、微服务B调用微服务C和微服务D,微服务C调用微服务E,微服务B的服务调用存在异常,微服务B的下游所经历的span的总数为3,span深度为2。调用过程中涉及的中间件可以包括结构化查询语言(Structured Query Language,SQL)、消息队列(Message Queue)MQ、缓存以及对应的实例名等。调用过程中涉及的微服务名称为在调用过程中被调用的微服务的名称。
步骤403,目标节点根据存储的异常判别规则,确定trace标识指示的服务调用是否存在异常。
在本实施例中,目标节点可以从目标节点的任一子节点返回的响应消息中,获取每个响应消息中的接口返回状态码。目标节点确定每个接口返回状态码是否是预设数值范围。若一个或多个接口返回状态码为预设数值范围,则目标节点可以确定trace标识指示的服务调用存在异常。此处多个接口返回状态码的情况是:目标节点的直接调用的多个子节点返回的响应消息中都包括接口返回状态码。
目标节点可以确定接收目标节点的任一子节点返回的响应消息的时间点,确定发出第二调用请求的时间点至接收到响应消息的时长(即接口响应时长)。目标节点确定每个接口响应时长是否超过预设时长。若一个或多个接口响应时长超过预设时长,则目标节点可以确定trace标识指示的服务调用存在异常。此处多个接口响应时长的情况是:目标节点直接调用的多个子节点都返回响应消息。
目标节点可以从目标节点的任一子节点返回的响应消息中,获取每个响应消息中的接口返回错误码。目标节点确定每个接口返回错误码是否是预设关键字。若一个或多个接口返回错误码是预设关键字,则目标节点可以确定trace标识指示的服务调用存在异常。此处多个接口返回状态码的情况是:目标节点的直接调用的多个子节点返回的响应消息中都包括接口返回错误码。
上述三种情况是针对目标节点的本地调用错误,确定出trace标识指示的服务调用存在异常。若上述这三种情况中,至少有一种情况满足,则目标节点可以确定trace标识指示的服务调用存在异常。
另外,trace标识指示的服务调用存在异常还包括以下情况,在目标节点接收到直接调用的子节点发送的响应消息后,若该响应消息中包括异常指示标识,则也可以确定trace标识指示的服务调用存在异常。该种情况下,实际上是目标节点的下游的节点的服务调用存在异常。
若上述这四种情况中,四种情况至少一种满足,则目标节点可以确定trace标识指示的服务调用存在异常。若上述这四种情况中,四种情况均不满足,则目标节点可以确定trace标识指示的服务调用未存在异常。
例如,如图5所示,微服务A调用微服务B,微服务B调用微服务C。步骤1,微服务A向微服务B发送第一调用请求。步骤2,微服务B接收第一调用请求,进行内部处理。步骤3,微服务B向微服务C发送第二调用请求。步骤4,微服务C接收第二调用请求,进行内部处理。步骤5,微服务C向微服务B发送响应消息。步骤6,微服务B接收微服务C发送的响应消息,进行内部处理。步骤7,微服务B向微服务A发送响应消息。在该7个步骤中,只要步骤2、步骤3、步骤5、步骤6发生错误,均是微服务B中的服务调用存在异常。对于步骤2,是微服务B内部处理错误;对于步骤3,是微服务B未发出第二调用请求;对于步骤5微服务B未接收到微服务C发送的响应消息或者,接收响应消息的时长(即接口响应时长)超过上述的预设时长;对于步骤6,是内部处理错误。
需要说明的是,在步骤403中,目标节点可以先判断接收到的下游微服务所在节点发送的响应消息中是否存在异常指示标识,若该响应消息中包括异常指示标识,则可以直接确定trace标识指示的服务调用存在异常,而不用判断目标节点本地调用是否存在异常。若该响应消息中未包括异常指示标识,则目标节点再去判断本地调用是否异常。
步骤404,目标节点在根据存储的异常判别规则,确定trace标识指示的服务调用存在异常的情况下,将目标节点的所有子节点的链路聚合信息进行聚合处理,获取第一链路聚合信息;将目标节点上trace标识对应的第一链路信息和第一链路聚合信息,传输至计算中心,其中,第一链路信息包括本节点的子span标识和内部关键调用堆栈。
其中,计算中心可以是用于确定微服务架构的链路装置,如服务器等。
本实施例中,若目标节点确定trace标识指示的服务调用存在异常,则可以获取本节点上该trace标识对应的第一链路信息。该第一链路信息包括目标节点的子span标识和内部关键调用堆栈,内部调用堆栈可以包括目标节点内部调用的关键函数调用情况、内部调用异常情况等。然后目标节点可以将第一链路信息发送至计算中心。
并且,目标节点可以将目标节点的所有子节点的链路聚合信息进行聚合处理,获取第一链路聚合信息。具体的,目标节点将所有链路聚合信息中的span数目相加,获得第一链路聚合信息中的span数目。目标节点将所有链路聚合信息中的最长span深度加1,获得第一链路聚合信息中的span深度。目标节点将所有链路聚合信息中的涉及的中间件取并集,获得第一链路聚合信息中涉及的中间件。目标节点将所有链路聚合信息中的涉及的微服务名称取并集,获得第一链路聚合信息中涉及的微服务名称。然后目标节点可以将第一链路聚合信息发送至计算中心。
具体的,目标节点可以将第一链路聚合信息和第一链路信息一起打包发送至计算中心。
此处需要说明的是,本实施例中是假设目标节点还要调用下游的微服务,若目标节点不再调用下游的微服务,目标节点不会接收到下游的微服务所在节点发送的链路聚合信息。
另外,第一链路信息中的子span标识是目标节点直接调用的所有微服务的子span标识。例如,微服务A调用微服务B,微服务B调用微服务C和微服务D,微服务B的服务调用存在异常,微服务B的子span标识包括微服务C的子span标识、以及微服务D的子span标识。第一链路信息中还可以包括本地调用时长,即目标节点调用其子节点所用的时长。例如,微服务A调用微服务B,微服务B调用微服务C和微服务D。对于微服务A来说,本地调用时长为微服务A从向微服务B发出调用请求至接收到微服务B发送的响应消息的时长。
步骤405,目标节点在根据存储的异常判别规则,确定trace标识指示的服务调用存在异常的情况下,目标节点向父节点发送异常指示标识,其中,该异常指示标识用于指示父节点将父节点上trace标识对应的第二链路信息和第二链路聚合信息,传输至计算中心,第二链路信息包括父节点的子span标识和内部关键调用堆栈,第二链路聚合信息由父节点的子节点发送的链路聚合信息聚合后获得。
在本实施例中,目标节点在根据存储的异常判别规则,确定trace标识指示的服务调用存在异常的情况下,目标节点可以确定发送第一调用请求的父节点。然后目标节点向父节点发送响应消息,并在该响应消息中携带异常指示标识。该异常指示标识用于指示父节点将父节点上该trace标识对应的第二链路信息和自身子节点的链路聚合信息,传输至计算中心。
父节点接收到目标节点发送的响应消息后,可以解析该响应消息,获取到异常指示标识,进而可以确定trace标识对应的服务调用存在异常。父节点可以获取该trace标识对应的第二链路信息,该第二链路信息可以包括该父节点的所有子span标识和内部调用堆栈。并且父节点获取到异常指示标识后,还可以将自身的子节点发送的链路聚合信息,进行聚合处理,获得第二链路聚合信息(聚合处理见步骤404)。该父节点将第二链路聚合信息和第二链路信息发送至计算中心。这样,还可以为计算中心提供服务调用存在异常的目标节点的父节点上的链路信息,便于计算中心确定故障位置。
例如,执行一个业务请求时,微服务A所在节点为首节点,生成trace标识。微服务A调用微服务B,微服务B调用微服务C和微服务D。微服务B确定该trace标识对应的服务调用存在异常。微服务B所在节点向微服务A所在节点(即父节点)发送响应消息,该响应消息中携带有异常指示标识。微服务A所在的父节点将该trace标识对应的第二链路信息发送至计算中心。
另外,第二链路信息中的子span标识是父节点调用的所有微服务的子span标识。第二链路信息中还可以包括本地调用时长,即父节点调用其子节点所用的时长。例如,微服务A调用微服务B,微服务B调用微服务C和微服务D。对于微服务A来说,本地调用时长为微服务A从向微服务B发出调用请求至接收到微服务B发送的响应消息的时长。
另外,父节点接收到包括异常指示标识的响应消息后,可以向该父节点的父节点发送响应消息。该响应消息中也包括异常指示标识,该异常指示标识用于指示该父节点的父节点将trace标识对应的第三链路信息和第三链路聚合信息,传输至计算中心。第三链路信息可以包括该父节点的父节点的子span标识和内部关键调用堆栈。这样,该父节点的父节点也可以向其父节点发送包括异常指示标识的响应消息。这样,相当于异常指示标识还用于指示目标节点的父节点通知直接或间接调用该父节点的节点,将trace标识对应的第三链路信息,传输至计算中心。第三链路聚合信息是目标节点的父节点的每个上游父节点将接收自自身的子节点的链路聚合信息,进行聚合处理后获得。这样,可以为计算中心提供更多Trace标识对应的信息,便于计算中心定位故障位置。
步骤406,目标节点在根据存储的异常判别规则,确定trace标识指示的服务调用未存在异常的情况下,将第一链路信息和第一链路聚合信息,进行聚合处理,获得第四链路汇聚信息。目标节点向父节点发送第四链路汇聚信息。
其中,第一链路诊断信息还包括目标节点调用的中间件、以及目标节点调用的微服务的微服务名称等。
本实施例中,目标节点在根据存储的异常判别规则,确定trace标识指示的服务调用未存在异常的情况下,目标节点可以将第一链路信息和目标节点的所有子节点发送的链路聚合信息进行聚合处理,获得第四链路聚合信息。具体的,目标节点可以将第一链路信息中子span标识、本地调用时长和内部调用堆栈,添加至第一链路聚合信息中,并且目标节点将第一链路信息中子span标识的数目与第一链路聚合信息中的span数目相加,获得第四链路聚合信息中的span数目。并且目标节点将第一链路聚合信息中的span深度加1,获得第四链路聚合信息中的span深度。并且目标节点将第一链路聚合信息中的中间件与第一链路信息中的中间件取并集,获得第四链路聚合信息中的中间件。并且目标节点将第一链路聚合信息中的微服务名称与第一链路信息中的微服务名称取并集,获得第四链路聚合信息中的中间件。然后目标节点向父节点发送第四链路聚合信息。这样,即便在服务调用正常的情况下,也可以为上游节点提供下游节点的信息。
另外,在本实施例中,计算中心接收到trace标识对应的所有链路信息和链路聚合信息后,可以对所有链路信息和链路聚合信息进行校验和清洗,保存到数据库,并为其建立索引。例如,计算中心可以使用trace标识建立索引等。另外,为了节约存储资源,计算中心还可以对所有链路信息和链路聚合信息进行压缩后,进行存储。
另外,计算中心可以根据链路信息和链路聚合信息,确定出故障位置,并且发出告警给用户的终端,这样,用户可以及时的了解故障的微服务,进而可以采取相应的措施。具体的,计算中心可以通过链路信息和链路聚合信息(如分析关键调用堆栈是否正确,调用顺序是否正常等),确定出故障节点和对应的程序堆栈,然后计算中心将故障节点和对应的程序堆栈发送给用户的终端。
需要说明的是,在本实施例中,目标节点是执行业务请求的调用链上除首节点和尾节点之外的任一节点。
另外,目标节点上设置有采集装置,用于拦截各类微服务调用,以创建span标识,trace标识,并且传递span标识、trace标识等。该采集装置可以类似于java应用中无侵入式加载类库javaagent等。另外,该采集装置还用于目标节点接收配置中心下发的异常判别规则,并且根据异常判别规则,向计算中心发送链路信息、链路聚合信息等。
另外,在本实施例中还提供了避免微服务频繁报错导致链路信息上报超载的处理:在微服务框架的实际运行过程中,微服务频繁报错,有可能导致链路信息100%上传。计算中心在一个统计周期内,若计算中心确定出错率超过预设数值,则计算中心通知微服务框架中各微服务所在节点除已经上报的内容之外的其他内容,不再将其他内容上报至计算中心。
需要说明的是,在本申请实施例中,子节点指被调用微服务所运行的节点。
本申请实施例中,通过异常判别规则,判定存在故障的链路,通过仅采集存在故障的链路,不仅有效降低分布式链路采样总量的同时,而且还可以保证不影响故障的诊断效率。而且由于仅采集存在故障的链路,还可以使得计算中心的计算量降低,而且使得占用的存储资源减少。
图6是本申请实施例提供的分布式链路采集的装置的结构图。该装置可以通过软件、硬件或者两者的结合实现成为装置中的部分或者全部。本申请实施例提供的装置可以实现本申请实施例图4所述的流程,该装置包括:接收模块610、执行模块620和发送模块630,其中:
接收模块610,用于接收父节点发送的第一调用请求,其中,所述第一调用请求包括调用链trace标识和所述父节点分配的调用跨度span标识,具体可以用于实现步骤401的接收功能以及步骤401包含的隐含步骤;
执行模块620,用于执行子节点调用处理,获取本节点的所有子节点发送的链路聚合信息,其中,对于任一子节点发送的链路聚合信息,所述子节点发送的链路聚合信息包括所述子节点的下游调用过程中的span数目、span深度、涉及的中间件、涉及的微服务名称中的一种或者多种;在根据存储的异常判别规则,确定所述trace标识指示的服务调用存在异常的情况下,将所述本节点的所有子节点的链路聚合信息进行聚合处理,获得第一链路聚合信息,具体可以用于实现步骤402至404的执行功能以及步骤402至404包含的隐含步骤;
发送模块630,用于将本节点上所述trace标识对应的第一链路信息和所述第一链路聚合信息,传输至计算中心,其中,所述第一链路信息包括所述本节点的子span标识和内部关键调用堆栈,所述子span标识的父span标识为所述父节点分配的span标识,具体可以用于实现步骤404的发送功能以及步骤404包含的隐含步骤。
在一种可能的实现方式中,所述发送模块630,还用于:
向所述父节点发送异常指示标识,其中,所述异常指示标识用于指示所述父节点将所述父节点上所述trace标识对应的第二链路信息和第二链路聚合信息,传输至所述计算中心,所述第二链路信息包括所述父节点的子span标识和内部关键调用堆栈,所述第二链路聚合信息由所述父节点的子节点发送的链路聚合信息聚合后获得。
在一种可能的实现方式中,所述异常指示标识还用于指示所述父节点通知直接或间接调用所述父节点的上游节点,将所述trace标识对应的第三链路信息和第三链路聚合信息,传输至所述计算中心,所述第三链路信息包括所述上游节点的子span标识和内部关键调用堆栈,所述第三链路聚合信息由所述上游节点的子节点发送的链路聚合信息聚合后获得。
在一种可能的实现方式中,所述执行模块620,还用于在根据存储的所述异常判别规则,确定所述trace标识指示的服务调用未存在异常的情况下,将所述第一链路信息和所述第一链路聚合信息,进行聚合处理,获得第四链路汇聚信息;
所述发送模块,还用于向所述父节点发送所述第四链路汇聚信息。
在一种可能的实现方式中,所述执行模块620,还用于:
若所述本节点的任一子节点对应的接口返回状态码异常、接口返回错误码包括预设关键字、接口响应时长异常或者对应异常指示标识中一种或多种满足,则确定所述trace标识指示的服务调用存在异常。
在一种可能的实现方式中,所述执行模块620,还用于:
周期性判断是否接收到异常判别规则;
在接收到异常判别规则时,使用接收到的异常判别规则替换当前存储的异常判别规则。
上述本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时也可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成为一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
需要说明的是:上述实施例提供的分布式链路采集的装置在分布式链路采集时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的分布式链路采集的装置与分布式链路采集的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在服务器或终端上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是服务器或终端能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。

Claims (12)

1.一种分布式链路采集的方法,其特征在于,所述方法包括:
接收父节点发送的第一调用请求,其中,所述第一调用请求包括调用链trace标识和所述父节点分配的调用跨度span标识;
执行子节点调用处理,获取本节点的所有子节点发送的链路聚合信息,其中,对于任一子节点发送的链路聚合信息,所述子节点发送的链路聚合信息包括所述子节点的下游调用过程中的span数目、span深度、涉及的中间件、涉及的微服务名称中的一种或者多种;
在根据存储的异常判别规则,确定所述trace标识指示的服务调用存在异常的情况下,将所述本节点的所有子节点的链路聚合信息进行聚合处理,获得第一链路聚合信息;
将本节点上所述trace标识对应的第一链路信息和所述第一链路聚合信息,传输至计算中心,其中,所述第一链路信息包括所述本节点的子span标识、内部关键调用堆栈和调用子节点所使用的时长,所述内部关键调用堆栈包括内部调用的关键函数调用情况以及内部调用异常情况,所述子span标识的父span标识为所述父节点分配的span标识;
向所述父节点发送异常指示标识,其中,所述异常指示标识用于指示所述父节点将所述父节点上所述trace标识对应的第二链路信息和第二链路聚合信息,传输至所述计算中心,所述第二链路信息包括所述父节点的子span标识和内部关键调用堆栈,所述第二链路聚合信息由所述父节点的子节点发送的链路聚合信息聚合后获得。
2.根据权利要求1所述的方法,其特征在于,所述异常指示标识还用于指示所述父节点通知直接或间接调用所述父节点的上游节点,将所述trace标识对应的第三链路信息和第三链路聚合信息,传输至所述计算中心,所述第三链路信息包括所述上游节点的子span标识和内部关键调用堆栈,所述第三链路聚合信息由所述上游节点的子节点发送的链路聚合信息聚合后获得。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在根据存储的所述异常判别规则,确定所述trace标识指示的服务调用未存在异常的情况下,将所述第一链路信息和所述第一链路聚合信息,进行聚合处理,获得第四链路汇聚信息;
向所述父节点发送所述第四链路汇聚信息。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若所述本节点的任一子节点对应的接口返回状态码异常、接口返回错误码包括预设关键字、接口响应时长异常或者对应异常指示标识中一种或多种满足,则确定所述trace标识指示的服务调用存在异常。
5.根据权利要求1或2所述的方法,其特征在于,所述方法包括:
周期性判断是否接收到异常判别规则;
在接收到异常判别规则时,使用接收到的异常判别规则替换当前存储的异常判别规则。
6.一种分布式链路采集的装置,其特征在于,所述装置包括:
接收模块,用于接收父节点发送的第一调用请求,其中,所述第一调用请求包括调用链trace标识和所述父节点分配的调用跨度span标识;
执行模块,用于执行子节点调用处理,获取本节点的所有子节点发送的链路聚合信息,其中,对于任一子节点发送的链路聚合信息,所述子节点发送的链路聚合信息包括所述子节点的下游调用过程中的span数目、span深度、涉及的中间件、涉及的微服务名称中的一种或者多种;在根据存储的异常判别规则,确定所述trace标识指示的服务调用存在异常的情况下,将所述本节点的所有子节点的链路聚合信息进行聚合处理,获得第一链路聚合信息;
发送模块,用于将本节点上所述trace标识对应的第一链路信息和所述第一链路聚合信息,传输至计算中心,其中,所述第一链路信息包括所述本节点的子span标识、内部关键调用堆栈和调用子节点所使用的时长,所述内部关键调用堆栈包括内部调用的关键函数调用情况以及内部调用异常情况,所述子span标识的父span标识为所述父节点分配的span标识;
向所述父节点发送异常指示标识,其中,所述异常指示标识用于指示所述父节点将所述父节点上所述trace标识对应的第二链路信息和第二链路聚合信息,传输至所述计算中心,所述第二链路信息包括所述父节点的子span标识和内部关键调用堆栈,所述第二链路聚合信息由所述父节点的子节点发送的链路聚合信息聚合后获得。
7.根据权利要求6所述的装置,其特征在于,所述异常指示标识还用于指示所述父节点通知直接或间接调用所述父节点的上游节点,将所述trace标识对应的第三链路信息和第三链路聚合信息,传输至所述计算中心,所述第三链路信息包括所述上游节点的子span标识和内部关键调用堆栈,所述第三链路聚合信息由所述上游节点的子节点发送的链路聚合信息聚合后获得。
8.根据权利要求6或7所述的装置,其特征在于,所述执行模块,还用于在根据存储的所述异常判别规则,确定所述trace标识指示的服务调用未存在异常的情况下,将所述第一链路信息和所述第一链路聚合信息,进行聚合处理,获得第四链路汇聚信息;
所述发送模块,还用于向所述父节点发送所述第四链路汇聚信息。
9.根据权利要求6或7所述的装置,其特征在于,所述执行模块,还用于:
若所述本节点的任一子节点对应的接口返回状态码异常、接口返回错误码包括预设关键字、接口响应时长异常或者对应异常指示标识中一种或多种满足,则确定所述trace标识指示的服务调用存在异常。
10.根据权利要求6或7所述的装置,其特征在于,所述执行模块,还用于:
周期性判断是否接收到异常判别规则;
在接收到异常判别规则时,使用接收到的异常判别规则替换当前存储的异常判别规则。
11.一种分布式链路采集的计算设备,其特征在于,所述计算设备包括处理器和存储器,其中:
所述存储器中存储有计算机指令;
所述处理器执行所述计算机指令,使得计算设备实现所述权利要求1-5任一项权利要求所述的方法,或者使得所述计算设备实现所述权利要求6-10任一项权利要求所述的装置的功能。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令指示计算设备执行所述权利要求1-5任一项权利要求所述的方法,或者所述计算机指令指示所述计算设备实现所述权利要求6-10任一项权利要求所述的装置的功能。
CN202010212340.6A 2020-03-24 2020-03-24 分布式链路采集的方法、装置、计算设备和存储介质 Active CN113452607B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010212340.6A CN113452607B (zh) 2020-03-24 2020-03-24 分布式链路采集的方法、装置、计算设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010212340.6A CN113452607B (zh) 2020-03-24 2020-03-24 分布式链路采集的方法、装置、计算设备和存储介质

Publications (2)

Publication Number Publication Date
CN113452607A CN113452607A (zh) 2021-09-28
CN113452607B true CN113452607B (zh) 2024-09-10

Family

ID=77807418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010212340.6A Active CN113452607B (zh) 2020-03-24 2020-03-24 分布式链路采集的方法、装置、计算设备和存储介质

Country Status (1)

Country Link
CN (1) CN113452607B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760188B (zh) * 2022-03-04 2024-01-23 青岛海尔科技有限公司 异常节点的确定方法及装置
CN114679487B (zh) * 2022-03-25 2023-12-22 度小满科技(北京)有限公司 链路处理方法、装置、存储介质、处理器
CN115022213B (zh) * 2022-06-30 2024-04-05 福州畅昕信息科技有限公司 一种请求异常识别的方法与存储介质
CN115190178B (zh) * 2022-08-10 2024-03-08 苏州创意云网络科技有限公司 一种微服务分流方法、装置和设备
CN115687406B (zh) * 2022-11-07 2023-08-01 北京优特捷信息技术有限公司 一种调用链数据的采样方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487596A (zh) * 2016-10-26 2017-03-08 宜人恒业科技发展(北京)有限公司 分布式服务跟踪实现方法
CN108768752A (zh) * 2018-06-25 2018-11-06 华为技术有限公司 故障定位方法、装置以及系统
CN110730246A (zh) * 2019-10-23 2020-01-24 家乡互动(厦门)网络科技有限公司 一种微服务架构下的分布式链路跟踪方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733710A (zh) * 2017-10-17 2018-02-23 平安科技(深圳)有限公司 链路调用关系的构建方法、装置、计算机设备及存储介质
CN109726016A (zh) * 2017-10-30 2019-05-07 阿里巴巴集团控股有限公司 一种用于分布式系统的链路追踪方法、装置和系统
CN108183927A (zh) * 2017-11-22 2018-06-19 链家网(北京)科技有限公司 一种分布式系统中链路调用的监控方法及系统
CN109697456B (zh) * 2018-11-21 2021-02-09 华为技术有限公司 业务分析方法、装置、设备及存储介质
CN109656700A (zh) * 2018-12-17 2019-04-19 广州市玄武无线科技股份有限公司 多租户下分布式链路跟踪方法、系统、设备以及存储介质
CN109684052B (zh) * 2018-12-26 2021-04-09 华为技术有限公司 事务分析方法、装置、设备及存储介质
CN109873717A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质
CN109981349B (zh) * 2019-02-27 2022-02-25 华为云计算技术有限公司 调用链信息查询方法以及设备
CN110457337A (zh) * 2019-08-19 2019-11-15 中国工商银行股份有限公司 链路聚合方法、系统和设备
CN110502494B (zh) * 2019-08-30 2022-03-18 北京思维造物信息科技股份有限公司 日志处理方法、装置、计算机设备及存储介质
CN110784339B (zh) * 2019-10-09 2022-08-26 杭州迪普科技股份有限公司 Lacp报文超时的故障检测方法、装置、电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487596A (zh) * 2016-10-26 2017-03-08 宜人恒业科技发展(北京)有限公司 分布式服务跟踪实现方法
CN108768752A (zh) * 2018-06-25 2018-11-06 华为技术有限公司 故障定位方法、装置以及系统
CN110730246A (zh) * 2019-10-23 2020-01-24 家乡互动(厦门)网络科技有限公司 一种微服务架构下的分布式链路跟踪方法

Also Published As

Publication number Publication date
CN113452607A (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
CN113452607B (zh) 分布式链路采集的方法、装置、计算设备和存储介质
US10389596B2 (en) Discovering application topologies
US10735522B1 (en) System and method for operation management and monitoring of bots
US8819701B2 (en) Cloud computing monitoring and management system
US7426654B2 (en) Method and system for providing customer controlled notifications in a managed network services system
US8626908B2 (en) Distributed capture and aggregation of dynamic application usage information
US20060085361A1 (en) Anomaly detector in a health care system using adapter
US20030212778A1 (en) UML representation of parameter calculation expressions for service monitoring
US20060233311A1 (en) Method and system for processing fault alarms and trouble tickets in a managed network services system
US20030120666A1 (en) Real-time monitoring of service performance through the use of relational database calculation clusters
US20060233313A1 (en) Method and system for processing fault alarms and maintenance events in a managed network services system
CN116166505B (zh) 金融行业双态it架构的监控平台、方法、存储介质及设备
CN110532322A (zh) 运维交互方法、系统、计算机可读存储介质及设备
US7509414B2 (en) System and method for collection, aggregation, and composition of metrics
CN112527484A (zh) 工作流断点续跑方法、装置、计算机设备及可读存储介质
CN101394314B (zh) 一种Web应用系统的故障定位方法
CN114125049A (zh) 遥测消息处理方法、装置、设备及存储介质
CN114422386B (zh) 一种微服务网关的监测方法及装置
CN113760677A (zh) 异常链路分析方法、装置、设备及存储介质
CN112527619A (zh) 一种基于有向无环图结构的分析链路调用方法及系统
CN112260902B (zh) 网络设备监控方法、装置、设备及存储介质
CN115037653B (zh) 业务流量监控方法、装置、电子设备和存储介质
WO2006044517A2 (en) Centralized management of software adapters
CN114880321A (zh) 一种业务预警方法和装置
CN114443343A (zh) 一种服务接口反馈异常信息方法、装置、设备、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220216

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant