一种微服务应用业务日志的实时监控方法与流程

文档序号:28414080发布日期:2022-01-08 02:48阅读:185来源:国知局
一种微服务应用业务日志的实时监控方法与流程

1.本发明涉及日志监控技术领域,具体的说是一种微服务应用业务日志的实时监控方法。


背景技术:

2.在当前的复杂行业业务web应用下,为解决业务应用代码耦合问题以及适配云原生环境和集群部署,更多的开发厂商选择使用微服务这种方式进行业务应用解耦和系统开发。即将复杂业务拆分为多个互相独立的微应用,每个微应用只实现自身的业务逻辑并对外提供自身的rest服务,不同微应用之间通过rest服务进行互相调用,共同实现复杂业务系统,并提升应用性能,解决高并发和业务耦合等问题。但这种方式在很好解决业务问题的同时,由于微应用数量很多并且大多采用集群方式进行部署,给问题排查和分析带来更多的困难,因为日志文件分散在各个微应用中,同时伴随性能问题的产生,在并发情况下很难进行实时的分析和监控,往往需要客户做完关键业务之后对日志中的记录进行分析,缺少实时性,并且很难还原出对应的问题。


技术实现要素:

3.本发明针对目前技术发展的需求和不足之处,提供一种微服务应用业务日志的实时监控方法,解决微服务应用分散部署时给问题排查和分析带来的困难。
4.本发明的一种微服务应用业务日志的实时监控方法,解决上述技术问题采用的技术方案如下:
5.一种微服务应用业务日志的实时监控方法,其实现过程包括如下步骤:
6.调用微服务应用rest服务的http请求,该请求中携带合法的唯一会话标识,该唯一会话标识用于认证用户身份;
7.某个微服务应用接受http请求,并校验该请求中是否携带合法的唯一会话标识,校验结果直接返回被调用的微服务应用;
8.日志监控页面或者日志监控插件根据唯一会话标识实时记录并监控被调用微服务应用在请求中产生的业务日志,随后进行展示。
9.具体的,所涉及唯一会话标识存储在内存数据库或内存数据库集群中,作为全局的唯一记录。
10.具体的,所涉及唯一会话标识位于http请求的header或者cookie中。
11.具体的,不同微服务应用之间调用rest服务时,http请求中必须携带合法的唯一会话标识。
12.具体的,所涉及微服务应用选用日志记录框架apache log4j记录请求中产生的业务日志,具体记录过程为:
13.(1)定制全局日志记录追加器appender,该日志记录追加器appender会判定http请求中是否带有合法的会话参数标识,如果存在,则根据这个唯一会话标识将产生的日志
记录都存储到内存数据库或内存数据库集群中,并建立唯一会话标识和产生日志的映射关系;
14.(2)将该日志记录追加器appender配置到log4j.properties配置文件中。
15.更具体的,所涉及微服务应用产生的业务日志存储到内存数据库或内存数据库集群之前,首先设定内存数据库或内存数据库集群的阈值;在内存数据库或内存数据库集群的日志记录条数超过设定阈值时,超过设定阈值的日志记录异步转存至数据库中,进行持久化存储。
16.更具体的,所涉及唯一会话标识和产生日志的映射关系具体如下:
17.18.[0019][0020]
具体的,在日志监控页面或者日志监控插件中输入请求中携带的唯一会话标识,随后通过长轮询的方式实时监控业务日志的运行状况,并进行展示。
[0021]
具体的,所涉及日志监控页面或者日志监控插件可以根据请求中携带的唯一会话标识监控不同的微服务应用,此时,不同微服务应用产生的业务日志互不影响且各自独立。
[0022]
本发明的一种微服务应用业务日志的实时监控方法,与现有技术相比具有的有益效果是:
[0023]
本发明可以用于微服务系统中,对多个微服务应用产生的业务日志进行实时监控,以方便现场实施和后台开发、测试人员进行问题日志分析和排查,可以极大的提高工作效率。
附图说明
[0024]
附图1是本发明的流程框图。
具体实施方式
[0025]
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
[0026]
实施例一:
[0027]
结合附图1,本实施例提出一种微服务应用业务日志的实时监控方法,其实现过程包括如下步骤:
[0028]
(一)调用微服务应用rest服务的http请求,该请求中携带合法的唯一会话标识,该唯一会话标识用于认证用户身份。
[0029]
本步骤中,唯一会话标识位于http请求的header或者cookie中。
[0030]
本步骤中,唯一会话标识存储在内存数据库或内存数据库集群中,作为全局的唯一记录。
[0031]
本步骤中,不同微服务应用之间调用rest服务时,http请求中必须携带合法的唯一会话标识。
[0032]
(二)某个微服务应用接受http请求,并校验该请求中是否携带合法的唯一会话标识,校验结果直接返回被调用的微服务应用。
[0033]
(三)日志监控页面或者日志监控插件根据唯一会话标识实时记录并监控被调用微服务应用在请求中产生的业务日志,随后进行展示。
[0034]
本步骤中,在日志监控页面或者日志监控插件中输入请求中携带的唯一会话标识,随后通过长轮询的方式实时监控业务日志的运行状况,并进行展示。
[0035]
本步骤中,微服务应用选用日志记录框架apache log4j记录请求中产生的业务日志,具体记录过程为:
[0036]
(1)定制全局日志记录追加器appender,该日志记录追加器appender会判定http请求中是否带有合法的会话参数标识,如果存在,则根据这个唯一会话标识将产生的日志记录都存储到内存数据库或内存数据库集群中,并建立唯一会话标识和产生日志的映射关系,唯一会话标识和产生日志的映射关系具体如下:
[0037]
[0038]
[0039][0040]
微服务应用产生的业务日志存储到内存数据库或内存数据库集群之前,首先设定内存数据库或内存数据库集群的阈值;在内存数据库或内存数据库集群的日志记录条数超过设定阈值时,超过设定阈值的日志记录异步转存至数据库中,进行持久化存储。
[0041]
(2)将该日志记录追加器appender配置到log4j.properties配置文件中。
[0042]
需要补充的是,日志监控页面或者日志监控插件可以根据请求中携带的唯一会话标识监控不同的微服务应用,此时,不同微服务应用产生的业务日志互不影响且各自独立。
[0043]
综上可知,采用本发明的一种微服务应用业务日志的实时监控方法,可以对微服务应用产生的业务日志进行实时监控,以方便现场实施和后台开发、测试人员进行问题日志分析和排查,极大的提高工作效率。
[0044]
基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1