网络产品应用的分布式调用的链路跟踪方法及装置制造方法及图纸

技术编号:37890997 阅读:18 留言:0更新日期:2023-06-18 11:54
本发明专利技术实施例涉及IT应用技术领域,公开了一种网络产品应用的分布式调用的链路跟踪方法及装置,该方法包括:获取经网关工程处理后的用户请求;对所述用户请求进行链路优先级设置和日志填充请求链路标识;设置链路和日志的多种场景下的采样规则;定义不同语言的插件,并应用所述插件进行插桩并采样符合所述采样规则的请求链路;对所述请求链路产生的日志信息进行上报、存储及分析。通过上述方式,本发明专利技术实施例能够将不同语言的插件的请求链路标识与日志之间进行关联,方便的调用链的跟踪定位。位。位。

【技术实现步骤摘要】
网络产品应用的分布式调用的链路跟踪方法及装置


[0001]本专利技术实施例涉及IT应用
,具体涉及一种网络产品应用的分布式调用的链路跟踪方法及装置。

技术介绍

[0002]分布式微服务架构下,大量的服务之间调用的相互依赖,一次请求可能会涉及到几十个服务的协同处理,如何快速准确的定位到线上的故障以及性能瓶颈,便成为开发必须面对的棘手问题。传统的日志监控等方法无法很好打到跟踪调用、排查问题、性能统计等需求。于是新的技术:将请求调用过程完整的链接起来,实现对请求调用路径监控的分布式调用链技术应运而生。
[0003]SkyWalking是一款专为微服务架构和云原生架构系统而设计并且支撑分布式链路追踪的应用程序性能监视器(Applications Manager,APM)系统。它提供了一种自动检测应用程序的方法:无需更改目标程序的任何源代码,以及具有高效流媒体功能模块的收集器。通过加载探针

非侵入式的方式手机应用链路信息,并对采集的调用链路信息进行分析,生成应用间关系和服务间关系以及服务指标。
[0004]现有技术中,SkyWalking只会采集部分数据,默认设置了3秒采样前3次。如此,假设在这台机器上在3秒内有多个使用了Spring、MySql、Redis调用的请求,在如果前三次都是Spring调用的话,其他MySql、Redis等调用就采样不到了。另外,SkyWalking并没有直接集成traceId到日志输出。

技术实现思路

[0005]鉴于上述问题,本专利技术实施例提供了一种网络产品应用的分布式调用的链路跟踪方法及装置,克服了上述问题或者至少部分地解决了上述问题。
[0006]根据本专利技术实施例的一个方面,提供了一种网络产品应用的分布式调用的链路跟踪方法,所述方法包括:获取经网关工程处理后的用户请求;对所述用户请求进行链路优先级设置和日志填充请求链路标识;设置链路和日志的多种场景下的采样规则;定义不同语言的插件,并应用所述插件进行插桩并采样符合所述采样规则的请求链路;对所述请求链路产生的日志信息进行上报、存储及分析。
[0007]在一种可选的方式中,所述获取经网关工程处理后的用户请求之前,包括:用户请求经过网关工程在header中添加请求标识;携带所述请求标识的所述用户请求经过网关工程转发。
[0008]在一种可选的方式中,所述对所述用户请求进行链路优先级设置和日志填充请求链路标识,包括:在插件的配置文件中添加采样级别参数;自定义插件的输出日志的格式并嵌入请求链路标识。
[0009]在一种可选的方式中,所述在插件的配置文件中添加采样级别参数,包括:如果仅对监控的类中的create方法采样,则将插件的配置文件中的采样级别参数配置为create;
如果仅对监控的类中的create和delete方法采样,则将插件的配置文件中的采样级别参数配置为delete;如果仅对监控的类中的create、delete和update方法采样,则将插件的配置文件中的采样级别参数配置为update;如果对监控的类中所有的方法采样,则将插件的配置文件中的采样级别参数配置为query。
[0010]在一种可选的方式中,所述设置链路和日志的多种场景下的采样规则,包括:在所述用户请求的header中添加强制采样标识,所述强制采样标识用于表示是否需要强制采样;在插件的配置文件中添加采样类型参数,所述采样类型参数用于表示采用默认采样方式或分组采样方式。
[0011]在一种可选的方式中,所述定义不同语言的插件,包括:定义Spring注解插件,编写Instrumentation类,在enhanceClass方法中对符合条件的类进行监控,并对@RestController、@Service注解声明的类进行监控;根据监控的类中的方法定义对应的注解标注方法的链路级别;使用插件apm

toolkit

trace支持多线程场景下将多个线程的链路关联;从Interceptor类中获取RequestContext的采样级别参数的值,根据采样级别参数的值对注解的方法进行增强;编写Interceptor类对监控的方法在方法执行前的切点进行Span的创建和配置,在方法执行后的切点进行Span的激活和停止,并在handleMethodException方法中对异常进行记录。
[0012]在一种可选的方式中,所述应用所述插件进行插桩并采样符合所述采样规则的请求链路,包括:获取header中的强制采样标识,如果所述强制采样标识为真,则默认强制采样;如果配置文件中的采样类型参数表示为分组采样方式,则对不同的组件进行分组,不同分组的请求单独使用对应的一套ContextManager和SamplingService统计采样频率;在调用neutron的http请求中将traceId塞入header请求中,将neutron接入SkyWalking,对监控的网络产品接口实现的类的需要监控的方法加上@trace注解,自定义方法名进行日志打印并加入所述请求链路标识。
[0013]根据本专利技术实施例的另一个方面,提供了一种网络产品应用的分布式调用的链路跟踪装置,所述装置包括:请求获取单元,用于获取经网关工程处理后的用户请求;配置单元,用于对所述用户请求进行链路优先级设置和日志填充请求链路标识;规则设置单元,用于设置链路和日志的多种场景下的采样规则;采样单元,用于定义不同语言的插件,并应用所述插件进行插桩并采样符合所述采样规则的请求链路;链路跟踪单元,用于对所述请求链路产生的日志信息进行上报、存储及分析。
[0014]根据本专利技术实施例的另一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
[0015]所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述网络产品应用的分布式调用的链路跟踪方法的步骤。
[0016]根据本专利技术实施例的又一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行上述网络产品应用的分布式调用的链路跟踪方法的步骤。
[0017]本专利技术实施例通过获取经网关工程处理后的用户请求;对所述用户请求进行链路优先级设置和日志填充请求链路标识;设置链路和日志的多种场景下的采样规则;定义不
同语言的插件,并应用所述插件进行插桩并采样符合所述采样规则的请求链路;对所述请求链路产生的日志信息进行上报、存储及分析,能够将不同语言的插件的请求链路标识与日志之间进行关联,方便的调用链的跟踪定位。
[0018]上述说明仅是本专利技术实施例技术方案的概述,为了能够更清楚了解本专利技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0019]通过阅读下文优选实施方式的详细描述,各本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络产品应用的分布式调用的链路跟踪方法,其特征在于,所述方法包括:获取经网关工程处理后的用户请求;对所述用户请求进行链路优先级设置和日志填充请求链路标识;设置链路和日志的多种场景下的采样规则;定义不同语言的插件,并应用所述插件进行插桩并采样符合所述采样规则的请求链路;对所述请求链路产生的日志信息进行上报、存储及分析。2.根据权利要求1所述的方法,其特征在于,所述获取经网关工程处理后的用户请求之前,包括:用户请求经过网关工程在header中添加请求标识;携带所述请求标识的所述用户请求经过网关工程转发。3.根据权利要求1所述的方法,其特征在于,所述对所述用户请求进行链路优先级设置和日志填充请求链路标识,包括:在插件的配置文件中添加采样级别参数;自定义插件的输出日志的格式并嵌入请求链路标识。4.根据权利要求3所述的方法,其特征在于,所述在插件的配置文件中添加采样级别参数,包括:如果仅对监控的类中的create方法采样,则将插件的配置文件中的采样级别参数配置为create;如果仅对监控的类中的create和delete方法采样,则将插件的配置文件中的采样级别参数配置为delete;如果仅对监控的类中的create、delete和update方法采样,则将插件的配置文件中的采样级别参数配置为update;如果对监控的类中所有的方法采样,则将插件的配置文件中的采样级别参数配置为query。5.根据权利要求1所述的方法,其特征在于,所述设置链路和日志的多种场景下的采样规则,包括:在所述用户请求的header中添加强制采样标识,所述强制采样标识用于表示是否需要强制采样;在插件的配置文件中添加采样类型参数,所述采样类型参数用于表示采用默认采样方式或分组采样方式。6.根据权利要求1所述的方法,其特征在于,所述定义不同语言的插件,包括:定义Spring注解插件,编写Instrumentation类,在enhanceClass方法中对符合条件的类进行监控,并对@RestController、@Service注解声明的类进行监控;根据监控的类中的方法定义对应的注解标注方法的链路级别;使用插件apm

toolkit

trace支...

【专利技术属性】
技术研发人员:缪辉辉谭跃辉
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1