本公开涉及微服务,尤其涉及一种微服务链路监控方法、装置、电子设备及可读存储介质。
背景技术:
1、随着微服务模式架构大量的应用,系统微服务的数量越来越庞大,执行一个业务的闭环通常要涉及5到10多个微服务。当业务发生异常或者堵塞的时候,往往需要梳理业务调用链,排查相关所有的微服务才能定位,问题的排查和处理难度以及工作量巨大。
技术实现思路
1、有鉴于此,本公开实施例提供了一种微服务链路监控方法、微服务链路监控装置、电子设备及计算机可读存储介质,通过监控微服务之间的调用情况,降低微服务的业务链问题的排查定位的难度,提高排查效率。
2、第一方面,本公开实施例提供了一种微服务链路监控方法,采用如下技术方案:
3、微服务链路监控方法包括:
4、获取nginx服务器记录的工作日志,微服务之间的调用通过nginx服务器代理转发;
5、解析工作日志,得到客户端ip地址、访问时间、响应时间、请求时间、请求状态及http请求信息;
6、根据客户端ip地址、访问时间、响应时间、请求时间、请求状态及http请求信息,生成微服务调用链;
7、根据微服务调用链,监控分析业务链中的异常环节和/或性能。
8、在一些实施方式中,根据微服务调用链,监控业务链中的异常环节,包括:
9、获取同一请求记录中,访问时间中最后时间对应的访问状态,并作为业务环节的当前状态;
10、根据当前状态判断业务链中的异常环节。
11、在一些实施方式中,当前状态以状态码表示,根据当前状态判断业务链中的异常环节,包括:
12、若状态码为200,则判定业务环节正常;
13、若状态码为500,则判定业务逻辑错误;
14、若状态码为404,则判定服务不存在;
15、若状态码为403,则判定授权失败;
16、若状态码为408或504,且预设时间内或连续预设次数均为408或504,则判定业务繁忙;
17、若状态码为其它代码,且预设时间内或连续预设次数均为其它代码,则判定业务环节损坏,其它代码不包括200、500、404、403、408及504。
18、在一些实施方式中,根据微服务调用链,监控业务链的性能,包括:
19、根据响应时间和所示请求时间,计算前后业务环节之间的调用时间;
20、根据响应时间、请求时间和调用时间,判断链路是否发生堵塞并分析堵塞原因。
21、在一些实施方式中,根据响应时间、请求时间和调用时间,判断链路是否发生堵塞以及堵塞原因,包括:
22、若响应时间或请求时间大于预设阈值,则判定链路堵塞;
23、比对响应时间和调用时间,分析堵塞原因。
24、在一些实施方式中,比对响应时间和调用时间,分析堵塞原因,包括:
25、若调用时间大于响应时间,则判定堵塞原因为网络请求问题;
26、若调用时间小于响应时间,则判定堵塞原因为后置业务逻辑处理堵塞。
27、在一些实施方式中,微服务链路监控方法还包括:
28、根据客户端ip地址、访问时间、响应时间、请求时间、请求状态及http请求信息,绘制可视化数据,以基于可视化数据,寻找链路性能点。
29、第二方面,本公开实施例还提供了一种微服务链路监控装置,采用如下技术方案:
30、微服务链路监控装置包括:
31、获取模块,获取nginx服务器记录的工作日志,微服务之间的调用通过nginx服务器代理转发;
32、解析模块,解析工作日志,得到客户端ip地址、访问时间、响应时间、请求时间、请求状态及http请求信息;
33、生成模块,根据客户端ip地址、访问时间、响应时间、请求时间、请求状态及http请求信息,生成微服务调用链;
34、监控分析模块,根据微服务调用链,监控分析业务链中的异常环节和/或性能。
35、第三方面,本公开实施例还提供了一种电子设备,采用如下技术方案:
36、所述电子设备包括:
37、至少一个处理器;以及,
38、与所述至少一个处理器通信连接的存储器;其中,
39、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上任一所述的微服务链路监控方法。
40、第四方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行以上任一所述的微服务链路监控方法。
41、本公开实施例提供的微服务链路监控方法、微服务链路监控装置、电子设备及计算机可读存储介质,微服务之间的调用均通过nginx服务器代理转发,通过预先在nginx服务器的日志中配置客户端ip地址、访问时间、响应时间、请求时间、请求状态及http请求信息这些基础参数,解析日志信息并生成微服务调用链,从而监控微服务之间的调用情况,降低微服务的业务链问题的排查定位的难度,提高排查效率,并且nginx服务器本身就存在于通过微服务架构中,不需要额外加入新的中间件,就可以实现链路跟踪以及性能分析,降低了学习成本,硬件资源成本以及维护的门槛和成本,由于无代码侵入,松耦合,对微服务无任何影响。
42、上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
1.一种微服务链路监控方法,其特征在于,包括:
2.根据权利要求1所述的微服务链路监控方法,其特征在于,所述根据所述微服务调用链,监控业务链中的异常环节,包括:
3.根据权利要求2所述的微服务链路监控方法,其特征在于,所述当前状态以状态码表示,所述根据所述当前状态判断业务链中的异常环节,包括:
4.根据权利要求1所述的微服务链路监控方法,其特征在于,所述根据所述微服务调用链,监控业务链的性能,包括:
5.根据权利要求4所述的微服务链路监控方法,其特征在于,所述根据所述响应时间、所述请求时间和所述调用时间,判断链路是否发生堵塞以及堵塞原因,包括:
6.根据权利要求5所述的微服务链路监控方法,其特征在于,所述比对所述响应时间和所述调用时间,分析所述堵塞原因,包括:
7.根据权利要求1所述的微服务链路监控方法,其特征在于,还包yy+231884p
8.一种微服务链路监控装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行权利要求1-7yy+231884p