CN117336208A - 监控链路的方法、装置、设备和计算机可读介质 - Google Patents
监控链路的方法、装置、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN117336208A CN117336208A CN202311218722.XA CN202311218722A CN117336208A CN 117336208 A CN117336208 A CN 117336208A CN 202311218722 A CN202311218722 A CN 202311218722A CN 117336208 A CN117336208 A CN 117336208A
- Authority
- CN
- China
- Prior art keywords
- http request
- link
- monitoring
- modified
- client
- 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 123
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004590 computer program Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 15
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 239000000523 sample Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- 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
- H04L43/0823—Errors, e.g. transmission errors
-
- 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
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了监控链路的方法、装置、设备和计算机可读介质,涉及云计算技术领域。该方法的一具体实施方式包括:负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求;将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息;基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障。该实施方式不仅可以监控软件涉及链路,还可以监控硬件涉及链路。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种监控链路的方法、装置、设备和计算机可读介质。
背景技术
随着当前应用服务越来越复杂,微服务已成为时代的主流。微服务应用数量的急速增加,服务与服务链路之间的调用关系也变得错综复杂。
系统出现问题后,由于服务链路过长或过于复杂,无法快速准确定位问题。客户端或者移动端应用报出异常或者错误,也无法确定是哪个服务抛出的异常。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:目前多采用适配性改进软件定位故障,但网络服务链路故障,并不仅涉及软件问题也可能涉及硬件,因此难以及时监控链路。
发明内容
有鉴于此,本发明实施例提供一种监控链路的方法、装置、设备和计算机可读介质,不仅可以监控软件涉及链路,还可以监控硬件涉及链路。
为实现上述目的,根据本发明实施例的一个方面,提供了一种监控链路的方法,包括:
负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求;
将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息;
基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障。
所述修改所述HTTP请求的消息头,并发送修改后的HTTP请求,包括:
在所述HTTP请求的消息头中,将发送端的当前跨度标识作为父跨度标识,并将所述HTTP请求的负载均衡服务器标识作为当前跨度标识;
发送修改后的HTTP请求至下一个客户端,以在下一个客户端处理所述修改后的HTTP请求。
所述将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息,包括:
将在当前客户端修改后的HTTP请求的流量转发至监控服务器中;
在下一个客户端修改HTTP请求后,将在下一个客户端修改后的HTTP请求的流量转发至监控服务器中;
基于所述当前客户端修改后的HTTP请求的流量和所述下一个客户端修改后的HTTP请求的流量,构建所述HTTP请求的硬件链路信息。
所述负载均衡后获取客户端发送的HTTP请求,包括:
本地服务器负载均衡后或全局服务器负载均衡后,获取客户端发送的HTTP请求。
所述将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息,包括:
配置所述修改后的HTTP请求的镜像流量,并将所述镜像流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息。
所述构建所述HTTP请求的硬件链路信息,包括:
基于所述修改后的HTTP请求中的链路标识、所述修改后的HTTP请求中的父跨度标识和所述修改后的HTTP请求中的当前跨度标识,构建所述HTTP请求的硬件链路信息。
所述基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障,包括:
基于所述硬件链路信息中的父跨度标识和当前跨度标识,建立所述HTTP请求的硬件链路;
按照所述软件链路信息中的节点标识,建立所述HTTP请求的软件链路;
按照所述硬件链路和所述软件链路中的交互信息,监控链路故障。
所述按照所述硬件链路和所述软件链路中的交互信息,监控链路故障,包括:
显示所述硬件链路中所述HTTP请求的多个客户端和所述软件链路中的多个节点,将所述硬件链路中的中断客户端或所述软件链路中的中断节点作为链路故障点。
根据本发明实施例的第二方面,提供了一种监控链路的装置,包括:
修改模块,用于负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求;
转发模块,用于将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息;
监控模块,用于基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障。
根据本发明实施例的第三方面,提供了一种监控链路的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的方法。
根据本发明实施例的第五方面,提供了一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的如上述的方法。
上述发明中的一个实施例具有如下优点或有益效果:负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求;将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息;基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障。监控链路,不仅可以监控软件链路,还可以监控硬件链路。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的监控链路的方法的主要流程示意图;
图2是根据本发明实施例的修改HTTP请求的流程示意图;
图3是根据本发明实施例的构建HTTP请求的硬件链路信息的流程示意图;
图4是根据本发明实施例的客户端向监控服务器上报调用链路的示意图;
图5是根据本发明实施例的基于硬件链路信息和软件链路信息实现监控的流程示意图;
图6是根据本发明实施例的链路故障示意图;
图7是根据本发明实施例的监控链路的实现示意图;
图8是根据本发明实施例的监控链路的装置的主要结构示意图;
图9是本发明实施例可以应用于其中的示例性系统架构图;
图10是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
基于应用性能监测软件(APM)在服务上,例如Java应用等,在服务运行时,注入代理(agent)以拦截HTTP请求,并在请求的帧头(header)上加入标识,并将该标识上报给apm的服务端。服务端收集到数据后进行监测。
目前,系统出现问题后多采用埋点或探针方式监控链路。应用系统经改造或埋点,使用全局流水号输出到日志中,基于APM日志进行分析,形成应用拓扑和组件间的调用关系。
采用埋点方式,其优点在于:功能强大,不仅能发现应用拓扑,能实现交易的全链路跟踪,发现交易故障和性能问题。缺点在于:对应用系统的侵入性较强,针对负载均衡、Nginx、消息队列(MQ)和数据库等,无相关应用日志。
在服务器上安装探针或在应用系统的启动参数中增加探针,通过探针动态拦截底层框架的行为,从而自动注入监控逻辑,实现应用监控。
采用安装探针方式,其优点在于:对应用系统代码无侵入,不仅能发现应用拓扑,能实现交易的全链路跟踪,发现交易故障和性能问题。缺点在于:需要安装探针,并且需要应用重启,实施周期长;针对负载均衡、Nginx、MQ、数据库等和无法安装探针。
基于上述方式,可以针对软件应用监控链路,但网络服务链路的问题,并不仅仅是软件问题,也可能是硬件问题。如:服务器负载均衡(Server Load Balancing,SLB)出现异常,该异常可能为接收请求异常,也可能为接收请求后的转发异常,这就导致在实际探测链路时,往往忽略了硬件问题,只做软件层面上的分析。
因此,可知存在难以及时监控链路的技术问题。
为了解决难以及时监控链路,可以采用以下本发明实施例中的技术方案。
参见图1,图1是根据本发明实施例的监控链路的方法主要流程示意图,修改HTTP请求的消息头,并转发HTTP请求的流量以构建硬件链路信息,结合软件链路信息实现监控全类型链路。如图1即100所示,具体包括以下步骤:
S101、服务器负载均衡后获取客户端发送的HTTP请求,修改HTTP请求的消息头,并发送修改后的HTTP请求。
本发明实施例中的技术方案应用于微服务。微服务是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。
微服务机器中的客户端之间相互调用,如:客户端A调用客户端B。大多数情况,客户端之间并不是完全开放端口的,需要通过一些中间硬件设备交互HTTP请求,如:服务负载均衡(Server Load Balancing,SLB)。客户端A想要调用客户端B,需要经过SLB,因此是从客户端A到SLB再到客户端B。
在本发明的一个实施例中,在服务器负载均衡后获取客户端发送的HTTP请求,其目的在于将HTTP请求发送至下一个客户端。
其中,负载均衡包括本地服务器负载均衡或全局服务器负载均衡。具体地,本地服务器负载均衡后或全局服务器负载均衡后,获取客户端发送的HTTP请求。
本地服务器负载均衡是在预设范围内实现负载均衡。全局服务器负载均衡是在整个网络范围内实现负载均衡。
负载均衡包括系统的本地服务器,所有客户端的请求都首先到上述本地服务器,然后由本地服务器根据各个客户端状态分配HTTP请求。本地服务器负载均衡一般局限于一定的区域范围内,其目标是在特定的区域范围内寻找一台最适合客户端对应的服务器提供服务。
全局服务器负载均衡(Global Server Load Balance,GSLB)要的目的是在整个网络范围内将客户端发送的HTTP请求定向到最近服务器中。
参见图2即200,图2是根据本发明实施例的修改HTTP请求的流程示意图。具体包括以下步骤:
S201、在HTTP请求的消息头中,将发送端的当前跨度标识作为父跨度标识,并将HTTP请求的负载均衡服务器标识作为当前跨度标识。
在本发明的实施例中,为记录处理HTTP请求的硬件设备。通过修改HTTP请求以转发HTTP请求的流量。作为一个示例,可以采用负载均衡设备修改HTTP请求的消息头。
每次进行本地或者远程方法的调用时创建一个Span,以跨度标识(SpanID)标识硬件链路中的硬件设备。在HTTP请求的消息头中包括:TraceID,parentsID和SpanID。其中,TraceID用于标识链路;parentID用于标识链路来源。
具体地,在HTTP请求的消息头中,将发送端的当前跨度标识作为父跨度标识,并将HTTP请求的负载均衡服务器标识作为当前跨度标识。
在本发明的实施例中,针对每个负载均衡服务器设置负载均衡服务器标识。作为一个示例,负载均衡服务器标识包括SpanID,负载均衡服务器的SpanID是唯一的。
在本发明的一个实施例中,S201和S202的执行主体是负载均衡服务器。即,负载均衡服务器具有改写HTTP请求的功能和作用。
S202、发送修改后的HTTP请求至下一个客户端,以在下一个客户端处理修改后的HTTP请求。
在本发明的实施例中,HTTP请求由一个客户端发送至下一个客户端。修改后的HTTP请求,需要发送至下一个客户端,以在下一个客户端处理修改后的HTTP请求。
作为一个示例,为了监控下一个客户端中的HTTP请求,则需要执行S201,即再次修改HTTP请求的消息头。
在图2的实施例中,通过修改HTTP请求的消息头,监控硬件设备。
S102、将修改后的HTTP请求的流量转发至监控服务器中,以构建HTTP请求的硬件链路信息。
虽然已修改HTTP请求的消息头,但上述修改过程对于监控服务器来说并未知晓。在本发明的实施例中,采用监控服务器实现监控链路。即,在监控服务器中存储链路中的监控信息。
可以将修改后的HTTP请求的流量转发至监控服务器中,以构建HTTP请求的硬件链路信息。在监控服务器中存储多个客户端HTTP请求的流量,进而以上述多个客户端HTTP请求的流量,构建HTTP请求的硬件链路信息。
作为一个示例,监控服务器模拟HTTP发送上报信息。上报信息的作用是上报HTTP请求中的TraceID,parentsID和SpanID。进而构建并上报硬件链路信息。
在本发明的一个实施例中,通过配置镜像流量转发修改后的HTTP请求的流量至监控服务器中。具体地,配置修改后的HTTP请求的镜像流量,并将镜像流量转发至监控服务器中,以构建HTTP请求的硬件链路信息。镜像流量是通过配置复制真实流量到服务器中。
采用镜像流量实现转发修改后HTTP请求的流量,达到在不影响HTTP请求处理的情况下对流量做具体分析的目的。
参见图3即300,图3是根据本发明实施例的构建HTTP请求的硬件链路信息的流程示意图。具体包括以下步骤:
S301、将在当前客户端修改后的HTTP请求的流量转发至监控服务器中。
在本发明的实施例中,HTTP请求的处理过程中,需要涉及多个客户端。将正在处理HTTP请求的客户端称为当前客户端。将下一个处理HTTP请求的客户端称为下一个客户端。
针对当前客户端,将在当前客户端修改后的HTTP请求的流量转发至监控服务器中。在监控服务器存储当前客户端中的流量信息。
S302、在下一个客户端修改HTTP请求后,将在下一个客户端修改后的HTTP请求的流量转发至监控服务器中。
采用图2实施例的技术方案在下一个客户端修改HTTP请求后,就可以将在下一个客户端修改后的HTTP请求的流量转发至监控服务器中。在监控服务器存储下一个客户端中的流量信息。
S303、基于当前客户端修改后的HTTP请求的流量和下一个客户端修改后的HTTP请求的流量,构建HTTP请求的硬件链路信息。
在监控服务器中存储多个客户端中的流量信息,作为一个示例,流量信息中包括的TraceID,parentsID和SpanID。基于流量信息中的TraceID可以筛选出属于同一条硬件链路中的流量信息。再根据流量信息中的parentsID和SpanID,构建HTTP请求的硬件链路信息。
在图3的实施例中,针对每个客户端,将修改后的HTTP请求的流量转发至监控服务器,以建立硬件链路信息。
在本发明的一个实施例中,可以基于修改后的HTTP请求中的链路标识(TraceID)、修改后的HTTP请求中的父跨度标识(parentsID)和修改后的HTTP请求中的当前跨度标识(SpanID),构建HTTP请求的硬件链路信息。
作为一个示例,HTTP请求的硬件链路信息包括相同TraceID的客户端。针对每个客户端基于parentsID和SpanID,确定客户端的前一个客户端。然后,基于parentsID和SpanID建立TraceID对应的硬件链路。并将每个客户端的TraceID、parentsID和SpanID,作为硬件链路信息。
参见图4即400,图4是根据本发明实施例的客户端向监控服务器上报调用链路的示意图。
图4的客户端B是当前客户端,客户端C是下一个客户端。
微服务机器中的客户端之间相互调用,属于软件链路。如图4中客户端B调用客户端C。但大多数情况下,客户端之间并不是完全开放端口的,需要通过一些中间硬件设备。作为一个示例,中间硬件包括负载均衡服务器。
在图4中,客户端B想要调用客户端C,但是需要经过一个负载均衡服务器,因此,HTTP请求是从客户端B到负载均衡服务器再到客户端C。
客户端B接收到HTTP请求后,上报调用链路。在负载均衡服务器处,接收到客户端B的HTTP请求后,修改HTTP请求的消息头,然后将修改后的HTTP请求的流量主动上报至监控服务器中,并将修改后的HTTP请求的流量发送到后端的客户端C。
客户端C接收到HTTP请求后,上报调用链路,然后在负载均衡服务器处,接收到客户端C的HTTP请求后,修改HTTP请求的消息。
可知,针对硬件链路中每个客户端,转发流量至监控服务器。监控服务器中存储多个客户端的流量信息。
S103、基于监控服务器中硬件链路信息和HTTP请求的软件链路信息,监控链路故障。
在本发明的实施例中,硬件链路信息能够体现处理HTTP请求的客户端硬件的工作状态。软件链路信息能够体现处理HTTP请求的软件的工作状态。进而,可以实现监控链路故障。
参见图5即500,图5是根据本发明实施例的基于硬件链路信息和软件链路信息实现监控的流程示意图。具体包括以下步骤:
S501、基于硬件链路信息中的父跨度标识和当前跨度标识,建立HTTP请求的硬件链路。
硬件链路信息中的父跨度标识(parentsID)体现硬件设备的上一个硬件设备,当前跨度标识(SpanID)体现硬件设备的标识。进而基于parentsID和SpanID,建立HTTP请求的硬件链路。
S502、按照软件链路信息中的节点标识,建立HTTP请求的软件链路。
针对HTTP请求涉及的软件,可以按照软件链路信息中的节点标识,建立HTTP请求的软件链路。作为一个示例,软件链路中包括节点a、节点b和节点c。基于节点a、节点b和节点c,在软件链路信息获取对应的软件链路信息,进而建立HTTP请求的软件链路。
S503、按照硬件链路和软件链路中的交互信息,监控链路故障。
对于硬件链路来说,客户端之间交互信息;类似地,对于软件链路来说,节点之间交互信息。客户端或节点发生故障,则无法实现交互信息。因此,可以按照硬件链路和软件链路中的交互信息,监控链路故障。
在本发明的一个实施例中,可以在实现硬件链路中客户端和软件链路节点的情况下,确定链路故障点。
具体地,显示硬件链路中所述HTTP请求的多个客户端和软件链路中的多个节点,将硬件链路中的中断客户端或软件链路中的中断节点作为链路故障点。
参见图6即600,图6是根据本发明实施例的链路故障示意图。针对处理HTTP请求的客户端基于硬件链路信息,针对处理HTTP请求的节点基于软件链路信息。监控链路故障。作为一个示例,在服务端,显示硬件链路中所述HTTP请求的多个客户端和软件链路中的多个节点,将硬件链路中的中断客户端或软件链路中的中断节点作为链路故障点。
图6中展示完整调用关系,硬件链路包括客户端A、客户端B和客户端C。软件链路包括节点a、节点b和节点c。
若客户端C出现故障,即图6中×处。导致节点a、节点b和节点c无法处理HTTP请求,因此客户端C、节点a、节点b和节点c无法显示,在图6中以虚线框标识。图6中的客户端C称为中断节点,将中断节点作为链路故障点。
在发生链路故障的情况下,无法继续处理HTTP请求,导致处理HTTP请求的过程,界面展示都不可见。因此根据不可见客户端或节点位置,可快速定位链路故障点,实现链路监控。而且在本发明的实施例中,展示客户端的调用即硬件设备的调用,不仅可以发现软件链路的故障,还可以及时发现硬件链路的故障。
参见图7即700,图7是根据本发明实施例的监控链路的实现示意图。图7中,HTTP请求通过硬件中的客户端,经Nginx后转发至软件中的节点,以处理应用中的数据。
用户访问的Nginx和Java应用都属于软件层面。用户并非直接访问Nginx,在Nginx之前,可能涉及多个负载均衡。因此,图7中处理HTTP请求即包括软件调用,也包括硬件调用,这样,形成的完整链路,更具有参考意义。
采用本发明实施例中的技术方案,不仅可以监控图7中各应用即软件,还可以监控硬件。
在上述本发明的实施例中,负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求;将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息;基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障。监控链路,不仅可以监控软件链路,还可以监控硬件链路。
参见图8,图8是根据本发明实施例的监控链路的装置的主要结构示意图,监控链路的装置可以实现监控链路的方法,如图8即800所示,监控链路的装置具体包括:
修改模块801,用于负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求;
转发模块802,用于将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息;
监控模块803,用于基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障。
在本发明的一个实施例中,修改模块801,具体用于在所述HTTP请求的消息头中,将发送端的当前跨度标识作为父跨度标识,并将所述HTTP请求的负载均衡服务器标识作为当前跨度标识;
发送修改后的HTTP请求至下一个客户端,以在下一个客户端处理所述修改后的HTTP请求。
在本发明的一个实施例中,转发模块802,具体用于将在当前客户端修改后的HTTP请求的流量转发至监控服务器中;
在下一个客户端修改HTTP请求后,将在下一个客户端修改后的HTTP请求的流量转发至监控服务器中;
基于所述当前客户端修改后的HTTP请求的流量和所述下一个客户端修改后的HTTP请求的流量,构建所述HTTP请求的硬件链路信息。
在本发明的一个实施例中,修改模块801,具体用于本地服务器负载均衡后或全局服务器负载均衡后,获取客户端发送的HTTP请求。
在本发明的一个实施例中,转发模块802,具体用于配置所述修改后的HTTP请求的镜像流量,并将所述镜像流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息。
在本发明的一个实施例中,转发模块802,具体用于基于所述修改后的HTTP请求中的链路标识、所述修改后的HTTP请求中的父跨度标识和所述修改后的HTTP请求中的当前跨度标识,构建所述HTTP请求的硬件链路信息。
在本发明的一个实施例中,监控模块803,具体用于基于所述硬件链路信息中的父跨度标识和当前跨度标识,建立所述HTTP请求的硬件链路;
按照所述软件链路信息中的节点标识,建立所述HTTP请求的软件链路;
按照所述硬件链路和所述软件链路中的交互信息,监控链路故障。
在本发明的一个实施例中,监控模块803,具体用于显示所述硬件链路中所述HTTP请求的多个客户端和所述软件链路中的多个节点,将所述硬件链路中的中断客户端或所述软件链路中的中断节点作为链路故障点。
图9示出了可以应用本发明实施例的监控链路的方法或监控链路的装置的示例性系统架构900。
如图9所示,系统架构900可以包括终端设备901、902、903,网络904和服务器905。网络904用以在终端设备901、902、903和服务器905之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备901、902、903通过网络904与服务器905交互,以接收或发送消息等。终端设备901、902、903上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备901、902、903可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器905可以是提供各种服务的服务器,例如对用户利用终端设备901、902、903所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的监控链路的方法一般由服务器905执行,相应地,监控链路的装置一般设置于服务器905中。
应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本发明实施例的一种计算程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的监控链路的方法。
下面参考图10,其示出了适于用来实现本发明实施例的终端设备的计算机系统1000的结构示意图。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括修改模块、转发模块和监控模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,修改模块还可以被描述为“用于负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求;
将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息;
基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障。
根据本发明实施例的技术方案,负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求;将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息;基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障。监控链路,不仅可以监控软件链路,还可以监控硬件链路。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
需要说明的是,本发明的技术方案中,所涉及的用户个人信息的采集、分析、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法且合理的用途,不在这些合法使用等方面之外共享、泄露或出售,并且接受监管部门的监督管理。应当对用户个人信息采取必要措施,以防止对此类个人信息数据的非法访问,确保有权访问个人信息数据的人员遵守相关法律法规的规定,确保用户个人信息安全。一旦不再需要这些用户个人信息数据,应当通过限制甚至禁止数据收集和/或删除数据的方式将风险降至最低。
当适用时,包括在某些相关应用程序中,通过对数据去标识来保护用户隐私,例如在适用时通过移除特定标识符(例如,出生日期等)、控制所存储数据的量或特异性(例如,在城市级别而不是在具体地址级别收集位置数据)、控制数据如何被存储、和/或其他方法去标识。
Claims (12)
1.一种监控链路的方法,其特征在于,包括:
负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求;
将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息;
基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障。
2.根据权利要求1所述监控链路的方法,其特征在于,所述修改所述HTTP请求的消息头,并发送修改后的HTTP请求,包括:
在所述HTTP请求的消息头中,将发送端的当前跨度标识作为父跨度标识,并将所述HTTP请求的负载均衡服务器标识作为当前跨度标识;
发送修改后的HTTP请求至下一个客户端,以在下一个客户端处理所述修改后的HTTP请求。
3.根据权利要求1所述监控链路的方法,其特征在于,所述将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息,包括:
将在当前客户端修改后的HTTP请求的流量转发至监控服务器中;
在下一个客户端修改HTTP请求后,将在下一个客户端修改后的HTTP请求的流量转发至监控服务器中;
基于所述当前客户端修改后的HTTP请求的流量和所述下一个客户端修改后的HTTP请求的流量,构建所述HTTP请求的硬件链路信息。
4.根据权利要求1所述监控链路的方法,其特征在于,所述负载均衡后获取客户端发送的HTTP请求,包括:
本地服务器负载均衡后或全局服务器负载均衡后,获取客户端发送的HTTP请求。
5.根据权利要求1所述监控链路的方法,其特征在于,所述将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息,包括:
配置所述修改后的HTTP请求的镜像流量,并将所述镜像流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息。
6.根据权利要求1所述监控链路的方法,其特征在于,所述构建所述HTTP请求的硬件链路信息,包括:
基于所述修改后的HTTP请求中的链路标识、所述修改后的HTTP请求中的父跨度标识和所述修改后的HTTP请求中的当前跨度标识,构建所述HTTP请求的硬件链路信息。
7.根据权利要求1所述监控链路的方法,其特征在于,所述基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障,包括:
基于所述硬件链路信息中的父跨度标识和当前跨度标识,建立所述HTTP请求的硬件链路;
按照所述软件链路信息中的节点标识,建立所述HTTP请求的软件链路;
按照所述硬件链路和所述软件链路中的交互信息,监控链路故障。
8.根据权利要求7所述监控链路的方法,其特征在于,所述按照所述硬件链路和所述软件链路中的交互信息,监控链路故障,包括:
显示所述硬件链路中所述HTTP请求的多个客户端和所述软件链路中的多个节点,将所述硬件链路中的中断客户端或所述软件链路中的中断节点作为链路故障点。
9.一种监控链路的装置,其特征在于,包括:
修改模块,用于负载均衡后获取客户端发送的HTTP请求,修改所述HTTP请求的消息头,并发送修改后的HTTP请求;
转发模块,用于将所述修改后的HTTP请求的流量转发至监控服务器中,以构建所述HTTP请求的硬件链路信息;
监控模块,用于基于所述监控服务器中所述硬件链路信息和所述HTTP请求的软件链路信息,监控链路故障。
10.一种监控链路的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311218722.XA CN117336208A (zh) | 2023-09-20 | 2023-09-20 | 监控链路的方法、装置、设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311218722.XA CN117336208A (zh) | 2023-09-20 | 2023-09-20 | 监控链路的方法、装置、设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117336208A true CN117336208A (zh) | 2024-01-02 |
Family
ID=89294401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311218722.XA Pending CN117336208A (zh) | 2023-09-20 | 2023-09-20 | 监控链路的方法、装置、设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117336208A (zh) |
-
2023
- 2023-09-20 CN CN202311218722.XA patent/CN117336208A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783151B (zh) | 规则变更的方法和装置 | |
CN113900834B (zh) | 基于物联网技术的数据处理方法、装置、设备及存储介质 | |
US11700255B2 (en) | Feedback framework | |
CN111683139B (zh) | 用于均衡负载的方法和装置 | |
CN113517985B (zh) | 文件数据处理方法、装置、电子设备及计算机可读介质 | |
CN113342889A (zh) | 分布式数据库的管理方法、装置、设备和介质 | |
CN113595927A (zh) | 一种旁路模式下镜像流量的处理方法和装置 | |
CN114338684B (zh) | 一种能源管理系统及方法 | |
CN110896362A (zh) | 一种故障检测方法和装置 | |
CN110324384B (zh) | 数据推送的方法和装置 | |
US20210165681A1 (en) | Method and apparatus for processing a service of an abnormal server | |
CN117336208A (zh) | 监控链路的方法、装置、设备和计算机可读介质 | |
CN113778780B (zh) | 应用稳定性的确定方法、装置、电子设备和存储介质 | |
CN111290873B (zh) | 故障处理方法和装置 | |
CN110278133B (zh) | 由服务器执行的检查方法、装置、计算设备以及介质 | |
CN115242422A (zh) | 数据互通处理方法、装置及信息化管理系统 | |
CN113296829A (zh) | 处理业务的方法、装置、设备和计算机可读介质 | |
CN113742617A (zh) | 一种缓存更新的方法和装置 | |
CN113434384A (zh) | 一种压力测试方法和装置 | |
CN113760886B (zh) | 提供数据服务的方法、装置、设备和计算机可读介质 | |
CN112131095A (zh) | 压力测试方法和装置 | |
CN110262756B (zh) | 用于缓存数据的方法和装置 | |
CN110011767B (zh) | 用于tcp连接备份的方法和装置 | |
Sulasno et al. | Developing Integrated Smartphones Notification of Server Resource Monitoring System Using Zabbix, Webhook, and Telegram | |
CN117675846A (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 |