CN111858248B - 应用监控方法、装置、设备以及存储介质 - Google Patents
应用监控方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN111858248B CN111858248B CN202010700417.4A CN202010700417A CN111858248B CN 111858248 B CN111858248 B CN 111858248B CN 202010700417 A CN202010700417 A CN 202010700417A CN 111858248 B CN111858248 B CN 111858248B
- Authority
- CN
- China
- Prior art keywords
- service
- information
- link
- service request
- application
- 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.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 164
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000004044 response Effects 0.000 claims description 29
- 239000003795 chemical substances by application Substances 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 17
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000012806 monitoring device Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了应用监控方法、装置、设备以及存储介质,涉及计算机技术、数据处理和微服务技术领域。网格服务应用包括多个服务,各服务设有对应的网格代理模块,应用监控方法包括:网格代理模块根据服务请求,生成服务的访问日志信息;收集各服务的访问日志信息,得到应用监控信息;响应监控查询请求时,根据应用监控信息,生成待展示的监控信息。本申请提高了对应用监控的便利性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及数据处理和微服务技术领域。
背景技术
作为服务间通信的基础设施层,服务网格技术受到业界的广泛关注,有望成为下一代微服务架构。在服务网格构建的大规模微服务场景中,应用监控面临着服务类型多样和服务间请求复杂等诸多挑战。
发明内容
本申请提供了一种应用监控方法、装置、设备以及存储介质。
根据本申请的一方面,提供了一种应用监控方法,网格服务应用包括多个服务,各服务设有对应的网格代理模块,应用监控方法包括:
网格代理模块根据服务请求,生成服务的访问日志信息;
收集各服务的访问日志信息,得到应用监控信息;
响应监控查询请求时,根据应用监控信息,生成待展示的监控信息。
根据本申请的一方面,提供了一种应用监控装置,网格服务应用包括多个服务,各服务设有对应的网格代理模块,应用监控装置包括:
访问日志信息生成模块,用于网格代理模块根据服务请求,生成服务的访问日志信息;
应用监控信息得到模块,用于收集各服务的访问日志信息,得到应用监控信息;
监控查询模块,用于响应监控查询请求时,根据应用监控信息,生成待展示的监控信息。
根据本申请的一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上所述的方法。
根据本申请的一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如上所述的方法。
根据本申请的一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
根据本申请的技术,提高了对应用监控的便利性。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的应用监控方法的流程图一;
图2是根据本申请实施例的应用监控方法的流程图二;
图3是根据本申请实施例的应用监控方法的流程图三;
图4是根据本申请实施例的应用监控方法的流程图四;
图5是根据本申请实施例的服务网格应用监控系统的示例图;
图6是根据本申请实施例的访问日志处理流程的示例图;
图7是根据本申请实施例的访问日志收集、处理和上报过程的示例图;
图8是根据本申请实施例的应用监控装置的结构框图;
图9是用来实现本申请实施例的应用监控方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1为本申请实施例提供的一种应用监控方法,网格服务应用包括多个服务,各服务设有对应的网格代理模块,应用监控方法包括:
S101、网格代理模块根据服务请求,生成服务的访问日志信息;
S102、收集各服务的访问日志信息,得到应用监控信息;
S103、响应监控查询请求时,根据应用监控信息,生成待展示的监控信息。
其中,服务也称为微服务,以一个购物应用为例,购物应用可以包括用户服务、促销活动服务、商品查询服务和下单服务等多个服务。
其中,网络代理模块用于实现服务间服务请求的交互,例如服务A对应网络代理模块A,服务B对应网络代理模块B。服务A需要调用服务B时,服务A将服务请求发送给网络代理模块A,网络代理模块A把服务请求发送给网络代理模块B,进而由网络代理模块B把服务请求发送给服务B。因此,通过网络代理模块实现了对服务间通信的管理。
本申请实施例利用网络代理模块管理服务请求,通过网络代理模块生成与服务请求相关的访问日志信息,充分利用了网络代理模块的现有功能,开发成本低。
同时,本申请实施例将各服务的访问日志信息收集后,生成应用监控数据,便于了解应用的运行情况、服务间相互请求的情况、通信故障信息等,方便了用户对应用的各项服务进行统一管理。
在一种实施方式中,访问日志信息还包括:链路追踪信息、服务请求信息和服务请求响应信息。
通过链路追踪信息,便于了解多个服务之间的上下游关系,建立服务拓扑数据;通过服务请求信息和服务请求响应信息,便于用户了解对应的应用运行情况,例如响应时间、查询频率和错误信息等。
在一种实施方式中,参见图2,步骤S101,包括:
S201、如果服务请求为当前服务接收的服务请求,则在判断服务请求中是否有链路追踪信息,并在没有链路追踪信息的情况下,为服务请求设置链路追踪信息;
S202、如果服务请求为当前服务待发送的服务请求,则为服务请求更新链路追踪信息;
S203、根据服务请求中的链路追踪信息,生成服务的访问日志信息中的链路追踪信息。
通过在服务请求中设置链路追踪信息,便于网格代理模块基于服务请求确定链路追踪信息,进而了解各服务间的上下游关系。
尤其是与异构应用(非网格代理应用)进行通信时,通过上述方式,保证了传入和外发的服务请求均携带该链路追踪信息,保证链路的完整性,便于后续整理应用间的拓扑关系。
在一种实施方式中,链路追踪信息包括:完整链路标识、当前段链路标识、上一段链路标识、当前服务操作标识和上一服务操作标识。
其中,可以用traceId、spanId、parentSpanId、methodId和parentMethodId来分别表示完整链路标识、当前段链路标识、上一段链路标识、当前服务操作标识和上一服务操作标识。
其中,服务操作也称为方法,一个服务往往包含多个操作。以交易模块这个服务为例,该服务可以如购买、退货、支付、查询动作等多个操作。
上述链路追踪信息,便于确定服务请求对应的完整链路、当前段链路、当前服务操作,同时也可以追溯服务请求的来源信息,即上一段链路和上一服务操作信息,有利于后续应用监控时生成展示完整链路和建立服务间调用拓扑关系。
在一种实施方式中,步骤S201为服务请求设置链路追踪信息,包括:为服务请求设置完整链路标识、当前段链路标识和当前服务操作标识。
由于步骤S201的服务请求为其它服务接收到的服务请求,可能没有携带链路追踪信息,此时则需要为其添加完整链路标识、当前段链路标识和当前服务操作标识。
步骤S202为服务请求更新链路追踪信息,包括:根据服务请求中链路追踪信息的当前段链路标识和当前服务操作标识,重新设置链路追踪信息的上一段链路标识和上一服务操作标识;以及,重新设置链路追踪信息中的当前段链路标识和当前服务操作标识。
由于步骤S202为准备至其它服务的服务请求,需要将原接收时的当前段的链路标识和当前服务操作标识的值作为上一段的链路标识和上一段服务操作标识,以便下一个服务了解。
在一种实施方式中,参见图3,图1所示的方法,还包括:
S301、从各服务的访问日志信息中,提取目标监控信息;
步骤S102中收集各服务的访问日志信息,得到应用监控信息,包括:收集各服务的目标监控信息,得到应用监控信息。
在通过网格代理模块得到访问日志信息后,对访问日志信息进行处理,提取有用的目标监控信息,减少冗余的无用数据,减少后续数据传输存储负担,又便于后续应用监控时实现精准管理。
在一种实施方式中,目标监控信息包括:链路追踪信息、服务名称、服务请求路径、服务请求开始时间、服务请求结束时间、服务请求响应时间和服务请求响应状态码中的至少一项。
上述多项目标监控信息,便于后续进行链路追踪、了解服务请求、时间开销和响应情况等等。
在一种实施方式中,其中,
步骤S102收集各服务的访问日志信息,得到应用监控信息,包括:
(1)将各服务的目标监控信息保存至对应的本地缓冲区中;
(2)当本地缓冲区满足预设条件时,将目标监控信息发送至指定的存储后端中,得到应用监控信息;
其中,预设条件包括下述至少一项:
本地缓冲区的存储量达到额定值;
当前时刻到达指定的最小发送周期。
可选地,额定值S和最小发送周期T的具体大小可以根据系统环境进行灵活设置。
可选地,应用监控数据可以存储于追踪(trace)表。
通过上述的发送方式可以降低系统开销,并保证监控数据能够及时完成持久化。
在一种实施方式中,参见图4,图1所示的方法,还包括:
S401、每隔预设时间,根据应用监控信息,构建服务间请求关系的拓扑数据;其中,拓扑数据包括服务级拓扑数据和服务操作级拓扑数据中的至少一种;
步骤S103根据应用监控信息,生成待展示的监控信息,包括:根据已构建的拓扑数据,确定待展示的目标拓扑数据。
可选地,步骤S401中可以构建不同时间范围的拓扑数据,将计算完成的拓扑数据存储到拓扑(topology)表,供查询使用。
由于服务拓扑的计算较为复杂,根据接口实时计算将会带来较高的响应时延。通过离线计算拓扑数据的方式,待用户查询时可直接反馈拓扑数据,接口响应时间明显降低,大幅提高了查询效率,提供了良好的查询体验。
在一种实施方式中,其中,步骤S103中待展示的监控信息包括:目标应用运行的关键指标、目标服务请求的完整链路、完整链路上的各服务的目标监控信息中的至少一项;
其中,关键指标还包括每秒查询率(QPS,Queries-per-second)、平均响应时间、错误率中的至少一项。
通过关键指标,使用户对应用的整体运行情况有一个全面的认识;通过完整链路信息和链路上服务的信息,方便用户排查如通信故障等问题。本申请实施例提供了多维度的监控信息,满足用户的多样化使用需求。
在一种实施方式中,如图1所示的方法还可以包括:
网络代理模块通过预设的标准接口和异构应用(非服务网格类型的应用)进行服务请求的收发。网络代理模块在和异构应用互相访问时的服务请求,该服务请求中携带追踪链路信息,以保证链路的完整性。
对异构应用的应用监控数据进行处理,处理的数据格式与网格服务应用保持一致,且发送到存储后端。
下述为本申请实施例提供的应用监控方法的一具体示例,该示例是建立在网格代理生成的访问日志基础上设计和实现的,应用访问时,将请求和响应相关的数据记录在访问日志中,同时,生成调用链相关的追踪数据并追加到访问日志中,以保证数据源的完整性。
参见图5,图5为该应用监控方法所构建的服务网格应用监控系统,主要分为以下关键模块:(1)网格代理模块proxy:负责生成所需的访问日志;(2)日志处理和上报模块agent:负责收集访问日志信息,提取目标监控信息,并发送到数据库的trace表中;(3)离线计算模块analysis:根据trace表中的数据,计算服务间的上下游关系,得到服务拓扑数据,并存储到topology表中;(4)监控数据查询模块query:用于接收用户查询请求,从数据库(trace表和topology表)中查询不同类别的监控数据。
图5中,用消费者(consumer)服务和供应者(provider)服务作为示例表示两种不同的微服务,实际使用不局限于两种服务。
(1)网格代理模块proxy
服务请求时,网格代理会产生对应的访问日志,包括服务请求和响应相关的信息,这些信息对应用的访问分析具有重要意义,但仍无法根据这些数据获取服务之间的调用关系。为得到完整的数据源,需要将链路追踪相关的数据添加到访问日志中。
访问日志的处理流程如图6所示,该流程具体如下:
针对从其它服务接收到的服务请求,也称为入向请求,首先判断追踪链路信息是否存在。其中,追踪链路信息也可称为追踪头(trace header),包括traceId,spanId、parentSpanId、methodId和parentMethodId。
如果不存在,则初始化追踪链路信息,即设置traceId、spanId和methodId的值,parentSpanId和parentMethodId默认为空,如果header已经存在,则不进行处理。操作完成后,将这些追踪链路信息追加到访问日志中。
针对待发送到其它服务的服务请求,也称为出向请求,则需要更新追踪链路信息,即traceId保持不变,将parentSpanId设置为入向的spanId,parentMethodId设置为入向的methodId,重新生成最新的spanId和methodId。
根据上述追踪链路信息、服务请求信息和服务请求响应信息生成最终的访问日志,并将完整的日志内容发送到数据处理和上报模块agent,由agent进行后续处理。
(2)数据处理和上报模块agent
参见图7的访问日志信息收集、处理和上报过程,访问日志处理和上报模块agent包括以下三个处理任务:
(a)数据收集任务:接收网格代理生成的访问日志信息,判断访问日志信息是否合法,对于非法数据直接丢弃;
(b)处理转换任务:对访问日志信息进行格式转换,即提取有用信息(目标监控信息)。提取的目标监控信息包括但不限于:链路追踪信息(如traceId、spanId、methodId、parentSpanId和parentMethodId)、服务名称(serviceName)、服务请求路径(path)、服务请求开始时间(startTime)、服务请求结束时间(endTime)、响应状态码(status)等。
将这些目标监控信息保存到本地缓冲区。
(c)数据发送任务:当满足以下任意条件时,将缓冲区数据批量发送到指定的存储后端:a)缓冲区大小达到上限S;b)达到指定的最小发送周期T。S和T的具体大小可以根据系统环境进行灵活设置,这种发送方式可以降低系统开销,并保证监控数据能够及时完成持久化。
(3)离线计算模块analysis
离线计算模块analysis,周期性的读取trace表中的应用监控信息,根据读取的应用监控信息计算不同时间范围(如6小时、12小时和24小时等)的拓扑数据,最后将计算完成的拓扑数据存储到topology表,供查询模块使用。
由于服务拓扑的计算较为复杂,根据接口实时计算将会带来较高的响应时延。这种离线计算方式大幅提高了查询效率,接口响应时间明显降低,提供了良好的查询体验。
(4)监控数据查询模块query:
用户可以通过访问监控数据查询模块query,查询服务网格应用的服务监控情况,得到的待展示的监控信息包括以下三个维度:
(1)基础监控:主要包括QPS、平均响应时间和错误率三个关键指标,使用户对应用的整体运行情况有一个全面的认识,通过查询trace表完成;
(2)应用拓扑:可以向用户展示应用级的拓扑结构,完整的服务间调用关系对应用管理具有重要意义,通过查询topology表完成,支持服务级、方法级的拓扑展示;
(3)链路追踪:展示请求对应的完整链路,以及该链路对应的微服务子模块的时间开销、错误信息等,方便用户问题排查,通过查询trace表完成。
此外,针对服务网格应用与其他异构应用互相访问的场景,只需通过下述三点设计,就可以构建完整的数据链路和应用拓扑,从而实现对异构应用的统一管理。
一、设置用于微服务之间访问的标准接口,标准接口是网络访问的前提。
二、在服务网格应用和异构应用(非服务网格类型的应用)互相访问时,要求服务请求中需要携带追踪链路信息,以保证链路的完整性。
三、对异构应用的应用监控数据进行处理,处理的数据格式与网格服务应用保持一致,且发送到同样的存储后端。
结合上述示例可知,本申请实施例至少具备下述一种有益效果。
(1)使用定制化的访问日志作为监控数据源,充分利用了模块的现有功能,开发成本低,可以灵活扩展,最大程度上实现了模块复用,方便架构的长期演进。
(2)无需将不同访问日志信息拆分至不同组件中,以进行不同类型的监控。本申请实施例基于同一组数据源完成基础监控、链路追踪和应用拓扑的多维度展示,其中,基础监控包括QPS、平均响应时间和错误率等关键指标;链路追踪展示了用户请求经历的整个链路过程及其相关信息;应用拓扑反映了多个服务之间的上下游关系。并且,基于链路追踪信息中丰富的标识信息,支持服务级、方法级的拓扑查询。
(3)与非服务网格类型(如Spring Cloud微服务框架)的异构应用可以互访互通,且根据请求过程依然可以构建完整的调用链路和应用拓扑,方便用户进行统一管理。
(4)提供了离线的拓扑计算和高效的监控查询功能,通过定时任务计算服务拓扑数据,并将这些数据存储到单独的topology表中,提高了服务拓扑的查询效率。
对应的,图8为本申请实施例提供的一种应用监控装置的结构框图,网格服务应用包括多个服务,各服务设有对应的网格代理模块,应用监控装置包括:
访问日志信息生成模块801,用于网格代理模块根据服务请求,生成服务的访问日志信息;
应用监控信息得到模块802,用于收集各服务的访问日志信息,得到应用监控信息;
监控查询模块803,用于响应监控查询请求时,根据应用监控信息,生成待展示的监控信息。
在一种实施方式中,访问日志信息还包括:链路追踪信息、服务请求信息和服务请求响应信息。
在一种实施方式中,访问日志信息生成模块801,包括:
第一链路追踪信息设置子模块,用于如果服务请求为当前服务接收的服务请求,则在判断服务请求中是否有链路追踪信息,并在没有链路追踪信息的情况下,为服务请求设置链路追踪信息;
第二链路追踪信息设置子模块,用于如果服务请求为当前服务待发送的服务请求,则为服务请求更新链路追踪信息;
第一访问日志信息生成子模块,用于根据服务请求中的链路追踪信息,生成服务的访问日志信息中的链路追踪信息。
在一种实施方式中,链路追踪信息包括:完整链路标识、当前段链路标识、上一段链路标识、当前服务操作标识和上一服务操作标识。
在一种实施方式中,第一链路追踪信息设置子模块用于为服务请求设置完整链路标识、当前段链路标识和当前服务操作标识;
第二链路追踪信息设置子模块用于根据服务请求中链路追踪信息的当前段链路标识和当前服务操作标识,重新设置链路追踪信息的上一段链路标识和上一服务操作标识;以及,重新设置链路追踪信息中的当前段链路标识和当前服务操作标识。
在一种实施方式中,应用监控装置,还包括:
提取目标监控信息模块,用于从各服务的访问日志信息中,提取目标监控信息;
应用监控信息得到模块802,用于收集各服务的目标监控信息,得到应用监控信息。
在一种实施方式中,目标监控信息包括:链路追踪信息、服务名称、服务请求路径、服务请求开始时间、服务请求结束时间、服务请求响应时间和服务请求响应状态码中的至少一项。
在一种实施方式中,应用监控信息得到模块802,包括:
本地缓冲区保存子模块,用于将各服务的目标监控信息保存至对应的本地缓冲区中;
目标监控信息发送子模块,用于当本地缓冲区满足预设条件时,将目标监控信息发送至指定的存储后端中,得到应用监控信息;
其中,预设条件包括下述至少一项:
本地缓冲区的存储量达到额定值;
当前时刻到达指定的最小发送周期。
在一种实施方式中,应用监控装置,还包括:
拓扑数据生成模块,用于每隔预设时间,根据应用监控信息,构建服务间请求关系的拓扑数据;其中,拓扑数据包括服务级拓扑数据和服务操作级拓扑数据中的至少一种;
监控查询模块803用于根据已构建的拓扑数据,确定待展示的目标拓扑数据。
在一种实施方式中,待展示的监控信息包括:目标应用运行的关键指标、目标服务请求的完整链路、完整链路上的各服务的目标监控信息中的至少一项;
其中,关键指标还包括每秒查询率、平均响应时间、错误率中的至少一项。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
如图9所示,是根据本申请实施例的应用监控的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的应用监控的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的应用监控的方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的应用监控的方法对应的程序指令/模块(例如,附图8所示的访问日志信息生成模块801、应用监控信息得到模块802和监控查询模块803)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的应用监控的方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据应用监控的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至应用监控的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
应用监控的方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与应用监控的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与虚拟专用服务器(VPS)服务中,存在的管理难度大,业务扩展性弱的缺陷。
根据本申请实施例的技术方案,使用定制化的访问日志作为监控数据源,开发成本低,可以灵活扩展,最大程度上实现了模块复用。基于一组数据源完成了基础监控、链路追踪和应用拓扑的多方面展示,满足用户的多样化使用需求。同时,本申请实施例的技术方案,可以与非服务网格类型的异构应用互访互通,并可以构建完整的调用链路和应用拓扑,方便用户进行统一管理。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (20)
1.一种应用监控方法,网格服务应用包括多个服务,各所述服务设有对应的网格代理模块,所述应用监控方法包括:
所述网格代理模块根据服务请求,生成所述服务的访问日志信息;
收集各所述服务的访问日志信息,得到应用监控信息;
响应监控查询请求时,根据所述应用监控信息,生成待展示的监控信息;
其中,所述根据服务请求,生成所述服务的访问日志信息,包括:
如果所述服务请求为当前服务接收的服务请求,则在判断所述服务请求中是否有链路追踪信息,并在没有链路追踪信息的情况下,为所述服务请求设置链路追踪信息;
如果所述服务请求为当前服务待发送的服务请求,则为所述服务请求更新链路追踪信息;
根据所述服务请求中的链路追踪信息,生成所述服务的访问日志信息中的链路追踪信息。
2.根据权利要求1所述的方法,其中,
所述访问日志信息还包括:链路追踪信息、服务请求信息和服务请求响应信息。
3.根据权利要求1或2所述的方法,其中,
所述链路追踪信息包括:完整链路标识、当前段链路标识、上一段链路标识、当前服务操作标识和上一服务操作标识。
4.根据权利要求3所述的方法,其中,
所述为所述服务请求设置链路追踪信息,包括:为所述服务请求设置完整链路标识、当前段链路标识和当前服务操作标识;
所述为所述服务请求更新链路追踪信息,包括:根据所述服务请求中链路追踪信息的当前段链路标识和当前服务操作标识,重新设置链路追踪信息的上一段链路标识和上一服务操作标识;以及,重新设置链路追踪信息中的当前段链路标识和当前服务操作标识。
5.根据权利要求1所述的方法,还包括:
从各所述服务的访问日志信息中,提取目标监控信息;
所述收集各所述服务的访问日志信息,得到应用监控信息,包括:收集各所述服务的目标监控信息,得到应用监控信息。
6.根据权利要求5所述的方法,所述目标监控信息包括:链路追踪信息、服务名称、服务请求路径、服务请求开始时间、服务请求结束时间、服务请求响应时间和服务请求响应状态码中的至少一项。
7.根据权利要求1所述的方法,其中,
所述收集各所述服务的访问日志信息,得到应用监控信息,包括:
将所述各服务的目标监控信息保存至对应的本地缓冲区中;
当所述本地缓冲区满足预设条件时,将所述目标监控信息发送至指定的存储后端中,得到应用监控信息;
其中,所述预设条件包括下述至少一项:
所述本地缓冲区的存储量达到额定值;
当前时刻到达指定的最小发送周期。
8.根据权利要求1所述的方法,还包括:
每隔预设时间,根据所述应用监控信息,构建服务间请求关系的拓扑数据;其中,所述拓扑数据包括服务级拓扑数据和服务操作级拓扑数据中的至少一种;
所述根据所述应用监控信息,生成待展示的监控信息,包括:根据已构建的所述拓扑数据,确定待展示的目标拓扑数据。
9.根据权利要求1或8所述的方法,其中,所述待展示的监控信息包括:目标应用运行的关键指标、目标服务请求的完整链路、所述完整链路上的各服务的目标监控信息中的至少一项;
其中,所述关键指标还包括每秒查询率、平均响应时间、错误率中的至少一项。
10.一种应用监控装置,网格服务应用包括多个服务,各所述服务设有对应的网格代理模块,所述应用监控装置包括:
访问日志信息生成模块,用于所述网格代理模块根据服务请求,生成所述服务的访问日志信息;
应用监控信息得到模块,用于收集各所述服务的访问日志信息,得到应用监控信息;
监控查询模块,用于响应监控查询请求时,根据所述应用监控信息,生成待展示的监控信息;
其中,所述访问日志信息生成模块,包括:
第一链路追踪信息设置子模块,用于如果所述服务请求为当前服务接收的服务请求,则在判断所述服务请求中是否有链路追踪信息,并在没有链路追踪信息的情况下,为所述服务请求设置链路追踪信息;
第二链路追踪信息设置子模块,用于如果所述服务请求为当前服务待发送的服务请求,则为所述服务请求更新链路追踪信息;
第一访问日志信息生成子模块,用于根据所述服务请求中的链路追踪信息,生成所述服务的访问日志信息中的链路追踪信息。
11.根据权利要求10所述的装置,其中,
所述访问日志信息还包括:链路追踪信息、服务请求信息和服务请求响应信息。
12.根据权利要求10或11所述的装置,其中,
所述链路追踪信息包括:完整链路标识、当前段链路标识、上一段链路标识、当前服务操作标识和上一服务操作标识。
13.根据权利要求12所述的装置,其中,
所述第一链路追踪信息设置子模块用于为所述服务请求设置完整链路标识、当前段链路标识和当前服务操作标识;
所述第二链路追踪信息设置子模块用于根据所述服务请求中链路追踪信息的当前段链路标识和当前服务操作标识,重新设置链路追踪信息的上一段链路标识和上一服务操作标识;以及,重新设置链路追踪信息中的当前段链路标识和当前服务操作标识。
14.根据权利要求10所述的装置,还包括:
提取目标监控信息模块,用于从各所述服务的访问日志信息中,提取目标监控信息;
所述应用监控信息得到模块,用于收集各所述服务的目标监控信息,得到应用监控信息。
15.根据权利要求14所述的装置,所述目标监控信息包括:链路追踪信息、服务名称、服务请求路径、服务请求开始时间、服务请求结束时间、服务请求响应时间和服务请求响应状态码中的至少一项。
16.根据权利要求10所述的装置,其中,
所述应用监控信息得到模块,包括:
本地缓冲区保存子模块,用于将所述各服务的目标监控信息保存至对应的本地缓冲区中;
目标监控信息发送子模块,用于当所述本地缓冲区满足预设条件时,将所述目标监控信息发送至指定的存储后端中,得到应用监控信息;
其中,所述预设条件包括下述至少一项:
所述本地缓冲区的存储量达到额定值;
当前时刻到达指定的最小发送周期。
17.根据权利要求10所述的装置,还包括:
拓扑数据生成模块,用于每隔预设时间,根据所述应用监控信息,构建服务间请求关系的拓扑数据;其中,所述拓扑数据包括服务级拓扑数据和服务操作级拓扑数据中的至少一种;
所述监控查询模块用于根据已构建的所述拓扑数据,确定待展示的目标拓扑数据。
18.根据权利要求10或17所述的装置,其中,所述待展示的监控信息包括:目标应用运行的关键指标、目标服务请求的完整链路、所述完整链路上的各服务的目标监控信息中的至少一项;
其中,所述关键指标还包括每秒查询率、平均响应时间、错误率中的至少一项。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010700417.4A CN111858248B (zh) | 2020-07-20 | 2020-07-20 | 应用监控方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010700417.4A CN111858248B (zh) | 2020-07-20 | 2020-07-20 | 应用监控方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858248A CN111858248A (zh) | 2020-10-30 |
CN111858248B true CN111858248B (zh) | 2024-03-15 |
Family
ID=73000702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010700417.4A Active CN111858248B (zh) | 2020-07-20 | 2020-07-20 | 应用监控方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858248B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491858B (zh) * | 2020-11-20 | 2023-05-30 | 北京百度网讯科技有限公司 | 检测异常信息的方法、装置、设备以及存储介质 |
CN112532478B (zh) * | 2020-11-23 | 2022-05-03 | 华人运通(上海)云计算科技有限公司 | 链路关系追踪方法、系统、查看方法、装置、设备 |
CN112527537B (zh) * | 2020-11-30 | 2023-10-27 | 北京百度网讯科技有限公司 | 在线服务系统的质量监控方法、装置、设备和介质 |
CN113094157A (zh) * | 2021-02-25 | 2021-07-09 | 青岛海尔科技有限公司 | 调用拓扑图的生成方法和装置、存储介质及电子装置 |
CN113098942B (zh) * | 2021-03-25 | 2022-07-12 | 网易(杭州)网络有限公司 | 一种分布式系统的数据处理方法及装置 |
CN112988313B (zh) * | 2021-05-13 | 2021-09-14 | 金锐同创(北京)科技股份有限公司 | 路径确定方法、装置及电子设备 |
CN113472850B (zh) * | 2021-05-31 | 2023-05-09 | 北京达佳互联信息技术有限公司 | 链路数据获取方法、装置、系统、电子设备和存储介质 |
CN113810234B (zh) * | 2021-09-18 | 2023-04-18 | 北京字跳网络技术有限公司 | 微服务链路拓扑处理方法、装置及可读存储介质 |
CN114785690B (zh) * | 2022-03-30 | 2024-04-30 | 中国人寿保险股份有限公司 | 基于服务网格的监控方法及相关设备 |
CN114553709B (zh) * | 2022-04-28 | 2022-08-23 | 恒生电子股份有限公司 | 拓扑关系展示方法及相关设备 |
CN115334153B (zh) * | 2022-08-12 | 2023-10-27 | 北京百度网讯科技有限公司 | 服务网格的数据处理方法和装置 |
CN116319679A (zh) * | 2022-12-27 | 2023-06-23 | 中国电子产业工程有限公司 | 网络连接监控方法及装置 |
CN116501593A (zh) * | 2023-06-25 | 2023-07-28 | 中国电信股份有限公司 | 服务的调用记录的处理方法、装置及微服务架构 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766205A (zh) * | 2017-10-10 | 2018-03-06 | 武汉大学 | 一种面向微服务调用过程跟踪的监控系统及方法 |
CN109656700A (zh) * | 2018-12-17 | 2019-04-19 | 广州市玄武无线科技股份有限公司 | 多租户下分布式链路跟踪方法、系统、设备以及存储介质 |
CN109672741A (zh) * | 2018-12-25 | 2019-04-23 | 鼎信信息科技有限责任公司 | 微服务监控方法、装置、计算机设备和存储介质 |
CN110245060A (zh) * | 2019-05-20 | 2019-09-17 | 北京奇艺世纪科技有限公司 | 服务监控方法和设备、服务监控装置及介质 |
KR102050188B1 (ko) * | 2019-02-08 | 2019-11-28 | 아콘소프트 주식회사 | 마이크로서비스 시스템 및 방법 |
CN110535722A (zh) * | 2019-08-27 | 2019-12-03 | 江苏瑞中数据股份有限公司 | 一种跨安全区域的微服务全链路运行监控方法 |
CN111176955A (zh) * | 2020-01-07 | 2020-05-19 | 深圳壹账通智能科技有限公司 | 微服务的监控方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-07-20 CN CN202010700417.4A patent/CN111858248B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766205A (zh) * | 2017-10-10 | 2018-03-06 | 武汉大学 | 一种面向微服务调用过程跟踪的监控系统及方法 |
CN109656700A (zh) * | 2018-12-17 | 2019-04-19 | 广州市玄武无线科技股份有限公司 | 多租户下分布式链路跟踪方法、系统、设备以及存储介质 |
CN109672741A (zh) * | 2018-12-25 | 2019-04-23 | 鼎信信息科技有限责任公司 | 微服务监控方法、装置、计算机设备和存储介质 |
KR102050188B1 (ko) * | 2019-02-08 | 2019-11-28 | 아콘소프트 주식회사 | 마이크로서비스 시스템 및 방법 |
CN110245060A (zh) * | 2019-05-20 | 2019-09-17 | 北京奇艺世纪科技有限公司 | 服务监控方法和设备、服务监控装置及介质 |
CN110535722A (zh) * | 2019-08-27 | 2019-12-03 | 江苏瑞中数据股份有限公司 | 一种跨安全区域的微服务全链路运行监控方法 |
CN111176955A (zh) * | 2020-01-07 | 2020-05-19 | 深圳壹账通智能科技有限公司 | 微服务的监控方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111858248A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858248B (zh) | 应用监控方法、装置、设备以及存储介质 | |
US11836533B2 (en) | Automated reconfiguration of real time data stream processing | |
US8730819B2 (en) | Flexible network measurement | |
US9747093B2 (en) | Device driver aggregation in operating system deployment | |
KR20200042006A (ko) | 사물 인터넷 리소스 구독 방법, 디바이스, 및 시스템 | |
CN111083058B (zh) | 内容分发网络服务限流方法及电子设备 | |
CN111934840A (zh) | 客户端和服务端的通信方法、网关、电子设备及存储介质 | |
CN112491617B (zh) | 一种链路跟踪方法、装置、电子设备和介质 | |
KR102565409B1 (ko) | 인스턴스 수 조절 방법, 장치, 전자 기기 및 판독 가능한 저장 매체 | |
CN112052185B (zh) | 小程序的异常处理方法、装置、电子设备和存储介质 | |
EP3816802A2 (en) | Method and device for processing mini program data | |
CN113642300A (zh) | 一种报表生成方法、装置、电子设备及计算机可读介质 | |
CN111698326A (zh) | 用于确定云服务资源的成本归属的方法和装置 | |
CN110727736A (zh) | 一种数据同步方法、装置、电子设备和存储介质 | |
CN112379951A (zh) | 服务接口的访问方法、装置、电子设备和介质 | |
CN111597026B (zh) | 用于获取信息的方法及装置 | |
EP3306471A1 (en) | Automatic server cluster discovery | |
CN112929198B (zh) | 一种局部热点的处理方法、装置、电子设备及存储介质 | |
US20210319015A1 (en) | Pathnames with embedded queries | |
US20200241946A1 (en) | Graphical management of big data pipelines | |
CN113225228B (zh) | 数据处理方法及装置 | |
CN115840604B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN115776489A (zh) | 信息采集方法、装置、电子设备和计算机可读存储介质 | |
CN110389785B (zh) | 大数据处理系统及方法、电子设备、存储介质 | |
CN114077625A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |