一种微服务链路监控方法、装置、设备及介质制造方法及图纸

技术编号:26597022 阅读:14 留言:0更新日期:2020-12-04 21:18
本申请公开了一种微服务链路监控方法、装置、设备及介质,该方法包括:创建目标探针和目标监控日志格式;基于所述目标探针并根据所述目标监控日志格式,采集与目标微服务链路的dubbo调用对应的日志数据;通过数据收集器从所述目标探针获取所述日志数据并将所述日志数据发送至搜索服务器,以便所述搜索服务器对所述目标微服务链路进行监控和分析。本申请通过创建目标探针,利用所述目标探针并根据目标监控日志格式采集与目标微服务链路对应的日志数据,然后由数据收集器将所述日志数据发送至搜索服务器,并由搜索服务器对所述目标微服务链路进行监控和分析,通过这种方式,可以自动采集并分析日志,提高了系统故障位置和性能瓶颈位置定位的能力。

【技术实现步骤摘要】
一种微服务链路监控方法、装置、设备及介质
本专利技术涉及计算机
,特别涉及一种微服务链路监控方法、装置、设备及介质。
技术介绍
当前,随着微服务应用模式日益流行,伴随出现了在微服务应用场景下系统故障的及时发现和定位问题。现有技术中,通过人工查看日志的方式确定系统故障,但由于一个互联网的应用通常会被拆分成多个不同的模块,调用过程产生的日志可能分布在几台甚至几十台不同的机器上,因此可能导致线上产生的问题无法迅速定位并在短时间内有效的解决问题,所以通过人工去查看日志的方式定位系统的故障具有很大的局限性。为解决上述问题,现有技术中通过编写代码来处理局部故障,但由于微服务是一个分布式系统,开发者需要选择和实现基于消息或者远程过程调用协议(即RemoteProcedureCallProtocol,RPC)的进程间通信机制,使其整体变得复杂,并且微服务模式下模块间需要相互调用,一次请求往往需要涉及到多个服务,由此降低了通过编写代码的方式进行系统故障定位的普适性和速度。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种微服务链路监控方法、装置、设备及介质。其具体方案如下:第一方面,本申请公开了一种微服务链路监控方法,包括:创建目标探针和目标监控日志格式;基于所述目标探针并根据所述目标监控日志格式,采集与目标微服务链路的dubbo调用对应的日志数据;通过数据收集器从所述目标探针获取所述日志数据并将所述日志数据发送至搜索服务器,以便所述搜索服务器对所述目标微服务链路进行监控和分析。可选的,所述目标监控日志格式包括监控日志标识、时间信息、日志类型、链路标识、第一类被调用信息标识、发起调用方标识、第二类被调用信息标识以及扩展信息。可选的,所述日志类型,包括客户端发起日志、客户端接收日志、服务端接收日志、服务端反馈日志和异常信息日志。可选的,所述目标探针包括客户端拦截探针、客户端过滤探针和服务端过滤探针;相应的,所述基于所述目标探针并根据所述目标监控日志格式,采集与目标微服务链路的dubbo调用对应的日志数据,包括:基于所述客户端拦截探针并根据所述目标监控日志格式,从网页框架的控制层采集与目标微服务链路的dubbo调用对应的第一日志数据;基于所述客户端过滤探针并根据所述目标监控日志格式,从客户端采集与目标微服务链路的dubbo调用对应的第二日志数据;基于所述服务端过滤探针并根据所述目标监控日志格式,从服务端采集与目标微服务链路的dubbo调用对应的第三日志数据。可选的,所述基于所述客户端拦截探针并根据所述目标监控日志格式,从网页框架的控制层采集与目标微服务链路的dubbo调用对应的第一日志数据,包括:利用所述拦截探针从服务调用请求中采集所述链路标识,并生成所述目标微服务链路的第一类被调用信息标识;利用所述拦截探针查看所述服务调用请求中是否已含有第一类被调用信息标识;如果是,则将所述服务调用请求中的第一类被调用信息标识作为所述目标微服务链路的发起调用方标识;如果否,则将所述目标微服务链路的第一类被调用信息标识对应的数据赋值给所述目标微服务链路的发起调用方标识;基于所述链路标识、所述目标微服务链路的第一类被调用信息标识和所述目标微服务链路的发起调用方标识生成所述服务端反馈日志;利用所述拦截探针采集所述服务调用请求在处理过程中的异常信息以得到所述异常信息日志,并在所述服务调用请求完成后采集所述服务端接收日志;利用所述拦截探针获取当前主机IP作为所述扩展信息以标识所述服务调用请求的入口服务器地址;基于所述服务端反馈日志、所述服务端接收日志、所述异常信息日志和所述扩展信息得到所述目标微服务链路的dubbo调用对应的第一日志数据。可选的,所述基于所述客户端拦截探针并根据所述目标监控日志格式,从网页框架的控制层采集与目标微服务链路的dubbo调用对应的第一日志数据的过程中,还包括:将所述链路标识、所述目标微服务链路的第一类被调用信息标识和所述目标微服务链路的发起调用方标识存储于与当前调用线程对应的存储结构中;在所述服务调用请求完成后清空所述存储结构中的数据。可选的,所述基于所述客户端过滤探针并根据所述目标监控日志格式,从客户端采集与目标微服务链路的dubbo调用对应的第二日志数据,包括:利用所述客户端过滤探针从当前调用线程中采集所述时间信息、所述链路标识和所述目标微服务链路的第一类被调用信息标识,以得到所述客户端发起日志,并将所述链路标识和所述目标微服务链路的第一类被调用信息标识发送至服务端;在服务调用请求完成后利用所述客户端过滤探针采集当前时间得到所述时间信息,以得到所述客户端接收日志;基于所述客户端发起日志和所述客户端接收日志得到所述目标微服务链路的dubbo调用对应的第二日志数据。可选的,所述基于所述服务端过滤探针并根据所述目标监控日志格式,从服务端采集与目标微服务链路的dubbo调用对应的第三日志数据,包括:利用所述服务端过滤探针从客户端发送的数据中采集所述时间信息,所述链路标识和所述目标微服务链路的第一类被调用信息标识,以得到所述服务端接收日志;在服务调用请求完成后利用所述服务端过滤探针采集当前时间得到所述时间信息,以得到所述服务端反馈日志,并采集服务端异常信息得到所述异常信息日志;基于所述服务端接收日志、所述服务端反馈日志和所述异常信息日志得到所述目标微服务链路的dubbo调用对应的第三日志数据。可选的,所述通过数据收集器从所述目标探针获取所述日志数据并将所述日志数据发送至搜索服务器,包括:利用第一fluentd插件并基于所述监控日志标识从所述拦截探针获取所述第一日志数据以及从所述客户端过滤探针获取所述第二日志数据,并将所述第一日志数据和所述第二日志数据发送至搜索服务器Elasticsearch;利用第二fluentd插件并基于所述监控日志标识从所述服务端过滤探针获取所述第三日志数据,并将所述第三日志数据发送至所述搜索服务器Elasticsearch。第二方面,本申请公开了一种微服务链路监控装置,包括:创建模块,用于创建目标探针和目标监控日志格式;所述目标探针包括客户端拦截探针、客户端过滤探针和服务端过滤探针;日志获取模块,用于基于所述目标探针并根据所述目标监控日志格式,采集与目标微服务链路的dubbo调用对应的日志数据;日志发送模块,用于通过数据收集器从所述目标探针获取所述日志数据并将所述日志数据发送至搜索服务器,以便所述搜索服务器对所述目标微服务链路进行监控和分析。第三方面,本申请公开了一种电子设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现前述的微服务链路监控方法。第四方面,本申请公开了一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的微服务链路监控方法。...

【技术保护点】
1.一种微服务链路监控方法,其特征在于,包括:/n创建目标探针和目标监控日志格式;/n基于所述目标探针并根据所述目标监控日志格式,采集与目标微服务链路的dubbo调用对应的日志数据;/n通过数据收集器从所述目标探针获取所述日志数据并将所述日志数据发送至搜索服务器,以便所述搜索服务器对所述目标微服务链路进行监控和分析。/n

【技术特征摘要】
1.一种微服务链路监控方法,其特征在于,包括:
创建目标探针和目标监控日志格式;
基于所述目标探针并根据所述目标监控日志格式,采集与目标微服务链路的dubbo调用对应的日志数据;
通过数据收集器从所述目标探针获取所述日志数据并将所述日志数据发送至搜索服务器,以便所述搜索服务器对所述目标微服务链路进行监控和分析。


2.根据权利要求1所述的微服务链路监控方法,其特征在于,所述目标监控日志格式包括监控日志标识、时间信息、日志类型、链路标识、第一类被调用信息标识、发起调用方标识、第二类被调用信息标识以及扩展信息。


3.根据权利要求2所述的微服务链路监控方法,其特征在于,所述日志类型,包括客户端发起日志、客户端接收日志、服务端接收日志、服务端反馈日志和异常信息日志。


4.根据权利要求3所述的微服务链路监控方法,其特征在于,所述目标探针包括客户端拦截探针、客户端过滤探针和服务端过滤探针;
相应的,所述基于所述目标探针并根据所述目标监控日志格式,采集与目标微服务链路的dubbo调用对应的日志数据,包括:
基于所述客户端拦截探针并根据所述目标监控日志格式,从网页框架的控制层采集与目标微服务链路的dubbo调用对应的第一日志数据;
基于所述客户端过滤探针并根据所述目标监控日志格式,从客户端采集与目标微服务链路的dubbo调用对应的第二日志数据;
基于所述服务端过滤探针并根据所述目标监控日志格式,从服务端采集与目标微服务链路的dubbo调用对应的第三日志数据。


5.根据权利要求4所述的微服务链路监控方法,其特征在于,所述基于所述客户端拦截探针并根据所述目标监控日志格式,从网页框架的控制层采集与目标微服务链路的dubbo调用对应的第一日志数据,包括:
利用所述拦截探针从服务调用请求中采集所述链路标识,并生成所述目标微服务链路的第一类被调用信息标识;
利用所述拦截探针查看所述服务调用请求中是否已含有第一类被调用信息标识;
如果是,则将所述服务调用请求中的第一类被调用信息标识作为所述目标微服务链路的发起调用方标识;
如果否,则将所述目标微服务链路的第一类被调用信息标识对应的数据赋值给所述目标微服务链路的发起调用方标识;
基于所述链路标识、所述目标微服务链路的第一类被调用信息标识和所述目标微服务链路的发起调用方标识生成所述服务端反馈日志;
利用所述拦截探针采集所述服务调用请求在处理过程中的异常信息以得到所述异常信息日志,并在所述服务调用请求完成后采集所述服务端接收日志;
利用所述拦截探针获取当前主机IP作为所述扩展信息以标识所述服务调用请求的入口服务器地址;
基于所述服务端反馈日志、所述服务端接收日志、所述异常信息日志和所述扩展信息得到所述目标微服务链路的dubbo调用对应的第一日志数据。


6.根据权利要求5所述的微服务链路监控方法,其特征在于,所述基于所述客户端拦截探针并根据所述目标监控日志格式,从网页框架的控制层采集与目标微服务链路的dubbo调用对应的第一日志数据的过程中,还包括:
将所述链路标识、所述目标微服务链路的第一类被调用信息标识和所述目标微...

【专利技术属性】
技术研发人员:张强刘正伟
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1