CN111586092A - 全链路监控方法、系统及cat客户端 - Google Patents
全链路监控方法、系统及cat客户端 Download PDFInfo
- Publication number
- CN111586092A CN111586092A CN202010220086.4A CN202010220086A CN111586092A CN 111586092 A CN111586092 A CN 111586092A CN 202010220086 A CN202010220086 A CN 202010220086A CN 111586092 A CN111586092 A CN 111586092A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- cat
- access request
- filter
- transaction
- 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 325
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000002159 abnormal effect Effects 0.000 claims abstract description 7
- 238000011045 prefiltration Methods 0.000 claims description 53
- 230000004044 response Effects 0.000 claims description 48
- 230000007246 mechanism Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种全链路监控方法、系统及CAT客户端,该方法包括:获取检测到的访问请求的访问链和访问链ID,并根据所述访问链ID对所述访问请求进行标记;通过所述访问链中的各微服务的所述第一CAT客户端和第二CAT客户端创建每个微服务的CAT监控事务,以监控标记后的所述访问请求;当检测到所述CAT监控事务结束时,将所述第一CAT客户端和第二CAT客户端监控得到的监控数据发送至所述监控服务端进行存储。本申请涉及监控领域,本申请能够实现微服务架构的全链路监控,便于追溯异常问题。
Description
技术领域
本申请涉及微服务监控的技术领域,尤其涉及一种全链路监控方法、系统及CAT客户端。
背景技术
目前,可以通过开源的CAT(Central Application Tracking,中央应用程序监控)客户端监控微服务架构中的微服务应用,然而,由于CAT客户端是通过try-catch机制来捕获程序执行的异常以及其他异常状况的,使得传统的CAT客户端只能在目标代码执行之前执行CAT的Transaction begin事件,在目标代码执行完成之后,执行Transactioncomplete事件,并且Transaction begin和Transaction complete需要在同一个代码块中,也就是说CAT客户端不支持微服务架构中网关应用和非阻塞跨线程的监控,调用链会出现断裂,无法实现微服务架构的全链路监控。
发明内容
本申请的主要目的在于提供一种全链路监控方法、系统及CAT客户端,旨在实现微服务架构的全链路监控,便于追溯异常问题。
第一方面,本申请提供一种全链路监控方法,所述方法应用于全链路监控系统,所述全链路监控系统包括中央应用程序监控CAT客户端和监控服务端,所述CAT客户端包括第一CAT客户端和第二CAT客户端,所述第一CAT客户端和第二CAT客户端的监控逻辑不同,所述第一CAT客户端部署于微服务网关,所述第二CAT客户端部署于微服务应用,所述方法包括:
获取检测到的访问请求的访问链和访问链ID,并根据所述访问链ID对所述访问请求进行标记;
通过所述访问链中的各微服务的所述第一CAT客户端和第二CAT客户端创建每个微服务的CAT监控事务,以监控标记后的所述访问请求;
当检测到所述CAT监控事务结束时,将所述第一CAT客户端和第二CAT客户端监控得到的监控数据发送至所述监控服务端进行存储。
可选地,所述通过所述访问链中的各微服务的所述第一CAT客户端和第二CAT客户端创建每个微服务的CAT监控事务,以监控标记后的所述访问请求,包括:
通过所述访问链中的微服务网关对应的所述第一CAT客户端,创建所述微服务网关的CAT监控事务,以监控标记后的所述访问请求;以及
通过所述访问链中的微服务应用对应的所述第二CAT客户端,创建所述微服务应用的CAT监控事务,以监控标记后的所述访问请求。
可选地,所述第一CAT客户端包括第一前置过滤器、第二前置过滤器、第一后置过滤器和第二后置过滤器,所述第一前置过滤器与所述第一后置过滤器关联,所述第二前置过滤器与所述第二后置过滤器关联;所述通过所述访问链中的微服务网关对应的所述第一CAT客户端,创建所述微服务网关的CAT监控事务,以监控标记后的所述访问请求,包括:
通过所述第一前置过滤器创建主CAT监控事务,并基于预设异常捕获机制确定标记后的所述访问请求的第一监控信息;
将所述第一监控信息和主CAT监控事务写入标记后的所述访问请求,以更新所述访问请求,并将更新后的所述访问请求转发至所述访问链中的下一个微服务;
通过所述第二前置过滤器获取已更新的所述访问请求的第二监控信息,并从已更新的所述访问请求中提取所述主CAT监控事务;
创建所述主CAT监控事务的子CAT监控事务,并通过子CAT监控事务记录所述第二监控信息;
通过所述第二后置过滤器获取已更新的所述访问请求的响应报文,并从所述响应报文中提取第三监控信息;
通过所述子CAT监控事务记录所述第三监控信息,并结束所述子CAT监控事务;
通过所述第一后置过滤器获取已更新的所述访问请求的响应报文,并将所述微服务网关的属性信息写入所述响应报文,以更新所述响应报文;
将更新后的所述响应报文发送至所述访问链中的上一个微服务,并结束所述主CAT监控事务,以完成对标记后的所述访问请求的监控。
可选地,所述监控数据包括第一监控信息、第二监控信息和第三监控信息,所述第一监控信息包括URL地址、上一个微服务的IP地址、名称和当前时间戳,所述第二监控信息包括转发路径、请求类型和当前时间戳,所述第三监控信息包括下一个微服务的IP地址和名称。
可选地,所述通过所述访问链中的微服务应用对应的所述第二CAT客户端,创建所述微服务应用的CAT监控事务,以监控标记后的所述访问请求,包括:
通过所述访问链中的微服务应用对应的所述第二CAT客户端,创建所述微服务应用的CAT监控事务;
根据预设异常捕获机制,确定标记后的所述访问请求的监控信息,并通过所述CAT监控事务记录所述监控信息,以完成对标记后的所述访问请求的监控。
第二方面,本申请还提供一种全链路监控系统,所述全链路监控系统包括中央应用程序监控CAT客户端和监控服务端,其中:
所述CAT客户端包括第一CAT客户端和第二CAT客户端,所述第一CAT客户端和第二CAT客户端的监控逻辑不同;
所述第一CAT客户端部署于微服务网关,用于监控所述微服务网关,并将监控得到的数据发送至所述监控服务端;
所述第二CAT客户端部署于微服务应用,用于监控所述微服务应用,并将监控得到的监控数据发送至所述监控服务端;
所述监控服务端,用于接收并存储所述第一CAT客户端和第二CAT客户端发送的监控数据。
第三方面,本申请还提供一种CAT客户端,其特征在于,所述CAT客户端包括:第一前置过滤器、第二前置过滤器、第一后置过滤器和第二后置过滤器,所述第一前置过滤器与所述第一后置过滤器关联,所述第二前置过滤器与所述第二后置过滤器关联,所述CAT客户端部署于微服务网关,用于监控所述微服务网关,其中:
所述第一前置过滤器,用于拦截访问请求,并创建主CAT监控事务,且根据预设异常捕获机制确定所述访问请求的第一监控信息;以及还用于将所述第一监控信息和主CAT监控事务写入所述访问请求,以更新所述访问请求,并将更新后的所述访问请求转发至下一个微服务;
所述第二前置过滤器,用于拦截所述第一前置过滤器转发的已更新的所述访问请求,并从已更新的所述访问请求中提取所述主CAT监控事务;以及还用于创建所述主CAT监控事务的子CAT监控事务,并通过子CAT监控事务记录所述第二监控信息;
所述第二后置过滤器,用于拦截所述下一个微服务基于所述访问请求返回的的响应报文,并从所述响应报文中提取第三监控信息;以及还用于通过所述子CAT监控事务记录所述第三监控信息,并结束所述子CAT监控事务;
所述第一后置过滤器,用于拦截所述下一个微服务基于所述访问请求返回的响应报文,并将所述微服务网关的属性信息写入所述响应报文,以更新所述响应报文;以及还用于将更新后的所述响应报文发送至上一个微服务,并结束所述主CAT监控事务。
本申请提供一种全链路监控方法、系统及CAT客户端,本申请通过在微服务架构的微服务网关部署第一CAT客户端,并在微服务应用部署第二CAT客户端,然后当检测到访问请求时,基于访问链ID对访问请求进行标记,并通过访问链中的各微服务的第一CAT客户端和第二CAT客户端创建每个微服务的CAT监控事务,以监控标记后的访问请求,最后当检测到CAT监控事务结束时,将第一CAT客户端和第二CAT客户端监控得到的监控数据发送至监控服务端进行存储,由于第一CAT客户端可以监控微服务网关,第二CAT客户端可以监控微服务应用,同时基于访问链ID对访问请求进行标记,使得整个调用链的监控过程都携带有访问链ID,因此可以实现微服务架构的全链路监控,便于追溯异常问题。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种全链路监控方法的流程示意图;
图2为本申请实施例提供的一种全链路监控系统的示意性框图;
图3为本申请实施例中CAT客户端的的示意性框图;
图4为本申请实施例提供的一种CAT客户端的示意性框图。
本申请目的的实现、功能特点及优点将结合实施例,参阅附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种全链路监控方法、系统及CAT客户端。其中,该全链路监控方法可应用于全链路监控系统,所述全链路监控系统包括中央应用程序监控CAT客户端和监控服务端,所述CAT客户端包括第一CAT客户端和第二CAT客户端,所述第一CAT客户端和第二CAT客户端的监控逻辑不同,所述第一CAT客户端部署于微服务网关,所述第二CAT客户端部署于微服务应用。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1为本申请的实施例提供的一种全链路监控方法的流程示意图。如图1所示,该全链路监控方法包括步骤S101至步骤S103。
步骤S101、获取检测到的访问请求的访问链和访问链ID,并根据所述访问链ID对所述访问请求进行标记。
其中,微服务架构中的微服务包括微服务网关和微服务应用,该微服务网关基于Spring Cloud Gateway实现,Spring Cloud Gateway使用非阻塞API(ApplicationProgramming Interface,应用程序接口),Spring Cloud Gateway可以为微服务架构提供一种简单有效的统一的API路由管理方式。
其中,该全链路监控方法可应用于全链路监控系统,所述全链路监控系统包括中央应用程序监控CAT客户端和监控服务端,所述CAT客户端包括第一CAT客户端和第二CAT客户端,所述第一CAT客户端和第二CAT客户端的监控逻辑不同,所述第一CAT客户端部署于微服务网关,所述第二CAT客户端部署于微服务应用。
其中,所述第一CAT客户端为针对微服务网关改进的CAT客户端,可以监控微服务架构中的微服务网关,所述第二CAT客户端为传统的CAT客户端,可以监控微服务架构中的微服务应用。因此,针对整个微服务架构中的微服务,在每个微服务网关部署第一CAT客户端,并在每个微服务应用部署第二CAT客户端,以实现整个微服务架构的监控。
当检测到用户客户端发送的访问请求时,获取检测到的访问请求的访问链和访问链ID,并根据该访问链ID对访问请求进行标记,即将该访问链ID写入访问请求的Header(请求头)中。其中,在检测到用户客户端发送的访问请求时,基于全局的filter装置生成访问链ID,也可以基于随机数生成程序生成访问链ID,访问链ID用于唯一标识访问链,不同的访问链ID对应不同的访问链。
具体地,对该访问请求进行解析,获取待访问的各微服务的访问顺序,并根据各微服务的访问顺序,生成访问请求的访问链。例如,各待访问的微服务包括微服务应用A、微服务应用B、微服务网关C和微服务应用D,且访问顺序为微服务应用D→微服务网关C→微服务应用A→微服务应用B,则访问链为DCAB。
步骤S102、通过所述访问链中的各微服务的所述第一CAT客户端和第二CAT客户端创建每个微服务的CAT监控事务,以监控标记后的所述访问请求。
在对访问请求进行标记之后,由第一CAT客户端和第二CAT客户端,执行微服务架构的监控逻辑,即通过该访问链中的各微服务的第一CAT客户端和第二CAT客户端创建每个微服务的CAT监控事务,以监控标记后的所述访问请求。其中,所述第一CAT客户端包括第一前置过滤器、第二前置过滤器、第一后置过滤器和第二后置过滤器,所述第一前置过滤器与所述第一后置过滤器关联,所述第二前置过滤器与所述第二后置过滤器关联。
在一实施例中,通过所述访问链中的微服务网关对应的所述第一CAT客户端,创建所述微服务网关的CAT监控事务,以监控标记后的所述访问请求,得到监控数据;以及通过所述访问链中的微服务应用对应的所述第二CAT客户端,创建所述微服务应用的CAT监控事务,以监控标记后的所述访问请求,得到监控数据。
具体地,通过所述访问链中的微服务应用对应的所述第二CAT客户端,创建所述微服务应用的CAT监控事务;根据预设异常捕获机制,确定标记后的所述访问请求的监控信息,并通过所述CAT监控事务记录所述监控信息,以完成对标记后的所述访问请求的监控,得到监控数据。其中,预设异常捕获机制为try-catch机制,通过try-catch机制可以捕获该微服务应用对标记后的访问请求请求的异常信息,从而得到监控数据。
在一实施例中,通过所述第一前置过滤器创建主CAT监控事务,并基于预设异常捕获机制确定标记后的所述访问请求的第一监控信息;将所述第一监控信息和主CAT监控事务写入标记后的所述访问请求,以更新所述访问请求,并将更新后的所述访问请求转发至所述访问链中的下一个微服务,其中,第一监控信息包括URL地址、上一个微服务的IP地址、名称和当前时间戳;
通过所述第二前置过滤器获取已更新的所述访问请求的第二监控信息,并从已更新的所述访问请求中提取所述主CAT监控事务;创建所述主CAT监控事务的子CAT监控事务,并通过子CAT监控事务记录所述第二监控信息,其中,第二监控信息包括转发路径、请求类型和当前时间戳;
通过所述第二后置过滤器获取已更新的所述访问请求的响应报文,并从所述响应报文中提取第三监控信息;通过所述子CAT监控事务记录所述第三监控信息,并结束所述子CAT监控事务,其中,第三监控信息包括下一个微服务的IP地址和名称;
通过所述第一后置过滤器获取已更新的所述访问请求的响应报文,并将所述微服务网关的属性信息写入所述响应报文,以更新所述响应报文;将更新后的所述响应报文发送至所述访问链中的上一个微服务,并结束所述主CAT监控事务,以完成对标记后的所述访问请求的监控。
在一实施例中,若所述访问链中的各微服务均为微服务应用,则通过通过所述访问链中的各微服务应用的所述第二CAT客户端创建每个微服务应用的CAT监控事务,以监控标记后的所述访问请求。在访问链中的各微服务均为微服务应用时,不需要运行第一CAT客户端,也可以实现全链路监控,便于追溯问题。
步骤S103、当检测到所述CAT监控事务结束时,将所述第一CAT客户端和第二CAT客户端监控得到的监控数据发送至所述监控服务端进行存储。
当检测到CAT监控事务结束时,将第一CAT客户端和第二CAT客户端监控得到的监控数据发送至监控服务端进行存储。其中,所述监控数据包括第一监控信息、第二监控信息、第三监控信息和访问链ID,所述第一监控信息包括URL地址、上一个微服务的IP地址、名称和当前时间戳,所述第二监控信息包括转发路径、请求类型和当前时间戳,所述第三监控信息包括下一个微服务的IP地址和名称。
具体地,监控服务端在接收到监控数据时,从监控数据中提取出访问链ID,并根据该访问链ID关联存储监控数据。通过访问链ID关联存储监控数据,便于后续听过访问链ID快速查询监控数据,提高查询速度。
上述实施例提供的全链路监控方法,通过在微服务架构的微服务网关部署第一CAT客户端,并在微服务应用部署第二CAT客户端,然后当检测到访问请求时,基于访问链ID对访问请求进行标记,并通过访问链中的各微服务的第一CAT客户端和第二CAT客户端创建每个微服务的CAT监控事务,以监控标记后的访问请求,最后当检测到CAT监控事务结束时,将第一CAT客户端和第二CAT客户端监控得到的监控数据发送至监控服务端进行存储,由于第一CAT客户端可以监控微服务网关,第二CAT客户端可以监控微服务应用,同时基于访问链ID对访问请求进行标记,使得整个调用链的监控过程都携带有访问链ID,因此可以实现微服务架构的全链路监控,便于追溯异常问题。
请参阅图2,图2为本申请实施例提供的一种全链路监控系统的示意性框图。如图2所示,该全链路监控系统200包括中央应用程序监控CAT客户端201和监控服务端202,其中:
所述CAT客户端201包括第一CAT客户端2011和第二CAT客户端2012,所述第一CAT客户端2011和第二CAT客户端2012的监控逻辑不同;
所述第一CAT客户端2011部署于微服务网关,用于监控所述微服务网关,并将监控得到的数据发送至所述监控服务端;
所述第二CAT客户端2012部署于微服务应用,用于监控所述微服务应用,并将监控得到的监控数据发送至所述监控服务端;
所述监控服务端202,用于接收并存储所述第一CAT客户端和第二CAT客户端发送的监控数据。
在一实施例中,如图3所示,所述第一CAT客户端2011包括第一前置过滤器2011A、第二前置过滤器2011B、第一后置过滤器2011C和第二后置过滤器2011D,所述第一前置过滤器2011A与所述第一后置过滤器2011C关联,所述第二前置过滤器2011B与所述第二后置过滤器2011D关联,其中:
所述第一前置过滤器2011A,用于拦截访问请求,并创建主CAT监控事务,且根据预设异常捕获机制确定所述访问请求的第一监控信息;以及还用于将所述第一监控信息和主CAT监控事务写入所述访问请求,以更新所述访问请求,并将更新后的所述访问请求转发至下一个微服务;
所述第二前置过滤器2011B,用于拦截所述第一前置过滤器转发的已更新的所述访问请求,并从已更新的所述访问请求中提取所述主CAT监控事务;以及还用于创建所述主CAT监控事务的子CAT监控事务,并通过子CAT监控事务记录所述第二监控信息;
所述第二后置过滤器2011D,用于拦截所述下一个微服务基于所述访问请求返回的响应报文,并从所述响应报文中提取第三监控信息;以及还用于通过所述子CAT监控事务记录所述第三监控信息,并结束所述子CAT监控事务;
所述第一后置过滤器2011C,用于拦截所述下一个微服务基于所述访问请求返回的响应报文,并将所述微服务网关的属性信息写入所述响应报文,以更新所述响应报文;以及还用于将更新后的所述响应报文发送至上一个微服务,并结束所述主CAT监控事务。
在一实施例中,所述第二CAT客户端2012还用于:
创建微服务应用的CAT监控事务;
根据预设异常捕获机制,确定标记后的所述访问请求的监控信息,并通过所述CAT监控事务记录所述监控信息,以完成对标记后的所述访问请求的监控。
在一实施例中,所述监控数据包括第一监控信息、第二监控信息和第三监控信息,所述第一监控信息包括URL地址、上一个微服务的IP地址、名称和当前时间戳,所述第二监控信息包括转发路径、请求类型和当前时间戳,所述第三监控信息包括下一个微服务的IP地址和名称。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的全链路监控系统的具体工作过程,可以参考前述全链路监控方法实施例中的对应过程,在此不再赘述。
请参阅图4,图4为本申请实施例提供的一种CAT客户端的的示意性框图,如图4所示,所述CAT客户端300包括:第一前置过滤器301、第二前置过滤器302、第一后置过滤器303和第二后置过滤器304,所述第一前置过滤器301与所述第一后置过滤器303关联,所述第二前置过滤器302与所述第二后置过滤器304关联,所述CAT客户端部署于微服务网关,用于监控所述微服务网关,其中:
所述第一前置过滤器301,用于拦截访问请求,并创建主CAT监控事务,且根据预设异常捕获机制确定所述访问请求的第一监控信息;以及还用于将所述第一监控信息和主CAT监控事务写入所述访问请求,以更新所述访问请求,并将更新后的所述访问请求转发至下一个微服务;
所述第二前置过滤器302,用于拦截所述第一前置过滤器转发的已更新的所述访问请求,并从已更新的所述访问请求中提取所述主CAT监控事务;以及还用于创建所述主CAT监控事务的子CAT监控事务,并通过子CAT监控事务记录所述第二监控信息;
所述第二后置过滤器304,用于拦截所述下一个微服务基于所述访问请求返回的的响应报文,并从所述响应报文中提取第三监控信息;以及还用于通过所述子CAT监控事务记录所述第三监控信息,并结束所述子CAT监控事务;
所述第一后置过滤器303,用于拦截所述下一个微服务基于所述访问请求返回的响应报文,并将所述微服务网关的属性信息写入所述响应报文,以更新所述响应报文;以及还用于将更新后的所述响应报文发送至上一个微服务,并结束所述主CAT监控事务。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的CAT客户端的具体工作过程,可以参考前述全链路监控方法实施例中的对应过程,在此不再赘述。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种全链路监控方法,其特征在于,所述方法应用于全链路监控系统,所述全链路监控系统包括中央应用程序监控CAT客户端和监控服务端,所述CAT客户端包括第一CAT客户端和第二CAT客户端,所述第一CAT客户端和第二CAT客户端的监控逻辑不同,所述第一CAT客户端部署于微服务网关,所述第二CAT客户端部署于微服务应用,所述方法包括:
获取检测到的访问请求的访问链和访问链ID,并根据所述访问链ID对所述访问请求进行标记;
通过所述访问链中的各微服务的所述第一CAT客户端和第二CAT客户端创建每个微服务的CAT监控事务,以监控标记后的所述访问请求;
当检测到所述CAT监控事务结束时,将所述第一CAT客户端和第二CAT客户端监控得到的监控数据发送至所述监控服务端进行存储。
2.根据权利要求1所述的全链路监控方法,其特征在于,所述通过所述访问链中的各微服务的所述第一CAT客户端和第二CAT客户端创建每个微服务的CAT监控事务,以监控标记后的所述访问请求,包括:
通过所述访问链中的微服务网关对应的所述第一CAT客户端,创建所述微服务网关的CAT监控事务,以监控标记后的所述访问请求;以及
通过所述访问链中的微服务应用对应的所述第二CAT客户端,创建所述微服务应用的CAT监控事务,以监控标记后的所述访问请求。
3.根据权利要求2所述的全链路监控方法,其特征在于,所述第一CAT客户端包括第一前置过滤器、第二前置过滤器、第一后置过滤器和第二后置过滤器,所述第一前置过滤器与所述第一后置过滤器关联,所述第二前置过滤器与所述第二后置过滤器关联;所述通过所述访问链中的微服务网关对应的所述第一CAT客户端,创建所述微服务网关的CAT监控事务,以监控标记后的所述访问请求,包括:
通过所述第一前置过滤器创建主CAT监控事务,并基于预设异常捕获机制确定标记后的所述访问请求的第一监控信息;
将所述第一监控信息和主CAT监控事务写入标记后的所述访问请求,以更新所述访问请求,并将更新后的所述访问请求转发至所述访问链中的下一个微服务;
通过所述第二前置过滤器获取已更新的所述访问请求的第二监控信息,并从已更新的所述访问请求中提取所述主CAT监控事务;
创建所述主CAT监控事务的子CAT监控事务,并通过子CAT监控事务记录所述第二监控信息;
通过所述第二后置过滤器获取已更新的所述访问请求的响应报文,并从所述响应报文中提取第三监控信息;
通过所述子CAT监控事务记录所述第三监控信息,并结束所述子CAT监控事务;
通过所述第一后置过滤器获取已更新的所述访问请求的响应报文,并将所述微服务网关的属性信息写入所述响应报文,以更新所述响应报文;
将更新后的所述响应报文发送至所述访问链中的上一个微服务,并结束所述主CAT监控事务,以完成对标记后的所述访问请求的监控。
4.根据权利要求3所述的全链路监控方法,其特征在于,所述监控数据包括第一监控信息、第二监控信息和第三监控信息,所述第一监控信息包括URL地址、上一个微服务的IP地址、名称和当前时间戳,所述第二监控信息包括转发路径、请求类型和当前时间戳,所述第三监控信息包括下一个微服务的IP地址和名称。
5.根据权利要求2所述的全链路监控方法,其特征在于,所述通过所述访问链中的微服务应用对应的所述第二CAT客户端,创建所述微服务应用的CAT监控事务,以监控标记后的所述访问请求,包括:
通过所述访问链中的微服务应用对应的所述第二CAT客户端,创建所述微服务应用的CAT监控事务;
根据预设异常捕获机制,确定标记后的所述访问请求的监控信息,并通过所述CAT监控事务记录所述监控信息,以完成对标记后的所述访问请求的监控。
6.根据权利要求1至5中任一项所述的全链路监控方法,其特征在于,所述方法还包括:
若所述访问链中的各微服务均为微服务应用,则通过通过所述访问链中的各微服务应用的所述第二CAT客户端创建每个微服务应用的CAT监控事务,以监控标记后的所述访问请求。
7.一种全链路监控系统,其特征在于,所述全链路监控系统包括中央应用程序监控CAT客户端和监控服务端,其中:
所述CAT客户端包括第一CAT客户端和第二CAT客户端,所述第一CAT客户端和第二CAT客户端的监控逻辑不同;
所述第一CAT客户端部署于微服务网关,用于监控所述微服务网关,并将监控得到的数据发送至所述监控服务端;
所述第二CAT客户端部署于微服务应用,用于监控所述微服务应用,并将监控得到的监控数据发送至所述监控服务端;
所述监控服务端,用于接收并存储所述第一CAT客户端和第二CAT客户端发送的监控数据。
8.根据权利要求7所述的全链路监控系统,其特征在于,所述第一CAT客户端包括第一前置过滤器、第二前置过滤器、第一后置过滤器和第二后置过滤器,所述第一前置过滤器与所述第一后置过滤器关联,所述第二前置过滤器与所述第二后置过滤器关联,其中:
所述第一前置过滤器,用于拦截访问请求,并创建主CAT监控事务,且根据预设异常捕获机制确定所述访问请求的第一监控信息;以及还用于将所述第一监控信息和主CAT监控事务写入所述访问请求,以更新所述访问请求,并将更新后的所述访问请求转发至下一个微服务;
所述第二前置过滤器,用于拦截所述第一前置过滤器转发的已更新的所述访问请求,并从已更新的所述访问请求中提取所述主CAT监控事务;以及还用于创建所述主CAT监控事务的子CAT监控事务,并通过子CAT监控事务记录所述第二监控信息;
所述第二后置过滤器,用于拦截所述下一个微服务基于所述访问请求返回的响应报文,并从所述响应报文中提取第三监控信息;以及还用于通过所述子CAT监控事务记录所述第三监控信息,并结束所述子CAT监控事务;
所述第一后置过滤器,用于拦截所述下一个微服务基于所述访问请求返回的响应报文,并将所述微服务网关的属性信息写入所述响应报文,以更新所述响应报文;以及还用于将更新后的所述响应报文发送至上一个微服务,并结束所述主CAT监控事务。
9.根据权利要求8所述的全链路监控系统,其特征在于,所述监控数据包括第一监控信息、第二监控信息和第三监控信息,所述第一监控信息包括URL地址、上一个微服务的IP地址、名称和当前时间戳,所述第二监控信息包括转发路径、请求类型和当前时间戳,所述第三监控信息包括下一个微服务的IP地址和名称。
10.一种CAT客户端,其特征在于,所述CAT客户端包括:第一前置过滤器、第二前置过滤器、第一后置过滤器和第二后置过滤器,所述第一前置过滤器与所述第一后置过滤器关联,所述第二前置过滤器与所述第二后置过滤器关联,所述CAT客户端部署于微服务网关,用于监控所述微服务网关,其中:
所述第一前置过滤器,用于拦截访问请求,并创建主CAT监控事务,且根据预设异常捕获机制确定所述访问请求的第一监控信息;以及还用于将所述第一监控信息和主CAT监控事务写入所述访问请求,以更新所述访问请求,并将更新后的所述访问请求转发至下一个微服务;
所述第二前置过滤器,用于拦截所述第一前置过滤器转发的已更新的所述访问请求,并从已更新的所述访问请求中提取所述主CAT监控事务;以及还用于创建所述主CAT监控事务的子CAT监控事务,并通过子CAT监控事务记录所述第二监控信息;
所述第二后置过滤器,用于拦截所述下一个微服务基于所述访问请求返回的的响应报文,并从所述响应报文中提取第三监控信息;以及还用于通过所述子CAT监控事务记录所述第三监控信息,并结束所述子CAT监控事务;
所述第一后置过滤器,用于拦截所述下一个微服务基于所述访问请求返回的响应报文,并将所述微服务网关的属性信息写入所述响应报文,以更新所述响应报文;以及还用于将更新后的所述响应报文发送至上一个微服务,并结束所述主CAT监控事务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010220086.4A CN111586092A (zh) | 2020-03-25 | 2020-03-25 | 全链路监控方法、系统及cat客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010220086.4A CN111586092A (zh) | 2020-03-25 | 2020-03-25 | 全链路监控方法、系统及cat客户端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111586092A true CN111586092A (zh) | 2020-08-25 |
Family
ID=72124179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010220086.4A Pending CN111586092A (zh) | 2020-03-25 | 2020-03-25 | 全链路监控方法、系统及cat客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111586092A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472850A (zh) * | 2021-05-31 | 2021-10-01 | 北京达佳互联信息技术有限公司 | 链路数据获取方法、装置、系统、电子设备和存储介质 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729542A (zh) * | 2009-11-26 | 2010-06-09 | 上海大学 | 基于网络数据包的多协议信息解析的系统 |
CN103312693A (zh) * | 2013-05-08 | 2013-09-18 | 华迪计算机集团有限公司 | 音视频访问控制网关设备 |
CN107135276A (zh) * | 2017-06-28 | 2017-09-05 | 北京中电普华信息技术有限公司 | 一种微服务架构下的全链路监控方法、装置和系统 |
CN107766205A (zh) * | 2017-10-10 | 2018-03-06 | 武汉大学 | 一种面向微服务调用过程跟踪的监控系统及方法 |
CN108512748A (zh) * | 2018-03-21 | 2018-09-07 | 上海艾融软件股份有限公司 | 一种微服务网关的实现方法 |
CN108880908A (zh) * | 2018-07-09 | 2018-11-23 | 上海盛付通电子支付服务有限公司 | 一种监控方法及其服务器 |
CN109672741A (zh) * | 2018-12-25 | 2019-04-23 | 鼎信信息科技有限责任公司 | 微服务监控方法、装置、计算机设备和存储介质 |
CN109788040A (zh) * | 2018-12-27 | 2019-05-21 | 北京航天智造科技发展有限公司 | 微服务授权与调度方法和系统 |
CN109857409A (zh) * | 2019-01-16 | 2019-06-07 | 深圳壹账通智能科技有限公司 | 基于微服务网关的数据处理方法、装置及计算机设备 |
CN109885449A (zh) * | 2018-12-29 | 2019-06-14 | 北京奥鹏远程教育中心有限公司 | 全链路跟踪方法 |
CN109885458A (zh) * | 2019-01-16 | 2019-06-14 | 深圳壹账通智能科技有限公司 | 基于cat的监控方法、装置、计算机系统及存储介质 |
CN110069354A (zh) * | 2019-04-15 | 2019-07-30 | 必成汇(成都)科技有限公司 | 微服务全链路跟踪方法及微服务架构 |
CN110321152A (zh) * | 2019-07-04 | 2019-10-11 | 青岛华正信息技术股份有限公司 | 一种软件开发平台 |
CN110401579A (zh) * | 2019-06-18 | 2019-11-01 | 平安科技(深圳)有限公司 | 基于hash表的全链路数据采样方法、装置、设备及存储介质 |
CN110535722A (zh) * | 2019-08-27 | 2019-12-03 | 江苏瑞中数据股份有限公司 | 一种跨安全区域的微服务全链路运行监控方法 |
WO2019232962A1 (zh) * | 2018-06-06 | 2019-12-12 | 平安科技(深圳)有限公司 | 数据处理方法、系统、计算机设备和存储介质 |
US20200045037A1 (en) * | 2018-07-31 | 2020-02-06 | Salesforce.Com, Inc. | Token store service for platform authentication |
CN110784374A (zh) * | 2019-10-25 | 2020-02-11 | 上海中通吉网络技术有限公司 | 业务系统运行状态的监控方法、装置、设备和系统 |
CN110781476A (zh) * | 2019-10-15 | 2020-02-11 | 南京南瑞信息通信科技有限公司 | 一种柔性微服务安全访问控制方法及系统 |
-
2020
- 2020-03-25 CN CN202010220086.4A patent/CN111586092A/zh active Pending
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729542A (zh) * | 2009-11-26 | 2010-06-09 | 上海大学 | 基于网络数据包的多协议信息解析的系统 |
CN103312693A (zh) * | 2013-05-08 | 2013-09-18 | 华迪计算机集团有限公司 | 音视频访问控制网关设备 |
CN107135276A (zh) * | 2017-06-28 | 2017-09-05 | 北京中电普华信息技术有限公司 | 一种微服务架构下的全链路监控方法、装置和系统 |
CN107766205A (zh) * | 2017-10-10 | 2018-03-06 | 武汉大学 | 一种面向微服务调用过程跟踪的监控系统及方法 |
CN108512748A (zh) * | 2018-03-21 | 2018-09-07 | 上海艾融软件股份有限公司 | 一种微服务网关的实现方法 |
WO2019232962A1 (zh) * | 2018-06-06 | 2019-12-12 | 平安科技(深圳)有限公司 | 数据处理方法、系统、计算机设备和存储介质 |
CN108880908A (zh) * | 2018-07-09 | 2018-11-23 | 上海盛付通电子支付服务有限公司 | 一种监控方法及其服务器 |
US20200045037A1 (en) * | 2018-07-31 | 2020-02-06 | Salesforce.Com, Inc. | Token store service for platform authentication |
CN109672741A (zh) * | 2018-12-25 | 2019-04-23 | 鼎信信息科技有限责任公司 | 微服务监控方法、装置、计算机设备和存储介质 |
CN109788040A (zh) * | 2018-12-27 | 2019-05-21 | 北京航天智造科技发展有限公司 | 微服务授权与调度方法和系统 |
CN109885449A (zh) * | 2018-12-29 | 2019-06-14 | 北京奥鹏远程教育中心有限公司 | 全链路跟踪方法 |
CN109857409A (zh) * | 2019-01-16 | 2019-06-07 | 深圳壹账通智能科技有限公司 | 基于微服务网关的数据处理方法、装置及计算机设备 |
CN109885458A (zh) * | 2019-01-16 | 2019-06-14 | 深圳壹账通智能科技有限公司 | 基于cat的监控方法、装置、计算机系统及存储介质 |
CN110069354A (zh) * | 2019-04-15 | 2019-07-30 | 必成汇(成都)科技有限公司 | 微服务全链路跟踪方法及微服务架构 |
CN110401579A (zh) * | 2019-06-18 | 2019-11-01 | 平安科技(深圳)有限公司 | 基于hash表的全链路数据采样方法、装置、设备及存储介质 |
CN110321152A (zh) * | 2019-07-04 | 2019-10-11 | 青岛华正信息技术股份有限公司 | 一种软件开发平台 |
CN110535722A (zh) * | 2019-08-27 | 2019-12-03 | 江苏瑞中数据股份有限公司 | 一种跨安全区域的微服务全链路运行监控方法 |
CN110781476A (zh) * | 2019-10-15 | 2020-02-11 | 南京南瑞信息通信科技有限公司 | 一种柔性微服务安全访问控制方法及系统 |
CN110784374A (zh) * | 2019-10-25 | 2020-02-11 | 上海中通吉网络技术有限公司 | 业务系统运行状态的监控方法、装置、设备和系统 |
Non-Patent Citations (2)
Title |
---|
丁学英;刘迪;邱镇;: "基于微服务架构的应用监控系统设计与实现", 电力信息与通信技术, no. 07, 15 July 2018 (2018-07-15) * |
熊肖磊;韩雄飞;赵炯;周奇才;: "微服务在大型设备监控管理系统中的应用探究", 现代机械, no. 06, 28 December 2019 (2019-12-28) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472850A (zh) * | 2021-05-31 | 2021-10-01 | 北京达佳互联信息技术有限公司 | 链路数据获取方法、装置、系统、电子设备和存储介质 |
CN113472850B (zh) * | 2021-05-31 | 2023-05-09 | 北京达佳互联信息技术有限公司 | 链路数据获取方法、装置、系统、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107181675B (zh) | 服务调用方法及装置 | |
CN109923847B (zh) | 调用链路的发现方法、装置、设备及存储介质 | |
US9003031B2 (en) | Method and system for network transaction monitoring using transaction flow signatures | |
CN108400909B (zh) | 一种流量统计方法、装置、终端设备和存储介质 | |
KR101797185B1 (ko) | 분산 환경에서 효율적으로 트랜젝션-분리 메트릭들을 수집하는 방법 | |
JP2005346414A (ja) | トレース処理プログラム、方法及び装置 | |
CN109656792A (zh) | 基于网络调用日志的应用性能分析方法、装置、计算机设备及存储介质 | |
CN111176941B (zh) | 一种数据处理的方法、装置和存储介质 | |
CN106790131B (zh) | 一种参数修改方法、装置及分布式平台 | |
JP2009017298A (ja) | データ分析装置 | |
CN1941771B (zh) | 用于面向服务的体系结构应用的Web服务信息管理方法和系统 | |
CN104639391A (zh) | 一种生成网络流量记录的方法及相应的流量检测设备 | |
CN109451078B (zh) | 一种分布式架构下的事务处理方法和装置 | |
CN107347016B (zh) | 一种信令流程模型识别方法及异常信令流程辨识方法 | |
CN109474698A (zh) | 访问请求标记方法、装置、设备及存储介质 | |
CN111586092A (zh) | 全链路监控方法、系统及cat客户端 | |
CN108810053A (zh) | 物联网应用处理方法和物联网应用系统 | |
CN114401319A (zh) | 一种请求处理方法、装置、服务器及存储介质 | |
CN106326280B (zh) | 数据处理方法、装置及系统 | |
CN112511384B (zh) | 流量数据处理方法、装置、计算机设备和存储介质 | |
JP4778092B2 (ja) | トレース処理方法、プログラム及び装置 | |
CN110572291A (zh) | 面向分布式系统实现架构自动识别功能的系统及其方法 | |
CN111538616A (zh) | 异常定位方法、装置、系统与计算机可读存储介质 | |
CN105592173A (zh) | 一种防止dns缓存被染的方法、系统及本地dns服务器 | |
CN110661799B (zh) | 一种arp欺骗行为的检测方法及系统 |
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 |