CN114172949A - 一种微服务链路监控追踪方法和系统 - Google Patents
一种微服务链路监控追踪方法和系统 Download PDFInfo
- Publication number
- CN114172949A CN114172949A CN202111510752.9A CN202111510752A CN114172949A CN 114172949 A CN114172949 A CN 114172949A CN 202111510752 A CN202111510752 A CN 202111510752A CN 114172949 A CN114172949 A CN 114172949A
- Authority
- CN
- China
- Prior art keywords
- service
- link
- calling
- monitoring
- tracking
- 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.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000000007 visual effect Effects 0.000 claims abstract description 23
- 238000011161 development Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 58
- 238000010586 diagram Methods 0.000 claims description 23
- 238000007726 management method Methods 0.000 description 48
- 230000006870 function Effects 0.000 description 14
- 239000003795 chemical substances by application Substances 0.000 description 8
- 238000007405 data analysis Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000012800 visualization Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 4
- 239000000523 sample Substances 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013079 data visualisation Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003796 beauty Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Abstract
本发明公开了一种微服务链路监控追踪方法和系统,该方法包括:通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息;对所述服务调用信息进串联和存储,建立服务调用链路;通过可视化界面,展示所述服务调用链路,以实现对服务链路的监控。该方案,通过在综合管理系统的开发和部署过程中,在SkyWalking基础上,实现了对服务链路监控,且灵活性较好。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种微服务链路监控追踪方法和系统。
背景技术
相关方案中的综合管理系统,是在微服务架构(即一项在云中部署应用和服务的新技术)下,进行了服务拆分,一次请求往往需要涉及多个服务。每个服务,可能是由不同的团队开发,部署在不同的机器上,分布在不同的数据中心。一次请求所涉及的服务非常复杂,如果请求失败,要想查清楚到底是哪个服务导致,会是非常麻烦的一件事。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的目的在于,提供一种微服务链路监控追踪方法和系统,以解决综合管理系统是在微服务架构下进行了服务拆分,一次请求所涉及的服务非常复杂,如果请求失败,则很难查清楚到底是哪个服务导致的,存在使用极其不方便的问题,达到通过在综合管理系统的开发和部署过程中,在SkyWalking基础上,实现了对服务链路监控,且灵活性较好的效果。
本发明提供一种微服务链路监控追踪方法中,所述微服务链路监控追踪方法,是通过在所述微服务架构下,在综合管理系统的开发和部署过程中,在SkyWalking基础上,对所述综合管理系统进行改造实现的;所述微服务链路监控追踪方法,包括:通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息;对所述服务调用信息进串联和存储,建立服务调用链路;通过可视化界面,展示所述服务调用链路,以实现对服务链路的监控。
在一些实施方式中,通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,包括:在服务系统的不同模块中埋点进行数据采集,将采集到的数据作为服务调用信息;所述服务系统,是待进行服务链路监控追踪的系统;所述服务系统,包括:服务消费方和服务提供方。
在一些实施方式中,所述服务消费方和所述服务提供方的服务调用信息,包括:TraceD、调用接口、业务名称调用事件、端口信息和处理结果中的至少之一。
在一些实施方式中,所述服务消费方和所述服务提供方的服务调用信息所包含的参数,包括:Span、SpanID、TraceID中的至少之一。
在一些实施方式中,通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,还包括:在服务系统的不同模块中埋点进行数据采集的过程中,使用Filter过滤器进行ur1访问地址的拦截。
在一些实施方式中,对所述服务调用信息进串联和存储,建立服务调用链路,包括:采用实时数据处理方式和/或离线数据处理方式,对所述服务调用信息,按照TraceID和SpanID进行串联和存储,建立服务调用链路。
在一些实施方式中,通过可视化界面,展示所述服务调用链路,包括:采用调用链路图的方式和/或调用拓扑图的方式,在可视化界面中,展示所述服务调用链路;其中,所述服务调用链路,包括:应用管理部分和报警管理部分;所述调用链路图的方式,能够展示所述服务调用链路的应用管理部分;所述调用拓扑图的方式,能够展示所述服务调用链路的报警管理部分。
与上述方法相匹配,本发明另一方面提供一种微服务链路监控追踪系统中,所述微服务链路监控追踪系统,是通过在所述微服务架构下,在综合管理系统的开发和部署过程中,在SkyWalking基础上,对所述综合管理系统进行改造实现的;所述微服务链路监控追踪系统,包括:收集单元,被配置为通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息;处理单元,被配置为对所述服务调用信息进串联和存储,建立服务调用链路;展示单元,被配置为通过可视化界面,展示所述服务调用链路,以实现对服务链路的监控。
在一些实施方式中,所述收集单元,通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,包括:在服务系统的不同模块中埋点进行数据采集,将采集到的数据作为服务调用信息;所述服务系统,是待进行服务链路监控追踪的系统;所述服务系统,包括:服务消费方和服务提供方。
在一些实施方式中,所述服务消费方和所述服务提供方的服务调用信息,包括:TraceD、调用接口、业务名称调用事件、端口信息和处理结果中的至少之一。
在一些实施方式中,所述服务消费方和所述服务提供方的服务调用信息所包含的参数,包括:Span、SpanID、TraceID中的至少之一。
在一些实施方式中,所述收集单元,通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,还包括:在服务系统的不同模块中埋点进行数据采集的过程中,使用Filter过滤器进行ur1访问地址的拦截。
在一些实施方式中,所述处理单元,对所述服务调用信息进串联和存储,建立服务调用链路,包括:采用实时数据处理方式和/或离线数据处理方式,对所述服务调用信息,按照TraceID和SpanID进行串联和存储,建立服务调用链路。
在一些实施方式中,所述展示单元,通过可视化界面,展示所述服务调用链路,包括:采用调用链路图的方式和/或调用拓扑图的方式,在可视化界面中,展示所述服务调用链路;其中,所述服务调用链路,包括:应用管理部分和报警管理部分;所述调用链路图的方式,能够展示所述服务调用链路的应用管理部分;所述调用拓扑图的方式,能够展示所述服务调用链路的报警管理部分。
由此,本发明的方案,通过在综合管理系统的开发和部署过程中,在SkyWalking基础上,完成了相应的本地定制化的改造,减少了系统不太需要的功能,添加了相应管理系统定制的数据分析功能,实现了对服务链路监控;从而,通过在综合管理系统的开发和部署过程中,在SkyWalking基础上,实现了对服务链路监控,能够对注册中心对应的服务进行全面而详细的服务监控,且灵活性较好。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的微服务链路监控追踪方法的一实施例的流程示意图;
图2为本发明的微服务链路监控追踪系统的一实施例的结构示意图。
结合附图,本发明实施例中附图标记如下:
102-收集单元;104-处理单元;106-展示单元。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
系统服务链路监控追踪系统,是对相关方案中的综合管理系统的平台级底层架构的升级和改造。在使用了系统服务链路监控追踪系统后,通过服务追踪系统中记录的链路信息,可以生成一张系统的网络调用拓扑图,可以全局视角观察调用关系和有问题链路,也可以查看服务调用中的详细信息。
服务追踪系统(即系统服务链路监控追踪系统),是通过Google发布的一篇的论文Dapper(即一个简单的.NET对象映射器),它的核心理念就是调用链:通过一个全局唯一的ID,将分布在各个服务节点上的同一次请求串联起来,从而还原原有的调用关系,可以追踪系统问题、分析调用数据并统计各种系统指标。在基于Dapper的基础上,诞生了很多服务追踪系统,比较有名的有Twitter的Zipkin、阿里的鹰眼、美团的MTrace、携程CAT、ApacheSkywalking等。
虽然众多服务链路监控追踪系统已经发展有些时间了,但也不是解决该问题的“银弹”,只是能完整绘制出链路数据流,也存在不少不够灵活和一些不足的地方。比如携程CAT系统埋点方式是侵入式的,用户体验一般,Zipkin聚合报表较少,vm监控、不支持告警。各类系统都有些大而不精的现象,运行起来,缓存较为严重。
根据本发明的实施例,提供了一种微服务链路监控追踪方法,如图1所示本发明的方法的一实施例的流程示意图。所述微服务链路监控追踪方法,是通过在所述微服务架构下,在综合管理系统的开发和部署过程中,在SkyWalking基础上,对所述综合管理系统进行改造实现的。所述微服务链路监控追踪方法,包括:步骤S110至步骤S130。
在步骤S110处,通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息。
在一些实施方式中,步骤S110中通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,包括:在服务系统的不同模块中埋点进行数据采集,将采集到的数据作为服务调用信息。所述服务系统,是待进行服务链路监控追踪的系统。所述服务系统,包括:服务消费方和服务提供方。
在本发明的方案中,微服务链路监控追踪系统实现的主要流程为,首先进行服务调用信息拦截,进行数据采集层和数据埋点并上报。然后在数据处理层,负责数据的存储与计算,最后进行数据展示,负责数据的可视化展示。微服务链路监控追踪系统实现的具体处理过程,可以包括:
步骤1、数据采集。
数据采集,主要是在系统的各个不同模块中埋点,进行数据采集。并将采集到的数据进行存储。在数据采集阶段,trace信息的收集,只有有效地进行数据埋点,在数据处理和数据展示阶段才能更好的分析数据。
数据采集主要分为两部分服务调用信息的采集,分别为服务消费方和服务提供方的调用信息。
在一些实施方式中,所述服务消费方和所述服务提供方的服务调用信息,包括:TraceD、调用接口、业务名称调用事件、端口信息和处理结果中的至少之一。
在步骤1中,服务消费方和调用方的调用信息,主要包括:TraceD(踪迹)、调用接口、业务名称调用事件、端口信息、处理结果等。
在一些实施方式中,所述服务消费方和所述服务提供方的服务调用信息所包含的参数,包括:Span、SpanID、TraceID中的至少之一。
在步骤1中,重要参数有:Span,即一次分布式调用标识。SpanID,即统一调用链下多个服务存在调用嵌套层次关系,为每个请求设置一个SpanID。Trance,即一次完整的服务调用链路。TraceID,即在接收到用户的调用请求后,为了标记该调用请求,系统为该调用请求分配一个全局唯一的调用链ID。
在一些实施方式中,步骤S110中通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,还包括:在服务系统的不同模块中埋点进行数据采集的过程中,使用Filter过滤器进行ur1访问地址的拦截。
在步骤1中,实际开发中,使用Filter过滤器进行ur1访问地址的拦截。Filter接口中的invoke方法作用为获取服务的接口,并且Filter接口也提供获取方法名称、参数类型、调用上下文信息的方法:getMethodName()、getParameterTypes()。通过Filter接口调用实现invoke方法,再从invoke方法中获取RpcContext,RpcContext中包含了调用的上下文,自此就可以实现对调用信息的拦截。
在步骤S120处,对所述服务调用信息进串联和存储,建立服务调用链路。
在一些实施方式中,步骤S120中对所述服务调用信息进串联和存储,建立服务调用链路,包括:采用实时数据处理方式和/或离线数据处理方式,对所述服务调用信息,按照TraceID和SpanID进行串联和存储,建立服务调用链路。
微服务链路监控追踪系统实现的具体处理过程,还可以包括:
步骤2、数据处理。
数据处理阶段,负责对收集到的链路信息,按照TraceID和SpanID进行串联和存储。
一般有两个方式进行数据处理,实时数据处理和离线数据处理。本发明的微服务链路监控追踪系统,采用两种相结合的方式进行数据处理。
使用实时数据处理时,使用Metrics指标性统计,提高查询效率。基于聚合信息,实现监控和告警,去做一个服务的TBS的正确率、成功率、流量等。使用TraceID作为RowKey,能天然地把一整条调用链聚合在一起,帮助人们更好地理解系统的行为、辅助调试和排查性能问题。比如:一户所得税申报的全部申报流程查询及其追踪轨迹。
使用离线数据处理时,基于日志文件进行聚合和分析。
在步骤S130处,通过可视化界面,展示所述服务调用链路,以实现对服务链路的监控。
本发明的方案,提供一种微服务链路监控追踪系统,是在SkyWalking基础上,完成了相应的本地定制化的改造,减少了系统不太需要的功能,添加了相应管理系统定制的数据分析功能。其中,SkyWalking是一个基于OpenTracing(分布式追踪系统)规范的、开源的APM(Application Performance Management)系统,它是专门为微服务架构以及云原生架构而设计的。从SkyWalking 6.0开始,SkyWalking将自身定义为一个观测性分析平台(Observability Analysis Platform,OAP)。
实现一个服务追踪系统,涉及数据采集、数据处理和数据展示这三个流程,有多种实现方式,具体采用哪一种要根据自己的业务情况来选择。本发明的方案,是基于JAVA语言,Spring Cloud Alibaba架构,在此基础上完成了微服务链路监控追踪系统。对服务间的相互调用关系进行梳理,将梳理到的信息存储并建立调用链路,最后通过可视化界面将服务调用链展现出来。本发明的方案的实现过程中,主要包括埋点数据的收集,负责收集服务调用的上下文数据。实时数据的处理,按照TraceID和SpanID进行串联和存储。数据可视化展示,把处理后的调用信息,可视化的方式展示出来。本发明的方案,在综合管理系统的开发和部署过程中,实现了对服务链路监控。
在本发明的方案中,微服务链路监控追踪系统中,可以使用SkyWalking分布式追踪系统,具体可以使用SkyWalking架构,以及SkyWalking架构下的SkyWalking组件和SkyWalking部署。其中,SkyWalking架构,具体可以是SkyWalking 6.x的架构,也可以是更高版本的SkyWalking架构。
在SkyWalking 6.x的架构中,SkyWalking的核心是数据分析和度量结果的存储平台,通过HTTP或gRPC方式向SkyWalking Collecter提交分析和度量数据,SkyWalkingCollecter对数据进行分析和聚合,存储到Elasticsearch、H2、MySQL、TiDB等其一即可,最后可以通过SkyWalking UI的可视化界面对最终的结果进行查看。Skywalking支持从多个来源和多种格式收集数据:多种语言的Skywalking Agent、Zipkin v1/v2、Istio勘测、Envoy度量等数据格式。搭建Skywalking服务,需要关注的是SkyWalking Collecter、SkyWalking UI和存储设备,SkyWalking Collecter、SkyWalking UI官方下载安装包内已包含,最终只需考虑存储设备即可。
具体地,本发明的方案中,优选使用的是SkyWalking 7.0,该版本下Skywalking主要分为oap、webapp和agent三部分,oap和webapp分别用于汇总数据和展示,这两块共同组成了Skywalking的平台。agent是探针,部署在需要收集数据的应用服务器上,并将数据同步到Skywalking的平台。
Skywalking的部署,相关方案中大多系统是使用docker或dockercompose、k8s部署,但实际测试下来,使用容器化部署后cpu资源占用过高,影响实际使用效果。本发明的微服务链路监控追踪系统,是采用单独部署Skywalking,然后使用agent探针采集相应的参数到Skywalking服务中,有效提高系统性能。
在一些实施方式中,步骤S130中通过可视化界面,展示所述服务调用链路,包括:采用调用链路图的方式和/或调用拓扑图的方式,在可视化界面中,展示所述服务调用链路。
其中,所述服务调用链路,包括:应用管理部分和报警管理部分。所述调用链路图的方式,能够展示所述服务调用链路的应用管理部分。所述调用拓扑图的方式,能够展示所述服务调用链路的报警管理部分。
微服务链路监控追踪系统实现的具体处理过程,还可以包括:
步骤3、数据展示。
在本发明的方案中,微服务链路监控追踪系统中使用SkyWalking可视化展示服务调用树。本发明的方案中,数据展示部分,包括应用管理和报警管理的可视化展示,主要用到两种图形展示,一种是调用链路图,一种是调用拓扑图。调用链路图主要展示了服务整体情况,包括服务总耗时、接口调用详情、服务调用的网络深度、每一层经过的系统,以及多少次调用等信息。调用拓扑图是一种全局视野图,主要用作全局监控,用于发现系统中异常的点,从而快速做出决策。
本发明的方案提供的一种微服务链路监控追踪系统,在系统运行过程中,作为服务治理的重要组成部分之一,主要负责对注册中心对应的服务进行全面而详细的服务监控。服务监控的实现,对于运维人员有效排查服务系统故障、准确定位故障服务具有极大地作用。通过对客户端和服务端引入链路监控系统,将收集到的监控数据异步发送到消息收集器,消息收集器再将监控数据存储完成监控数据的采集。通过定时汇总监控数据,对服务提供者各个接口的依赖关系进行计算,将计算结果传入前端展示,有效地提高了系统的健壮性、易用性。
采用本实施例的技术方案,通过在综合管理系统的开发和部署过程中,在SkyWalking基础上,完成了相应的本地定制化的改造,减少了系统不太需要的功能,添加了相应管理系统定制的数据分析功能,实现了对服务链路监控。从而,通过在综合管理系统的开发和部署过程中,在SkyWalking基础上,实现了对服务链路监控,能够对注册中心对应的服务进行全面而详细的服务监控,且灵活性较好。
根据本发明的实施例,还提供了对应于微服务链路监控追踪方法的一种微服务链路监控追踪系统。参见图2所示本发明的系统的一实施例的结构示意图。所述微服务链路监控追踪系统,是通过在所述微服务架构下,在综合管理系统的开发和部署过程中,在SkyWalking基础上,对所述综合管理系统进行改造实现的。所述微服务链路监控追踪系统,包括:
收集单元102,被配置为通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息。该收集单元102的具体功能及处理参见步骤S110。
在一些实施方式中,所述服务消费方和所述服务提供方的服务调用信息,包括:TraceD、调用接口、业务名称调用事件、端口信息和处理结果中的至少之一。
在步骤1中,服务消费方和调用方的调用信息,主要包括:TraceD(踪迹)、调用接口、业务名称调用事件、端口信息、处理结果等。
在一些实施方式中,所述服务消费方和所述服务提供方的服务调用信息所包含的参数,包括:Span、SpanID、TraceID中的至少之一。
在步骤1中,重要参数有:Span,即一次分布式调用标识。SpanID,即统一调用链下多个服务存在调用嵌套层次关系,为每个请求设置一个SpanID。Trance,即一次完整的服务调用链路。TraceID,即在接收到用户的调用请求后,为了标记该调用请求,系统为该调用请求分配一个全局唯一的调用链ID。
在一些实施方式中,所述收集单元102,通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,还包括:所述收集单元102,具体还被配置为在服务系统的不同模块中埋点进行数据采集的过程中,使用Filter过滤器进行ur1访问地址的拦截。
在步骤1中,实际开发中,使用Filter过滤器进行ur1访问地址的拦截。Filter接口中的invoke系统作用为获取服务的接口,并且Filter接口也提供获取系统名称、参数类型、调用上下文信息的系统:getMethodName()、getParameterTypes()。通过Filter接口调用实现invoke系统,再从invoke系统中获取RpcContext,RpcContext中包含了调用的上下文,自此就可以实现对调用信息的拦截。
处理单元104,被配置为对所述服务调用信息进串联和存储,建立服务调用链路。该处理单元104的具体功能及处理参见步骤S120。
在一些实施方式中,所述处理单元104,对所述服务调用信息进串联和存储,建立服务调用链路,包括:所述处理单元104,具体还被配置为采用实时数据处理方式和/或离线数据处理方式,对所述服务调用信息,按照TraceID和SpanID进行串联和存储,建立服务调用链路。
微服务链路监控追踪系统实现的具体处理过程,还可以包括:
步骤2、数据处理。
数据处理阶段,负责对收集到的链路信息,按照TraceID和SpanID进行串联和存储。
一般有两个方式进行数据处理,实时数据处理和离线数据处理。本发明的微服务链路监控追踪系统,采用两种相结合的方式进行数据处理。
使用实时数据处理时,使用Metrics指标性统计,提高查询效率。基于聚合信息,实现监控和告警,去做一个服务的TBS的正确率、成功率、流量等。使用TraceID作为RowKey,能天然地把一整条调用链聚合在一起,帮助人们更好地理解系统的行为、辅助调试和排查性能问题。比如:一户所得税申报的全部申报流程查询及其追踪轨迹。
使用离线数据处理时,基于日志文件进行聚合和分析。
展示单元106,被配置为通过可视化界面,展示所述服务调用链路,以实现对服务链路的监控。该展示单元106的具体功能及处理参见步骤S130。
本发明的方案,提供一种微服务链路监控追踪系统,是在SkyWalking基础上,完成了相应的本地定制化的改造,减少了系统不太需要的功能,添加了相应管理系统定制的数据分析功能。其中,SkyWalking是一个基于OpenTracing(分布式追踪系统)规范的、开源的APM(Application Performance Management)系统,它是专门为微服务架构以及云原生架构而设计的。从SkyWalking 6.0开始,SkyWalking将自身定义为一个观测性分析平台(Observability Analysis Platform,OAP)。
实现一个服务追踪系统,涉及数据采集、数据处理和数据展示这三个流程,有多种实现方式,具体采用哪一种要根据自己的业务情况来选择。本发明的方案,是基于JAVA语言,Spring Cloud Alibaba架构,在此基础上完成了微服务链路监控追踪系统。对服务间的相互调用关系进行梳理,将梳理到的信息存储并建立调用链路,最后通过可视化界面将服务调用链展现出来。本发明的方案的实现过程中,主要包括埋点数据的收集,负责收集服务调用的上下文数据。实时数据的处理,按照TraceID和SpanID进行串联和存储。数据可视化展示,把处理后的调用信息,可视化的方式展示出来。本发明的方案,在综合管理系统的开发和部署过程中,实现了对服务链路监控。
在本发明的方案中,微服务链路监控追踪系统中,可以使用SkyWalking分布式追踪系统,具体可以使用SkyWalking架构,以及SkyWalking架构下的SkyWalking组件和SkyWalking部署。其中,SkyWalking架构,具体可以是SkyWalking 6.x的架构,也可以是更高版本的SkyWalking架构。
在SkyWalking 6.x的架构中,SkyWalking的核心是数据分析和度量结果的存储平台,通过HTTP或gRPC方式向SkyWalking Collecter提交分析和度量数据,SkyWalkingCollecter对数据进行分析和聚合,存储到Elasticsearch、H2、MySQL、TiDB等其一即可,最后可以通过SkyWalking UI的可视化界面对最终的结果进行查看。Skywalking支持从多个来源和多种格式收集数据:多种语言的Skywalking Agent、Zipkin v1/v2、Istio勘测、Envoy度量等数据格式。搭建Skywalking服务,需要关注的是SkyWalking Collecter、SkyWalking UI和存储设备,SkyWalking Collecter、SkyWalking UI官方下载安装包内已包含,最终只需考虑存储设备即可。
具体地,本发明的方案中,优选使用的是SkyWalking 7.0,该版本下Skywalking主要分为oap、webapp和agent三部分,oap和webapp分别用于汇总数据和展示,这两块共同组成了Skywalking的平台。agent是探针,部署在需要收集数据的应用服务器上,并将数据同步到Skywalking的平台。
Skywalking的部署,相关方案中大多系统是使用docker或dockercompose、k8s部署,但实际测试下来,使用容器化部署后cpu资源占用过高,影响实际使用效果。本发明的微服务链路监控追踪系统,是采用单独部署Skywalking,然后使用agent探针采集相应的参数到Skywalking服务中,有效提高系统性能。
在一些实施方式中,所述收集单元102,通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,包括:所述收集单元102,具体还被配置为在服务系统的不同模块中埋点进行数据采集,将采集到的数据作为服务调用信息。所述服务系统,是待进行服务链路监控追踪的系统。所述服务系统,包括:服务消费方和服务提供方。
在本发明的方案中,微服务链路监控追踪系统实现的主要流程为,首先进行服务调用信息拦截,进行数据采集层和数据埋点并上报。然后在数据处理层,负责数据的存储与计算,最后进行数据展示,负责数据的可视化展示。微服务链路监控追踪系统实现的具体处理过程,可以包括:
步骤1、数据采集。
数据采集,主要是在系统的各个不同模块中埋点,进行数据采集。并将采集到的数据进行存储。在数据采集阶段,trace信息的收集,只有有效地进行数据埋点,在数据处理和数据展示阶段才能更好的分析数据。
数据采集主要分为两部分服务调用信息的采集,分别为服务消费方和服务提供方的调用信息。
在一些实施方式中,所述展示单元106,通过可视化界面,展示所述服务调用链路,包括:所述展示单元106,具体还被配置为采用调用链路图的方式和/或调用拓扑图的方式,在可视化界面中,展示所述服务调用链路。
其中,所述服务调用链路,包括:应用管理部分和报警管理部分。所述调用链路图的方式,能够展示所述服务调用链路的应用管理部分。所述调用拓扑图的方式,能够展示所述服务调用链路的报警管理部分。
微服务链路监控追踪系统实现的具体处理过程,还可以包括:
步骤3、数据展示。
在本发明的方案中,微服务链路监控追踪系统中使用SkyWalking可视化展示服务调用树。本发明的方案中,数据展示部分,包括应用管理和报警管理的可视化展示,主要用到两种图形展示,一种是调用链路图,一种是调用拓扑图。调用链路图主要展示了服务整体情况,包括服务总耗时、接口调用详情、服务调用的网络深度、每一层经过的系统,以及多少次调用等信息。调用拓扑图是一种全局视野图,主要用作全局监控,用于发现系统中异常的点,从而快速做出决策。
本发明的方案提供的一种微服务链路监控追踪系统,在系统运行过程中,作为服务治理的重要组成部分之一,主要负责对注册中心对应的服务进行全面而详细的服务监控。服务监控的实现,对于运维人员有效排查服务系统故障、准确定位故障服务具有极大地作用。通过对客户端和服务端引入链路监控系统,将收集到的监控数据异步发送到消息收集器,消息收集器再将监控数据存储完成监控数据的采集。通过定时汇总监控数据,对服务提供者各个接口的依赖关系进行计算,将计算结果传入前端展示,有效地提高了系统的健壮性、易用性。
由于本实施例的系统所实现的处理及功能基本相应于前述方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
采用本发明的技术方案,通过在综合管理系统的开发和部署过程中,在SkyWalking基础上,完成了相应的本地定制化的改造,减少了系统不太需要的功能,添加了相应管理系统定制的数据分析功能,实现了对服务链路监控,对于运维人员有效排查服务系统故障、准确定位故障服务具有极大地作用。
综上,本领域技术人员容易理解的是,在不冲突的前提下,上述各有利方式可以自由地组合、叠加。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种微服务链路监控追踪方法,其特征在于,所述微服务链路监控追踪方法,是通过在所述微服务架构下,在综合管理系统的开发和部署过程中,在SkyWalking基础上,对所述综合管理系统进行改造实现的;所述微服务链路监控追踪方法,包括:
通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息;
对所述服务调用信息进串联和存储,建立服务调用链路;
通过可视化界面,展示所述服务调用链路,以实现对服务链路的监控。
2.根据权利要求1所述的微服务链路监控追踪方法,其特征在于,通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,包括:
在服务系统的不同模块中埋点进行数据采集,将采集到的数据作为服务调用信息;
所述服务系统,是待进行服务链路监控追踪的系统;所述服务系统,包括:服务消费方和服务提供方。
3.根据权利要求2所述的微服务链路监控追踪方法,其特征在于,所述服务消费方和所述服务提供方的服务调用信息,包括:TraceD、调用接口、业务名称调用事件、端口信息和处理结果中的至少之一。
4.根据权利要求2所述的微服务链路监控追踪方法,其特征在于,所述服务消费方和所述服务提供方的服务调用信息所包含的参数,包括:Span、SpanID、TraceID中的至少之一。
5.根据权利要求2所述的微服务链路监控追踪方法,其特征在于,通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,还包括:
在服务系统的不同模块中埋点进行数据采集的过程中,使用Filter过滤器进行ur1访问地址的拦截。
6.根据权利要求1至5中任一项所述的微服务链路监控追踪方法,其特征在于,对所述服务调用信息进串联和存储,建立服务调用链路,包括:
采用实时数据处理方式和/或离线数据处理方式,对所述服务调用信息,按照TraceID和SpanID进行串联和存储,建立服务调用链路。
7.根据权利要求1至5中任一项所述的微服务链路监控追踪方法,其特征在于,通过可视化界面,展示所述服务调用链路,包括:
采用调用链路图的方式和/或调用拓扑图的方式,在可视化界面中,展示所述服务调用链路;
其中,所述服务调用链路,包括:应用管理部分和报警管理部分;所述调用链路图的方式,能够展示所述服务调用链路的应用管理部分;所述调用拓扑图的方式,能够展示所述服务调用链路的报警管理部分。
8.一种微服务链路监控追踪系统,其特征在于,所述微服务链路监控追踪系统,是通过在所述微服务架构下,在综合管理系统的开发和部署过程中,在SkyWalking基础上,对所述综合管理系统进行改造实现的;所述微服务链路监控追踪系统,包括:
收集单元,被配置为通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息;
处理单元,被配置为对所述服务调用信息进串联和存储,建立服务调用链路;
展示单元,被配置为通过可视化界面,展示所述服务调用链路,以实现对服务链路的监控。
9.根据权利要求8所述的微服务链路监控追踪系统,其特征在于,所述收集单元,通过埋点,收集服务间的相互调用关系的数据,作为服务调用信息,包括:
在服务系统的不同模块中埋点进行数据采集,将采集到的数据作为服务调用信息;
所述服务系统,是待进行服务链路监控追踪的系统;所述服务系统,包括:服务消费方和服务提供方。
10.根据权利要求9所述的微服务链路监控追踪系统,其特征在于,所述服务消费方和所述服务提供方的服务调用信息,包括:TraceD、调用接口、业务名称调用事件、端口信息和处理结果中的至少之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111510752.9A CN114172949A (zh) | 2021-12-10 | 2021-12-10 | 一种微服务链路监控追踪方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111510752.9A CN114172949A (zh) | 2021-12-10 | 2021-12-10 | 一种微服务链路监控追踪方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114172949A true CN114172949A (zh) | 2022-03-11 |
Family
ID=80485746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111510752.9A Pending CN114172949A (zh) | 2021-12-10 | 2021-12-10 | 一种微服务链路监控追踪方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114172949A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531338A (zh) * | 2022-04-24 | 2022-05-24 | 中邮消费金融有限公司 | 一种基于调用链数据的监控告警和溯源方法及系统 |
CN114785690A (zh) * | 2022-03-30 | 2022-07-22 | 中国人寿保险股份有限公司 | 基于服务网格的监控方法及相关设备 |
CN114896232A (zh) * | 2022-04-24 | 2022-08-12 | 重庆旅游云信息科技有限公司 | 一种支持多类型定位硬件数据采集及清洗的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109921927A (zh) * | 2019-02-20 | 2019-06-21 | 苏州人之众信息技术有限公司 | 基于微服务的实时调用链跟踪方法 |
CN111163150A (zh) * | 2019-12-25 | 2020-05-15 | 上海精鲲计算机科技有限公司 | 一种分布式调用追踪系统 |
CN111459766A (zh) * | 2019-11-14 | 2020-07-28 | 国网浙江省电力有限公司信息通信分公司 | 一种面向微服务系统的调用链跟踪与分析方法 |
CN111464373A (zh) * | 2019-01-18 | 2020-07-28 | 苏宁易购集团股份有限公司 | 一种微服务全链路监控系统及方法 |
CN112653586A (zh) * | 2019-10-12 | 2021-04-13 | 苏州工业园区测绘地理信息有限公司 | 基于全链路监控的时空大数据平台应用性能管理方法 |
-
2021
- 2021-12-10 CN CN202111510752.9A patent/CN114172949A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464373A (zh) * | 2019-01-18 | 2020-07-28 | 苏宁易购集团股份有限公司 | 一种微服务全链路监控系统及方法 |
CN109921927A (zh) * | 2019-02-20 | 2019-06-21 | 苏州人之众信息技术有限公司 | 基于微服务的实时调用链跟踪方法 |
CN112653586A (zh) * | 2019-10-12 | 2021-04-13 | 苏州工业园区测绘地理信息有限公司 | 基于全链路监控的时空大数据平台应用性能管理方法 |
CN111459766A (zh) * | 2019-11-14 | 2020-07-28 | 国网浙江省电力有限公司信息通信分公司 | 一种面向微服务系统的调用链跟踪与分析方法 |
CN111163150A (zh) * | 2019-12-25 | 2020-05-15 | 上海精鲲计算机科技有限公司 | 一种分布式调用追踪系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785690A (zh) * | 2022-03-30 | 2022-07-22 | 中国人寿保险股份有限公司 | 基于服务网格的监控方法及相关设备 |
CN114785690B (zh) * | 2022-03-30 | 2024-04-30 | 中国人寿保险股份有限公司 | 基于服务网格的监控方法及相关设备 |
CN114531338A (zh) * | 2022-04-24 | 2022-05-24 | 中邮消费金融有限公司 | 一种基于调用链数据的监控告警和溯源方法及系统 |
CN114896232A (zh) * | 2022-04-24 | 2022-08-12 | 重庆旅游云信息科技有限公司 | 一种支持多类型定位硬件数据采集及清洗的方法 |
CN114896232B (zh) * | 2022-04-24 | 2023-05-23 | 重庆旅游云信息科技有限公司 | 一种支持多类型定位硬件数据采集及清洗的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114172949A (zh) | 一种微服务链路监控追踪方法和系统 | |
US20150254969A1 (en) | Method and system for providing aggregated network alarms | |
US10623235B2 (en) | Correlating computing network events | |
KR101797185B1 (ko) | 분산 환경에서 효율적으로 트랜젝션-분리 메트릭들을 수집하는 방법 | |
CN110351150A (zh) | 故障根源确定方法及装置、电子设备和可读存储介质 | |
CN113987074A (zh) | 分布式服务全链路监控方法、装置、电子设备及存储介质 | |
AU2017258970A1 (en) | Testing and improving performance of mobile application portfolios | |
CN108521339A (zh) | 一种基于集群日志的反馈式节点故障处理方法及系统 | |
CN111163150A (zh) | 一种分布式调用追踪系统 | |
US20080168044A1 (en) | System and method for providing performance statistics for application components | |
CN111382023A (zh) | 代码故障定位方法、装置、设备及存储介质 | |
CN111008105A (zh) | 一种分布式系统调用关系可视化方法及装置 | |
CN114745295A (zh) | 数据采集方法、装置、设备和可读存储介质 | |
CN113760641A (zh) | 业务监控方法、装置、计算机系统和计算机可读存储介质 | |
CN114785690B (zh) | 基于服务网格的监控方法及相关设备 | |
CN112965973A (zh) | 基于全链路监控的分布式数据库监控方法及装置 | |
US9037705B2 (en) | Routing of performance data to dependent calculators | |
CN110351131B (zh) | 一种用于分布式链路的监控方法、装置和电子设备 | |
CN116232963A (zh) | 一种链路跟踪方法及系统 | |
US10394531B2 (en) | Hyper dynamic Java management extension | |
CN115705190A (zh) | 依赖程度的确定方法及装置 | |
US20180314765A1 (en) | Field name recommendation | |
CN116302827A (zh) | 一种便于管理的微服务架构系统 | |
CN111698109A (zh) | 监控日志的方法和装置 | |
CN115643162A (zh) | 一种系统故障域定位方法和系统、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |