System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式系统、应用性能管理,具体地,涉及基于网络报文的全链路追踪的方法及系统。
技术介绍
1、全链路追踪是当下分布式系统排查定位问题的重要手段之一。分布式系统下每一个用户请求需要调用多个子系统才能返回最终结果,如果某个用户请求失败了,或者某个请求耗时比较高,那么需要定位是哪个子系统出问题了。全链路追踪就是一种解决此类问题的有效手段。
2、当前全链路追踪已经有了一些解决方案,譬如:基于客户端埋点、基于java字节码注入,基于日志收集等。基于客户端埋点需要对链路上的所有服务都进行改造才能进行完整的数据采集,投入工作量大,完成时间周期长,有些系统甚至完全不可能改造。基于java字节码注入的方式仅支持java应用,但当前分布式系统大多是多语言混合的,该方法很难做到全链路覆盖。基于日志收集依赖当前日志信息的输出,很难保证日志中存在所需的关联信息。同时这些方法都依赖于全局的关联id才能得到完整的全链路记录,这需要在全系统进行统一改造后才可能实现。
3、专利文献cn109359094b(申请号:cn201810877216.4)公开了一种分布式系统日志全链路追踪方法及装置。所述方法包括:s1,创建配置文件配置系统,按以下流程执行:配置集群服务器;配置集群依赖关系;配置数据逻辑关系;s2,通过应用程序读取并解析配置文件获取关键信息;s3,根据关键信息获取系统数据的生命历程。所述装置包括系统配置单元,信息获取单元和集群遍历单元。把数据日志全链路追踪抽象成三个配置文件,通过相应应用程序读取并解析这些配置文件即可获
技术实现思路
1、针对现有技术中的缺陷,本专利技术的目的是提供一种基于网络报文的全链路追踪方法及系统。
2、根据本专利技术提供的一种基于网络报文的全链路追踪方法,包括:
3、步骤s1:在网络环境中通过旁路设备进行数据包捕获生成单独span记录;
4、步骤s2:触发全链路查询生成全链路trace记录。
5、优选地,所述步骤s1包括:
6、步骤s1.1:在网络环境中通过旁路设备通过tap方法采集各段网络流量;
7、步骤s1.2:将采集到的各段网络流量进行协议解码和交易关联得到交易记录;
8、步骤s1.3:将交易记录进行格式转换得到opentelemetry/opentracing格式的span记录。
9、优选地,所述步骤s1.2中交易关联通过网状结构表示;其中,所述网状结构包括点和边,每个点表示每个子系统;每条边表示两个子系统存在相互调用关系。
10、优选地,所述交易记录使用biz_id,trans_id,duration,ret_code,req内容,resp内容表示;
11、其中,所述biz_id表示全局用户请求的业务id;
12、所述trans_id表示单段关联字段;
13、所述duration表示单段响应时间;
14、所述ret_code表示响应码,用于表示请求是否成功;
15、所述req内容和resp内容分别表示请求和响应,并且包含请求响应中的全部业务信息。
16、优选地,所述span记录使用name,traceid,spanid,starttime,endtime,parent,status,links,events,attributes表示;
17、其中,所述name表示名称,用于描述当前段的含义;
18、所述traceid表示用户请求的全局id;
19、所述spanid表示单段span的唯一id;
20、所述starttime和所述endtime分别表示起始时间和结束时间;
21、所述parent表示当前span的父节点;
22、所述status表示请求状态;
23、所述links表示和其他span记录的之间的相互关系;
24、所述events表示单段记录内部发生的事件;
25、所述attributes表示span记录相关联的属性,用户描述span的特征。
26、根据本专利技术提供的一种基于网络报文的全链路追踪系统,包括:
27、模块m1:在网络环境中通过旁路设备进行数据包捕获生成单独span记录;
28、模块m2:触发全链路查询生成全链路trace记录。
29、优选地,所述模块m1包括:
30、模块m1.1:在网络环境中通过旁路设备通过tap方法采集各段网络流量;
31、模块m1.2:将采集到的各段网络流量进行协议解码和交易关联得到交易记录;
32、模块m1.3:将交易记录进行格式转换得到opentelemetry/opentracing格式的span记录。
33、优选地,所述模块m1.2中交易关联通过网状结构表示;其中,所述网状结构包括点和边,每个点表示每个子系统;每条边表示两个子系统存在相互调用关系。
34、优选地,所述交易记录使用biz_id,trans_id,duration,ret_code,req内容,resp内容表示;
35、其中,所述biz_id表示全局用户请求的业务id;
36、所述trans_id表示单段关联字段;
37、所述duration表示单段响应时间;
38、所述ret_code表示响应码,用于表示请求是否成功;
39、所述req内容和resp内容分别表示请求和响应,并且包含请求响应中的全部业务信息。
40、优选地,所述span记录使用name,traceid,spanid,starttime,endtime,parent,status,links,events,attributes表示;
41、其中,所述name表示名称,用于描述当前段的含义;
42、所述traceid表示用户请求的全局id;
43、所述spanid表示单段span的唯一id;
44、所述starttime和所述endtime分别表示起始时间和结束时间;
45、所述parent表示当前span的父节点;
46、所述status表示请求状态;
47、所述links表示和其他span记录的之间的相互关系;
48、所述events表示单段记录内部发生的事件;
49、所述attributes表示span记录相关联的属性,用户描述span的特征。
50、与现有技术相比,本专利技术具有如下的有益效果:
51、1、本专利技术基于旁路的网络数据包采集,通过解本文档来自技高网...
【技术保护点】
1.一种基于网络报文的全链路追踪方法,其特征在于,包括:
2.根据权利要求1所述的基于网络报文的全链路追踪方法,其特征在于,所述步骤S1包括:
3.根据权利要求2所述的基于网络报文的全链路追踪方法,其特征在于,所述步骤S1.2中交易关联通过网状结构表示;其中,所述网状结构包括点和边,每个点表示每个子系统;每条边表示两个子系统存在相互调用关系。
4.根据权利要求2所述的基于网络报文的全链路追踪方法,其特征在于,所述交易记录使用Biz_ID,Trans_ID,duration,ret_code,req内容,resp内容表示;
5.根据权利要求2所述的基于网络报文的全链路追踪方法,其特征在于,所述span记录使用name,traceID,spanID,startTime,endTime,parent,status,links,events,attributes表示;
6.一种基于网络报文的全链路追踪系统,其特征在于,包括:
7.根据权利要求6所述的基于网络报文的全链路追踪系统,其特征在于,所述模块M1包括:
...【技术特征摘要】
1.一种基于网络报文的全链路追踪方法,其特征在于,包括:
2.根据权利要求1所述的基于网络报文的全链路追踪方法,其特征在于,所述步骤s1包括:
3.根据权利要求2所述的基于网络报文的全链路追踪方法,其特征在于,所述步骤s1.2中交易关联通过网状结构表示;其中,所述网状结构包括点和边,每个点表示每个子系统;每条边表示两个子系统存在相互调用关系。
4.根据权利要求2所述的基于网络报文的全链路追踪方法,其特征在于,所述交易记录使用biz_id,trans_id,duration,ret_code,req内容,resp内容表示;
5.根据权利要求2所述的基于网络报文的全链路追踪方法,其特征在于,所述span记录使用name,traceid,spanid,starttime,endtime,parent,status,links,events,attributes表示;
...【专利技术属性】
技术研发人员:袁绍桃,蔡晓华,杨光辉,
申请(专利权)人:上海天旦网络科技发展有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。