用于云平台的全链路性能监控的方法和系统与流程

文档序号:33510025发布日期:2023-03-21 22:14阅读:23来源:国知局
用于云平台的全链路性能监控的方法和系统与流程

1.本公开涉及云平台技术领域,特别涉及一种用于云平台的全链路性能监控的方法和系统。


背景技术:

2.云计算平台也称为云平台,是指以互联网为平台,将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的模式。随着互联网和云计算的不断发展,越来越多企业的基础设施、业务应用和系统平台开始向云平台上迁移,企业上云之后,云平台的服务请求涉及到多个业务系统,系统之间存在接口及互相调用的情况。当某个节点出现异常,很难定位上下游的调用关系,较难排查异常是由哪个节点调用产生的。


技术实现要素:

3.本公开解决的一个技术问题是:现有技术无法实现对故障节点的定位。
4.鉴于此,本公开提供了一种用于云平台的全链路性能监控的方法或系统,以实现故障节点的定位。
5.根据本公开的一个方面,提供了一种用于云平台的全链路性能监控的方法,包括:对云平台的业务层、分布式应用层和基础设施层分别进行划分,以使得所述业务层、所述分布式应用层和所述基础设施层分别包括不同的节点;记录和监控每个节点的日志信息,所述日志信息包括节点被调用时的跟踪标识、调用的开始时间、调用方信息、请求的服务名、调用耗时和调用结果;将从所述云平台的用户层的客户端发起服务请求到服务器返回该服务请求的响应信息的过程中所调用的节点串联成调用链路,其中,所述调用链路包含唯一的跟踪标识;获得所述日志信息中与所述调用链路的跟踪标识对应的节点的调用耗时;以及根据与所述调用链路的跟踪标识对应的节点的调用耗时确定该节点是否出现故障。
6.在一些实施例中,根据与所述调用链路的跟踪标识对应的节点的调用耗时确定该节点是否出现故障的步骤包括:在与所述调用链路的跟踪标识对应的节点的调用耗时大于或等于阈值的情况下,确定该节点出现故障;以及在与所述调用链路的跟踪标识对应的节点的调用耗时小于所述阈值的情况下,确定该节点没有出现故障。
7.在一些实施例中,所述日志信息还包括协议类型和异常信息;所述调用方信息包括调用方的网际互连协议ip地址和端口。
8.在一些实施例中,所述方法还包括:根据出现故障的节点的日志信息中的异常信息确定该出现故障的节点的故障类型。
9.在一些实施例中,所述业务层包括不同的业务节点,所述分布式应用层包括不同的应用节点,所述基础设施层包括不同的基础设施节点。
10.根据本公开的另一个方面,提供了一种用于云平台的全链路性能监控的系统,包括:划分单元,用于对云平台的业务层、分布式应用层和基础设施层分别进行划分,以使得所述业务层、所述分布式应用层和所述基础设施层分别包括不同的节点;监控单元,用于记
录和监控每个节点的日志信息,所述日志信息包括节点被调用时的跟踪标识、调用的开始时间、调用方信息、请求的服务名、调用耗时和调用结果;链路获取单元,用于将从所述云平台的用户层的客户端发起服务请求到服务器返回该服务请求的响应信息的过程中所调用的节点串联成调用链路,其中,所述调用链路包含唯一的跟踪标识;调用耗时获取单元,用于获得所述日志信息中与所述调用链路的跟踪标识对应的节点的调用耗时;以及故障确定单元,用于根据与所述调用链路的跟踪标识对应的节点的调用耗时确定该节点是否出现故障。
11.在一些实施例中,所述故障确定单元用于在与所述调用链路的跟踪标识对应的节点的调用耗时大于或等于阈值的情况下,确定该节点出现故障,以及在与所述调用链路的跟踪标识对应的节点的调用耗时小于所述阈值的情况下,确定该节点没有出现故障。
12.在一些实施例中,所述日志信息还包括协议类型和异常信息;所述调用方信息包括调用方的网际互连协议ip地址和端口。
13.在一些实施例中,所述故障确定单元还用于根据出现故障的节点的日志信息中的异常信息确定该出现故障的节点的故障类型。
14.在一些实施例中,所述业务层包括不同的业务节点,所述分布式应用层包括不同的应用节点,所述基础设施层包括不同的基础设施节点。
15.根据本公开的另一个方面,提供了一种用于云平台的全链路性能监控的系统,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如前所述的方法。
16.根据本公开的另一个方面,提供了一种云平台,包括:如前所述的用于云平台的全链路性能监控的系统。
17.根据本公开的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现如前所述的方法。
18.在上述方法中,对云平台的业务层、分布式应用层和基础设施层分别进行划分,以使得业务层、分布式应用层和基础设施层分别包括不同的节点;记录和监控每个节点的日志信息,日志信息包括节点被调用时的跟踪标识、调用的开始时间、调用方信息、请求的服务名、调用耗时和调用结果;将从云平台的用户层的客户端发起服务请求到服务器返回该服务请求的响应信息的过程中所调用的节点串联成调用链路,其中,调用链路包含唯一的跟踪标识;获得日志信息中与调用链路的跟踪标识对应的节点的调用耗时;以及根据与调用链路的跟踪标识对应的节点的调用耗时确定该节点是否出现故障。该方法实现了对链路中故障节点的定位。
19.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
20.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
21.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
22.图1是示出根据本公开一些实施例的用于云平台的全链路性能监控的方法的流程
图;
23.图2是示出根据本公开另一些实施例的用于云平台的全链路性能监控的方法的流程示意图;
24.图3是示出根据本公开一些实施例的用于云平台的全链路性能监控的系统的结构示意图;
25.图4是示出根据本公开另一些实施例的用于云平台的全链路性能监控的系统的结构示意图;
26.图5是示出根据本公开另一些实施例的用于云平台的全链路性能监控的系统的结构示意图。
具体实施方式
27.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
28.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
29.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
30.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
31.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
32.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
33.图1是示出根据本公开一些实施例的用于云平台的全链路性能监控的方法的流程图。图2是示出根据本公开另一些实施例的用于云平台的全链路性能监控的方法的流程示意图。下面结合图1和图2详细描述根据本公开一些实施例的用于云平台的全链路性能监控的方法。如图1所示,该方法包括步骤s102至s110。如图2所示,云平台包括用户层、业务层、分布式应用层和基础设施层。
34.如图1所示,在步骤s102,对云平台的业务层、分布式应用层和基础设施层分别进行划分,以使得业务层、分布式应用层和基础设施层分别包括不同的节点。
35.在一些实施例中,业务层可以包括不同的业务节点,分布式应用层可以包括不同的应用节点,基础设施层可以包括不同的基础设施节点。例如,如图2所示,在对业务层、分布式应用层和基础设施层分别进行划分之后,业务层包括不同的业务节点a至f,分布式应用层可以包括不同的应用节点a至n,基础设施层可以包括不同的基础设施节点a至n。
36.回到图1,在步骤s104,记录和监控每个节点的日志信息。该日志信息包括节点被调用时的跟踪标识(trace_id)、调用的开始时间、调用方信息、请求的服务名、调用耗时和调用结果。例如,调用方信息可以包括调用方的ip(internet protocol,网际互连协议)地址和端口。
37.在一些实施例中,日志信息还可以包括协议类型和异常信息等。
38.这里,系统可以采用已知技术记录和监控每个节点的上述日志信息。
39.在步骤s106,将从云平台的用户层的客户端发起服务请求到服务器返回该服务请求的响应信息的过程中所调用的节点串联成调用链路,其中,该调用链路包含唯一的跟踪标识。
40.例如,如图2所示,客户端发起服务请求,调用业务节点a,此时的跟踪标识为0;当接着调用业务节点b时,跟踪标识为0.1
……
接下来依次调用业务节点e、应用节点a和基础设施节点n,当调用基础设施节点n时,跟踪标识为0.1.1.1.n。即,该客户端发起的服务请求依次调用业务节点a、业务节点b、业务节点e、应用节点a和基础设施节点n。然后,服务器返回该服务请求的响应信息,例如经过基础设施节点n、应用节点a、业务节点e、业务节点b和业务节点a返回。这样获得了在该过程中所调用的节点,即,业务节点a、业务节点b、业务节点e、应用节点a和基础设施节点n,这些节点串联成完整的调用链路,该调用链路包含唯一的跟踪标识0.1.1.1.n。
41.回到图1,在步骤s108,获得日志信息中与调用链路的跟踪标识对应的节点的调用耗时。
42.在前面的步骤s104中,已经记录了每个节点的日志信息,因此,可以在该步骤s108中,能够获得日志信息中与调用链路的跟踪标识对应的节点的调用耗时。
43.例如,在前面的示例中,调用链路的跟踪标识为0.1.1.1.n,与该跟踪标识对应的节点为业务节点a、业务节点b、业务节点e、应用节点a和基础设施节点n,这样就可以从这些节点的日志信息中获得与跟踪标识0.1.1.1.n对应的这些节点的调用耗时。
44.回到图1,在步骤s110,根据与调用链路的跟踪标识对应的节点的调用耗时确定该节点是否出现故障。
45.在一些实施例中,该步骤s110可以包括:在与调用链路的跟踪标识对应的节点的调用耗时大于或等于阈值的情况下,确定该节点出现故障;以及在与调用链路的跟踪标识对应的节点的调用耗时小于阈值的情况下,确定该节点没有出现故障。
46.例如,在上面的调用链路中,业务节点a、业务节点b、应用节点a和基础设施节点n的调用耗时分别小于阈值,则表明这些节点的调用耗时较短,没有出现故障,而业务节点e的调用耗时大于阈值,则表明业务节点e的调用耗时较长,出现了故障。这样实现了对链路中故障的定位。
47.需要说明的是,上述阈值可以根据实际情况或实际需要来设定。本公开的范围并不限于阈值的具体值。还需要说明的是,不同的链路可以对应不同的阈值,或者,不同的节点也可以对应不同的阈值。
48.在上述步骤中,通过对日志中同一链路的跟踪标识进行分析,便可以掌握服务调用的全链路的每个环节的调用耗时等,实现故障的快速定位。
49.至此,提供了根据本公开一些实施例的用于云平台的全链路性能监控的方法。该方法包括:对云平台的业务层、分布式应用层和基础设施层分别进行划分,以使得业务层、分布式应用层和基础设施层分别包括不同的节点;记录和监控每个节点的日志信息,日志信息包括节点被调用时的跟踪标识、调用的开始时间、调用方信息、请求的服务名、调用耗时和调用结果;将从云平台的用户层的客户端发起服务请求到服务器返回该服务请求的响
应信息的过程中所调用的节点串联成调用链路,其中,调用链路包含唯一的跟踪标识;获得日志信息中与调用链路的跟踪标识对应的节点的调用耗时;以及根据与调用链路的跟踪标识对应的节点的调用耗时确定该节点是否出现故障。该方法实现了对链路中故障节点的定位。
50.在一些实施例中,所述方法还可以包括:根据出现故障的节点的日志信息中的异常信息确定该出现故障的节点的故障类型。这里,异常信息可以反映节点出现的具体异常情况,因此,可以根据日志信息中的异常信息来确定该节点的故障是什么故障或者哪一类型的故障。这样实现了对故障类型的识别。
51.在现有技术中,对各个接口的调用情况不能做一个直观、全面的查看,对于各个服务接口的“健康度”较难做一个整体诊断。
52.而通过本公开实施例的上述方法,还可以根据节点的调用耗时来查看节点的“健康度”。例如,节点的调用耗时虽然小于阈值,但是比较接近阈值,则表明该节点存在出现故障的风险,容易出现故障,“健康度”较差。这样实现了对各个节点的“健康度”的检测。
53.本公开的方法以云平台为管理对象,具有如下优点:
54.1)通过服务请求链路追踪,实现故障的快速定位,缩短了故障排除时间。
55.2)将跨应用的所有调用链性能信息集中展现,从整体维度到局部维度展示各项指标。
56.3)通过分析各个调用环节的性能指标,梳理出服务之间的依赖关系,可进一步进行优化。
57.图3是示出根据本公开一些实施例的用于云平台的全链路性能监控的系统的结构示意图。如图3所示,该系统包括:划分单元302、监控单元304、链路获取单元306、调用耗时获取单元308和故障确定单元310。
58.划分单元302用于对云平台的业务层、分布式应用层和基础设施层分别进行划分,以使得业务层、分布式应用层和基础设施层分别包括不同的节点。
59.例如,业务层包括不同的业务节点,分布式应用层包括不同的应用节点,基础设施层包括不同的基础设施节点。
60.监控单元304用于记录和监控每个节点的日志信息。
61.该日志信息包括节点被调用时的跟踪标识、调用的开始时间、调用方信息、请求的服务名、调用耗时和调用结果。例如,调用方信息包括调用方的ip地址和端口。
62.在一些实施例中,该日志信息还可以包括协议类型和异常信息。
63.链路获取单元306用于将从云平台的用户层的客户端发起服务请求到服务器返回该服务请求的响应信息的过程中所调用的节点串联成调用链路。该调用链路包含唯一的跟踪标识。
64.调用耗时获取单元308用于获得日志信息中与调用链路的跟踪标识对应的节点的调用耗时。
65.故障确定单元310用于根据与调用链路的跟踪标识对应的节点的调用耗时确定该节点是否出现故障。
66.例如,故障确定单元310可以用于在与调用链路的跟踪标识对应的节点的调用耗时大于或等于阈值的情况下,确定该节点出现故障,以及在与调用链路的跟踪标识对应的
节点的调用耗时小于阈值的情况下,确定该节点没有出现故障。
67.至此,提供了根据本公开一些实施例的用于云平台的全链路性能监控的系统。在该系统中,划分单元对云平台的业务层、分布式应用层和基础设施层分别进行划分,以使得业务层、分布式应用层和基础设施层分别包括不同的节点;监控单元记录和监控每个节点的日志信息,日志信息包括节点被调用时的跟踪标识、调用的开始时间、调用方信息、请求的服务名、调用耗时和调用结果;链路获取单元将从云平台的用户层的客户端发起服务请求到服务器返回该服务请求的响应信息的过程中所调用的节点串联成调用链路,其中,调用链路包含唯一的跟踪标识;调用耗时获取单元获得日志信息中与调用链路的跟踪标识对应的节点的调用耗时;以及故障确定单元根据与调用链路的跟踪标识对应的节点的调用耗时确定该节点是否出现故障。上述系统实现了对链路中故障节点的定位。
68.在一些实施例中,故障确定单元还可以用于根据出现故障的节点的日志信息中的异常信息确定该出现故障的节点的故障类型。
69.图4是示出根据本公开另一些实施例的用于云平台的全链路性能监控的系统的结构示意图。该系统包括存储器410和处理器420。其中:
70.存储器410可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储图1所对应实施例中的指令。
71.处理器420耦接至存储器410,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器420用于执行存储器中存储的指令,实现了对链路中故障节点的定位。
72.在一些实施例中,还可以如图5所示,系统500包括存储器510和处理器520。处理器520通过bus总线530耦合至存储器510。系统500还可以通过存储接口540连接至外部存储装置550以便调用外部数据,还可以通过网络接口560连接至网络或者另外一台计算机系统(未标出),此处不再进行详细介绍。
73.在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,实现了对链路中故障节点的定位。
74.在本公开的一些实施例中,还提供了一种云平台,该云平台包括如前所述的用于云平台的全链路性能监控的系统(例如,如图3、图4或图5所示的系统)。
75.在另一些实施例中,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现图1所对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
76.本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
77.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
78.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
79.至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
80.虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1