CN112685252A - 微服务监控方法、装置、设备和存储介质 - Google Patents
微服务监控方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112685252A CN112685252A CN202011567607.XA CN202011567607A CN112685252A CN 112685252 A CN112685252 A CN 112685252A CN 202011567607 A CN202011567607 A CN 202011567607A CN 112685252 A CN112685252 A CN 112685252A
- Authority
- CN
- China
- Prior art keywords
- call
- service
- response
- calling
- micro
- 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 87
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000004044 response Effects 0.000 claims abstract description 114
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000012706 support-vector machine Methods 0.000 claims description 50
- 238000012549 training Methods 0.000 claims description 38
- 230000002159 abnormal effect Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012546 transfer Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 18
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002344 surface layer Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种微服务监控方法、装置、设备和存储介质。该方法包括:获取第一微服务对第二微服务的调用请求和所述调用请求对应的调用参数;通过所述第二微服务对所述调用请求进行处理,得到所述调用请求对应的调用响应;获取所述调用响应对应的响应参数;根据所述调用参数和所述响应参数生成监控结果。本申请实施例实现了对微服务调用过程中参数的监控,实现方案较为简单,效率较高。
Description
技术领域
本申请实施例涉及金融科技(Fintech)技术领域,尤其涉及一种微服务监控方法、装置、设备和存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,微服务监控技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
相关技术中,如果要对微服务之间调用的指标信息进行监控,需要在开发过程中进行日志的打印,其中指标信息包括:微服务之间调用的耗时、微服务的调用次数、调用结果(如成功、失败或超时等)等,例如以debug的方式对日志进行输出,但是会有非常庞大的日志,若从中获取上述指标信息较为困难,指标信息的获取需要花费一定的时间精力,效率较低。
发明内容
本申请实施例提供一种微服务监控方法、装置、设备和存储介质,以提高对微服务之间调用的指标信息进行监控的效率。
第一方面,本申请实施例提供一种微服务监控方法,包括:
获取第一微服务对第二微服务的调用请求和所述调用请求对应的调用参数;
通过所述第二微服务对所述调用请求进行处理,得到所述调用请求对应的调用响应;
获取所述调用响应对应的响应参数;
根据所述调用参数和所述响应参数生成监控结果。
在一种可能的实现方式中,所述第二微服务中包括监控程序和业务程序;获取第一微服务对第二微服务的调用请求,包括:
通过所述监控程序接收所述调用请求;
通过所述监控程序获取所述调用请求对应的调用参数。
在一种可能的实现方式中,所述第二微服务中包括监控程序和业务程序;通过所述第二微服务对所述调用请求进行处理,得到所述调用请求对应的调用响应,包括:
通过所述业务程序对所述调用请求进行处理,生成所述调用响应;
通过所述监控程序获取所述调用响应。
在一种可能的实现方式中,所述调用参数包括:所述第一微服务和所述第二微服务的标识、所述第一微服务和所述第二微服务的IP地址、时间戳;
获取所述调用响应对应的响应参数,包括:
根据调用响应中包括的所述调用请求的处理结果和时间戳,以及所述调用参数包括的时间戳,获取所述调用响应对应的响应参数,所述响应参数包括:所述调用请求的处理结果和耗时。
在一种可能的实现方式中,该方法还包括:
将所述监控结果存储到数据库中;
根据存储的所述监控结果,利用训练得到的预设模型获取异常数据。
在一种可能的实现方式中,所述预设模型包括支持向量机模型,所述方法还包括:
根据训练样本,对所述支持向量机模型进行训练,得到训练后的支持向量机模型;所述支持向量机模型的输入参数包括:监控结果;所述支持向量机模型的输出参数包括:异常数据;所述训练样本包括:多个监控结果以及各自对应的标签。
在一种可能的实现方式中,所述根据训练样本,对所述支持向量机模型进行训练,得到训练后的支持向量机模型,包括:
获取训练样本中各个监控结果与所述支持向量机模型的距离;
根据所述训练样本中各个监控结果与所述支持向量机模型的距离,以及各个监控结果对应的标签,对所述支持向量机模型进行训练,得到训练后的支持向量机模型。
在一种可能的实现方式中,所述调用请求为基于表述性状态转移REST或远程过程调用RPC协议生成的调用请求。
第二方面,本申请实施例提供一种微服务监控装置,包括:
获取模块,用于获取第一微服务对第二微服务的调用请求和所述调用请求对应的调用参数;
处理模块,用于通过所述第二微服务对所述调用请求进行处理,得到所述调用请求对应的调用响应;
所述获取模块,还用于获取所述调用响应对应的响应参数;
所述处理模块,还用于根据所述调用参数和所述响应参数生成监控结果。
第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的方法。
本申请实施例提供的微服务监控方法、装置、设备和存储介质,当第一微服务调用第二微服务时,获取第一微服务对第二微服务的调用请求对应的调用参数;进一步,通过所述第二微服务对所述调用请求进行处理,得到调用请求对应的调用响应,并获取调用响应对应的响应参数;最后根据获取到的调用参数和响应参数生成监控结果,从而实现了对微服务调用过程中参数的监控,实现方案较为简单,效率较高。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例提供的系统架构示意图;
图2是本申请提供的微服务监控方法一实施例的流程示意图;
图3是本申请一实施例提供的原理示意图;
图4是本申请一实施例提供的监控程序和业务程序的调用逻辑示意图;
图5是本申请一实施例提供的支持向量机效果示意图;
图6是本申请提供的微服务监控装置一实施例的结构示意图;
图7是本申请提供的电子设备实施例的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本申请的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本申请实施例涉及的部分词汇和应用场景进行介绍。
微服务(Microservice)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块(Small Building Blocks)为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关(Language-Independent/Language-agnostic)的应用程序接口(Application Programming Interface,API)集相互通信。
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
面向切面编程(Aspect Oriented Program,AOP),把功能分为核心业务功能和周边功能。所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务;所谓的周边功能,比如性能统计,日志,事务管理等等。周边功能在Spring的面向切面编程AOP思想里,即被定义为切面。在面向切面编程AOP的思想里面,核心业务功能和切面功能分别独立进行开发,然后把切面功能和核心业务功能“编织”在一起,就称为AOP。
图1为本申请实施例提供的系统架构示意图。如图1所示,本申请实施例的系统架构中可以包括但不限于:电子设备11和服务器12。
其中,电子设备11和服务器12之间可以通过网络连接。
本申请实施例提供的方法可由一个电子设备如处理器执行相应的软件代码实现,也可由一个电子设备在执行相应的软件代码的同时,通过和控制器进行数据交互来实现。
相关技术中,如果要对微服务之间调用的指标信息进行监控,需要在开发过程中进行日志的打印,其中指标信息包括:微服务之间调用的耗时、微服务的调用次数、调用结果(如成功、失败或超时等)等,例如以debug的方式对日志进行输出,但是会有非常庞大的日志,若从中获取上述指标信息较为困难。
其中,耗时是检测一个微服务响应其他微服务的重要指标,检测微服务之间调用的耗时,可以有效地测试出是否有性能瓶颈,如微服务处理请求的能力。
调用结果,即微服务之间发生调用时的最后状态,最后状态例如有成功、失败或超时等,通过对这些状态进行记录,可以有效追踪调用的链路,发现在出现报错的微服务之间互相调用的影响。
调用次数,例如统计同类微服务多实例的被调用次数,可以检测出微服务是否有严重的单点风险,例如微服务A调用微服务B,微服务C调用微服务B,微服务D调用微服务B等等,若微服务B发生故障,则存在单点风险。
本申请实施例的方法,通过当第一微服务调用第二微服务的时候,将此调用请求进行拦截,获取调用请求的相关信息,在对调用请求处理之后,对调用请求对应的响应进行拦截,获取响应的相关信息,从而实现了对微服务调用过程中参数的监控,实现方案较为简单,效率较高。
下面以具体的实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2是本申请提供的微服务监控方法一实施例的流程示意图。如图2所示,本实施例提供的方法,包括:
步骤101、获取第一微服务对第二微服务的调用请求和调用请求对应的调用参数。
具体的,在微服务的应用场景中,多个微服务之间存在互相调用的情况,当第一微服务调用第二微服务的时候,将第一微服务对第二微服务的调用请求进行拦截,具体的,识别出调用请求与第一微服务,然后再获取调用请求的相关信息,即调用请求对应的调用参数。
在一实施例中,调用参数包括但不限于:第一微服务和第二微服务的标识、第一微服务和第二微服务的IP地址、时间戳等;
其中,第一微服务和第二微服务的标识例如包括:微服务名、ID等。
步骤102、通过第二微服务对调用请求进行处理,得到调用请求对应的调用响应。
具体的,获取到调用请求对应的调用参数之后,通过第二微服务对调用请求进行处理,即执行所述调用请求对应的业务功能,得到调用请求对应的调用响应,调用响应为对调用请求的处理结果进行反馈。
步骤103、获取调用响应对应的响应参数。
具体的,得到调用响应之后,获取该调用响应对应的响应参数。
在一实施例中,响应参数包括:所述调用请求的处理结果。其中,调用请求的处理结果例如包括成功、失败或超时等。进一步响应参数还可以包括调用响应对应的时间戳,或调用请求的耗时,耗时即为调用响应对应的时间戳,与调用请求的时间戳之间的时间差。例如,调用参数和响应参数如表1中所示。
表1
进一步,可以对获取到的调用参数和响应参数进行存储,为了便于后续分析微服务的性能使用。
步骤104、根据调用参数和响应参数生成监控结果。
具体的,为了实现对微服务之间调用的情况进行监控,根据获取到的调用参数和响应参数生成监控结果。例如可以直接将调用参数和响应参数作为监控结果,或者将调用参数和响应参数经过处理,得到监控结果。
监控结果例如包括调用参数和/或响应参数,和/或,对调用参数和/或响应参数处理得到的参数。
例如,调用参数包括调用请求的时间戳,响应参数包括响应结果的时间戳,根据两个时间戳可以得到调用请求的耗时,监控结果包括该耗时。
监控结果例如包括:第一微服务和第二微服务的标识、第一微服务和第二微服务的IP地址、时间戳、调用请求的处理结果和耗时、第二微服务的被调用次数和成功率等。
本实施例的方法,当第一微服务调用第二微服务时,获取第一微服务对第二微服务的调用请求对应的调用参数;进一步,通过所述第二微服务对所述调用请求进行处理,得到调用请求对应的调用响应,并获取调用响应对应的响应参数;最后根据获取到的调用参数和响应参数生成监控结果,从而实现了对微服务调用过程中参数的监控,相比于传统打印日志的方式,本实施例中,通过对调用请求与微服务的识别,然后拦截调用请求进行处理,从而得到调用请求对应的调用响应,最终根据获取到的调用参数和响应参数生成监控结果实现对微服务调用过程中参数的监控,实现方案较为简单,监控的效率较高。
在一实施例中,所述调用请求为基于表述性状态转移(Representational StateTransfer,REST)或远程过程调用(Remote Procedure Call,RPC)协议生成的调用请求。
具体的,调用请求可以是基于REST协议生成的调用请求,例如为超文本传输协议(HyperText Transfer Protocol,HTTP)请求。或,
调用请求可以是基于RPC协议生成的调用请求。
需要说明的是,本申请实施例中的调用请求,不仅仅针对上述两种协议,对于其他协议同样适用,本申请实施例对此并不限定。
在上述实施例的基础上,所述第二微服务中包括监控程序和业务程序;步骤101可以通过如下方式实现:
通过所述监控程序接收所述调用请求;
通过所述监控程序获取所述调用请求对应的调用参数。
具体的,如图3所示,本申请实施例的方法,在微服务的服务端实现一个拦截所有调用请求的监控程序,获取调用请求和返回的响应的相关信息。
本申请实施例中,第二微服务中包括监控程序和业务程序,监控程序和业务程序的具体操作如下,在其他实施例中,微服务的业务程序也可以基于Spring Boot开发实现,监控程序也可以基于Spring AOP框架进行实现。
监控程序例如可以通过新建一个java类,并加上表层注解和组成部分的注解,即加入监控程序的代码。
监控程序的代码包括下述程序逻辑:微服务接收到调用请求,会被此监控程序拦截,即通过该监控程序接收调用请求,并通过该监控程序获取调用请求对应的调用参数,此外还可以将获取到调用参数记录在数据库中。
具体的,如图4所示,监控程序的实现过程如下,当调用请求被拦截之后,监控程序会自动将调用请求照上述程序逻辑进行处理,在监控程序的一开始将调用请求对应的调用参数记录下来,记录之后,把调用请求交给业务程序去执行,业务程序执行完之后,也会返回到监控程序中,所以在监控程序的最后可以将调用响应对应的响应参数进行记录,响应参数例如包括:处理结果和耗时。处理结果例如有三种:成功,失败或超时。在产生处理结果之后,可以将该些处理结果记录到数据库中,此外还可以将失败的原因进行详细记录,为了便于后续分析使用。
上述实施方式中,当第一微服务调用第二微服务时,通过第二微服务中包括的监控程序接收第一微服务对第二微服务的调用请求,并通过监控程序获取调用请求对应的调用参数;根据获取到的调用参数和响应参数生成监控结果,从而实现了对微服务调用过程中参数的监控,实现方案较为简单,效率较高。
在一实施例中,步骤102可以通过如下方式实现:
通过所述业务程序对所述调用请求进行处理,生成所述调用响应;
通过所述监控程序获取所述调用响应。
具体的,可以通过第二微服务的业务程序对调用请求进行处理,生成调用响应,将调用响应返回给监控程序,监控程序获取该调用响应,进一步监控程序获取该调用响应对应的调用参数。
监控程序获取该调用响应对应的调用参数具体可以通过如下方式实现:
根据调用响应中包括的所述调用请求的处理结果和时间戳,以及所述调用参数包括的时间戳,获取所述调用响应对应的响应参数,所述响应参数包括:所述调用请求的处理结果和耗时。
上述实施方式中,通过第二微服务的业务程序对所述调用请求进行处理,得到调用请求对应的调用响应,并通过监控程序获取调用响应,以及调用响应对应的响应参数;根据获取到的调用参数和响应参数生成监控结果,从而实现了对微服务调用过程中参数的监控,实现方案较为简单,效率较高。
在一实施例中,该微服务的监控方法还包括:
将所述监控结果存储到数据库中;
根据存储的所述监控结果,利用训练得到的预设模型获取异常数据。
具体的,可以将监控结果以结构化数据的方式存储到数据库中,用于记录调用请求以及调用响应的相关信息。
微服务一般是分布式部署的,不同的微服务可以部署在不同的服务器,为了收集内容方便,可以将监控结果存储到数据库中。
进一步,可以对存储的监控结果进行分析。
监控结果例如包括以下数据:某微服务在一段时间内被调用的次数,以及成功的比率,某微服务在一段时间内被调用失败的次数以及失败的原因。
例如可以利用相同类型不同实例的微服务在一段时间内被调用的次数,分析负载均衡是否正常。
若被调用的次数不均匀,说明负载不均衡,例如某些实例的微服务在一段时间内被调用的次数较多,而其他实例的微服务在一段时间内被调用的次数较少,则说明负载不均衡。
为了提高效率,可以利用预设模型获取异常数据,预设模型可以基于机器学习算法建立,将监控结果的数据输入预设模型中,输出异常数据,以供开发人员定位问题使用。
例如获取多个微服务之间调用的监控结果,将微服务1对微服务2调用的监控结果、微服务1对微服务3调用的监控结果等数据输入到预设模型中,输出异常数据,例如微服务1对微服务3调用的监控结果为异常数据,则说明微服务3可能存在问题。
在一实施例中,预设模型为根据支持向量机(Support Vector Machines,SVM)、深度学习算法等算法建立的模型。例如通过深度学习算法对输入模型的数据进行聚类,得到异常数据。
在一实施例中,失败的原因可以整理成文档,以供开发人员对问题进行定位,例如根据失败的原因通过查看日志定位问题。
对于耗时等指标,可以做成可视化的图表进行分析,异常数据会报告给开发人员,开发人员根据记录的时间对微服务的日志进行查看,定位问题。
在一实施例中,为了使得预设模型输出的结果更准确,可以预先通过大量的训练数据对预设模型进行训练。
若预设模型为支持向量机模型,则根据训练样本,对所述支持向量机模型进行训练,得到训练后的支持向量机模型;所述支持向量机模型的输入参数包括:监控结果;所述支持向量机模型的输出参数包括:异常数据;所述训练样本包括:多个监控结果以及各自对应的标签。
其中,训练过程具体如下:
获取训练样本中各个监控结果与所述支持向量机模型的距离;
根据训练样本中各个监控结果与所述支持向量机模型的距离,以及各个监控结果对应的标签,对所述支持向量机模型进行训练,得到训练后的支持向量机模型。
具体的,支持向量机SVM是一种二分类模型,SVM可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM算法就是求解凸二次规划的最优化算法。
例如,模型的输入参数包括以下三个维度的参数:微服务被请求次数x1、微服务请求耗时x2、微服务请求成功次数与总次数的比值x3。
如图5所示,由于是三维空间,支持向量机希望能够找到一个超平面来使得两类样本数据分别分割在该超平面的两侧,例如将正常的样本数据与异常的样本数据分别分割在该超平面的两侧,假设正常的样本数据与超平面的距离小于预设阈值,异常的样本数据与超平面的距离大于或等于预设阈值,例如正常数据的标签为1,异常数据的标签为-1。
因此在三维空间中可以构建一个超平面:
a1x1+a2x2+a3x3=b
其中,样本数据(x1,x2,x3)到超平面的距离l为:
上述距离公式可以用向量的方式简化为如下公式,将距离l用f(ω)表示:
其中,ω表示向量[a1,a2,a3]。
训练样本包括多组样本数据,以及对应的标签,标签表示样本数据是正常数据,或样本数据是异常数据,例如正常数据的标签为1,异常数据的标签为-1。从而利用训练样本中各个监控结果与所述支持向量机模型的距离,以及各个监控结果对应的标签,对支持向量机模型的参数进行训练,得到a1,a2,a3和b的值,最终得到训练后的支持向量机模型。
支持向量机模型目的是寻找最大距离的样本数据,即异常数据,将其转换为等价的拉格朗日函数,如下:
其中,ρi(ω)=ωxi-b,λi表示拉格朗日乘子。
获取的异常数据,即使得该拉格朗日函数值最大的(x1,x2,x3)。
上述实施方式中,通过训练得到的预设模型对获取到的监控结果进行分析,能够获取到异常数据,通过该异常数据可以对微服务产生的问题进行定位。
在一实施例中,该方法包括以下步骤:
步骤1、通过第二微服务的监控程序接收第一微服务对第二微服务的调用请求;
步骤2、通过所述监控程序获取所述调用请求对应的调用参数。
步骤3、通过所述第二微服务的业务程序对所述调用请求进行处理,生成所述调用请求对应的调用响应;
步骤4、通过所述监控程序获取所述调用响应;
步骤5、通过所述监控程序获取所述调用响应对应的响应参数;
步骤6、根据所述调用参数和所述响应参数生成监控结果。
本实施例的方法,当第一微服务调用第二微服务时,通过第二微服务中包括的监控程序接收第一微服务对第二微服务的调用请求,并通过监控程序获取调用请求对应的调用参数;进一步,通过第二微服务的业务程序对所述调用请求进行处理,得到调用请求对应的调用响应,并通过监控程序获取调用响应,以及调用响应对应的响应参数;根据获取到的调用参数和响应参数生成监控结果,从而实现了对微服务调用过程中参数的监控,实现方案较为简单,效率较高。
本申请实施例的方法还可以应用到更多的大数据组件中,如hadoop集群。Hadoop集群中的节点之间可以通过RPC的方式进行调用,采用本申请实施例的方案,节点中设置监控程序,对节点之间的调用情况进行记录,获取到监控结果,通过支持向量机模型获取到监控结果中的异常数据,根据异常数据可以识别出一些表现不是很好的节点,可以帮助开发和运维定位问题。
图6为本申请提供的微服务监控装置一实施例的结构图,如图6所示,本实施例的微服务监控装置,包括:
获取模块110,用于获取第一微服务对第二微服务的调用请求和所述调用请求对应的调用参数;
处理模块111,用于通过所述第二微服务对所述调用请求进行处理,得到所述调用请求对应的调用响应;
所述获取模块110,还用于获取所述调用响应对应的响应参数;
所述处理模块111,还用于根据所述调用参数和所述响应参数生成监控结果。
在一种可能的实现方式中,所述第二微服务中包括监控程序和业务程序;获取模块110具体用于:
通过所述监控程序接收所述调用请求;
通过所述监控程序获取所述调用请求对应的调用参数。
在一种可能的实现方式中,所述第二微服务中包括监控程序和业务程序;所述处理模块111具体用于:
通过所述业务程序对所述调用请求进行处理,生成所述调用响应;
获取模块110具体用于:通过所述监控程序获取所述调用响应;通过所述监控程序获取所述调用响应对应的响应参数。
在一种可能的实现方式中,所述调用参数包括:所述第一微服务和所述第二微服务的标识、所述第一微服务和所述第二微服务的IP地址、时间戳;
获取模块110具体用于:根据调用响应中包括的所述调用请求的处理结果和时间戳,以及所述调用参数包括的时间戳,获取所述调用响应对应的响应参数,所述响应参数包括:所述调用请求的处理结果和耗时。
在一种可能的实现方式中,还包括:
存储模块,用于将所述监控结果存储到数据库中;
所述处理模111还用于:根据存储的所述监控结果,利用训练得到的预设模型获取异常数据。
在一种可能的实现方式中,所述预设模型包括支持向量机模型,所述处理模块111还用于:
根据训练样本,对所述支持向量机模型进行训练,得到训练后的支持向量机模型;所述支持向量机模型的输入参数包括:监控结果;所述支持向量机模型的输出参数包括:异常数据;所述训练样本包括:多个监控结果以及各自对应的标签。
在一种可能的实现方式中,所述处理模块111具体用于:
获取训练样本中各个监控结果与所述支持向量机模型的距离;
根据所述训练样本中各个监控结果与所述支持向量机模型的距离,以及各个监控结果对应的标签,对所述支持向量机模型进行训练,得到训练后的支持向量机模型。
在一种可能的实现方式中,所述调用请求为基于表述性状态转移REST或远程过程调用RPC协议生成的调用请求。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本申请提供的电子设备实施例的结构图,如图7所示,该电子设备包括:
处理器210,以及,用于存储处理器210的可执行指令的存储器211。
可选的,还可以包括:通信接口212,用于实现与其他设备的通信。
上述部件可以通过一条或多条总线进行通信。
其中,处理器210配置为经由执行所述可执行指令来执行前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,此处不再赘述。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,其实现原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前述方法实施例中任一项所述的方法,其具体实施过程可以参见前述方法实施例,其实现原理和技术效果类似,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种微服务监控方法,其特征在于,包括:
获取第一微服务对第二微服务的调用请求和所述调用请求对应的调用参数;
通过所述第二微服务对所述调用请求进行处理,得到所述调用请求对应的调用响应;
获取所述调用响应对应的响应参数;
根据所述调用参数和所述响应参数生成监控结果。
2.根据权利要求1所述的方法,其特征在于,所述第二微服务中包括监控程序;获取第一微服务对第二微服务的调用请求,包括:
通过所述监控程序接收所述调用请求;
通过所述监控程序获取所述调用请求对应的调用参数。
3.根据权利要求1所述的方法,其特征在于,所述第二微服务中包括监控程序和业务程序;通过所述第二微服务对所述调用请求进行处理,得到所述调用请求对应的调用响应,包括:
通过所述业务程序对所述调用请求进行处理,生成所述调用响应;
通过所述监控程序获取所述调用响应。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述调用参数包括:所述第一微服务和所述第二微服务的标识、所述第一微服务和所述第二微服务的IP地址、时间戳;
获取所述调用响应对应的响应参数,包括:
根据调用响应中包括的所述调用请求的处理结果和时间戳,以及所述调用参数包括的时间戳,获取所述调用响应对应的响应参数,所述响应参数包括:所述调用请求的处理结果和耗时。
5.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
将所述监控结果存储到数据库中;
根据存储的所述监控结果,利用训练得到的预设模型获取异常数据。
6.根据权利要求5所述的方法,其特征在于,所述预设模型包括支持向量机模型,所述方法还包括:
根据训练样本,对所述支持向量机模型进行训练,得到训练后的支持向量机模型;所述支持向量机模型的输入参数包括:监控结果;所述支持向量机模型的输出参数包括:异常数据;所述训练样本包括:多个监控结果以及各自对应的标签。
7.根据权利要求6所述的方法,其特征在于,所述根据训练样本,对所述支持向量机模型进行训练,得到训练后的支持向量机模型,包括:
获取训练样本中各个监控结果与所述支持向量机模型的距离;
根据所述训练样本中各个监控结果与所述支持向量机模型的距离,以及各个监控结果对应的标签,对所述支持向量机模型进行训练,得到训练后的支持向量机模型。
8.根据权利要求1-3任一项所述的方法,其特征在于,
所述调用请求为基于表述性状态转移REST或远程过程调用RPC协议生成的调用请求。
9.一种微服务监控装置,其特征在于,包括:
获取模块,用于获取第一微服务对第二微服务的调用请求和所述调用请求对应的调用参数;
处理模块,用于通过所述第二微服务对所述调用请求进行处理,得到所述调用请求对应的调用响应;
所述获取模块,还用于获取所述调用响应对应的响应参数;
所述处理模块,还用于根据所述调用参数和所述响应参数生成监控结果。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8任一项所述的方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011567607.XA CN112685252A (zh) | 2020-12-25 | 2020-12-25 | 微服务监控方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011567607.XA CN112685252A (zh) | 2020-12-25 | 2020-12-25 | 微服务监控方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685252A true CN112685252A (zh) | 2021-04-20 |
Family
ID=75453371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011567607.XA Pending CN112685252A (zh) | 2020-12-25 | 2020-12-25 | 微服务监控方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685252A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118769A (zh) * | 2022-06-28 | 2022-09-27 | 深圳前海微众银行股份有限公司 | 一种业务系统参数配置、微服务执行方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512689A (zh) * | 2017-12-15 | 2018-09-07 | 中国平安财产保险股份有限公司 | 微服务业务监控方法及服务器 |
CN110531988A (zh) * | 2019-08-06 | 2019-12-03 | 新华三大数据技术有限公司 | 应用程序的状态预测方法及相关装置 |
CN110851321A (zh) * | 2019-10-10 | 2020-02-28 | 平安科技(深圳)有限公司 | 一种业务告警方法、设备及存储介质 |
CN111026409A (zh) * | 2019-10-28 | 2020-04-17 | 烽火通信科技股份有限公司 | 一种自动监控方法、装置、终端设备及计算机存储介质 |
CN112035317A (zh) * | 2020-08-28 | 2020-12-04 | 北京浪潮数据技术有限公司 | 一种微服务链路监控方法、装置、设备及介质 |
-
2020
- 2020-12-25 CN CN202011567607.XA patent/CN112685252A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512689A (zh) * | 2017-12-15 | 2018-09-07 | 中国平安财产保险股份有限公司 | 微服务业务监控方法及服务器 |
CN110531988A (zh) * | 2019-08-06 | 2019-12-03 | 新华三大数据技术有限公司 | 应用程序的状态预测方法及相关装置 |
CN110851321A (zh) * | 2019-10-10 | 2020-02-28 | 平安科技(深圳)有限公司 | 一种业务告警方法、设备及存储介质 |
CN111026409A (zh) * | 2019-10-28 | 2020-04-17 | 烽火通信科技股份有限公司 | 一种自动监控方法、装置、终端设备及计算机存储介质 |
CN112035317A (zh) * | 2020-08-28 | 2020-12-04 | 北京浪潮数据技术有限公司 | 一种微服务链路监控方法、装置、设备及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118769A (zh) * | 2022-06-28 | 2022-09-27 | 深圳前海微众银行股份有限公司 | 一种业务系统参数配置、微服务执行方法及装置 |
CN115118769B (zh) * | 2022-06-28 | 2024-02-02 | 深圳前海微众银行股份有限公司 | 一种业务系统参数配置、微服务执行方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6584491B1 (en) | Arrangement for monitoring a progress of a message flowing through a distributed multiprocess system | |
US9218231B2 (en) | Diagnosing a problem of a software product running in a cloud environment | |
US9229758B2 (en) | Passive monitoring of virtual systems using extensible indexing | |
CN114745295B (zh) | 数据采集方法、装置、设备和可读存储介质 | |
CN111124830B (zh) | 一种微服务的监控方法及装置 | |
US20110099273A1 (en) | Monitoring apparatus, monitoring method, and a computer-readable recording medium storing a monitoring program | |
CN108038039B (zh) | 记录日志的方法及微服务系统 | |
US20160210215A1 (en) | Tracing source code for end user monitoring | |
CN109144813A (zh) | 一种云计算系统服务器节点故障监控系统及方法 | |
CN109684280A (zh) | 日志文件处理方法、装置及系统 | |
WO2020146170A1 (en) | Test result triage for a failed code validation | |
EP2634699B1 (en) | Application monitoring | |
CN112313627A (zh) | 事件到无服务器函数工作流实例的映射机制 | |
CN112685252A (zh) | 微服务监控方法、装置、设备和存储介质 | |
CN112948255B (zh) | 分布式的内核模糊测试系统及方法 | |
CN112235300B (zh) | 云虚拟网络漏洞检测方法、系统、装置及电子设备 | |
US11777810B2 (en) | Status sharing in a resilience framework | |
CN117251373A (zh) | 压力测试方法、装置、设备以及存储介质 | |
CN113778709A (zh) | 接口调用方法、装置、服务器及存储介质 | |
CN113032000A (zh) | 一种智能运营数据管理装置、方法和计算机系统 | |
US10203970B2 (en) | Dynamic configuration of native functions to intercept | |
WO2018173698A1 (ja) | 監視システム、コンピュータ可読記憶媒体および監視方法 | |
CN117632445B (zh) | 请求处理方法以及装置、任务执行方法以及装置 | |
CN114884807B (zh) | 链路日志生成方法、装置、物联网平台及存储介质 | |
WO2022022446A1 (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 |