一种日志管理方法、系统、设备及存储介质与流程

文档序号:27912166发布日期:2021-12-11 09:56阅读:142来源:国知局
一种日志管理方法、系统、设备及存储介质与流程

1.本发明涉及数据管理技术领域,特别是涉及一种日志管理方法、系统、设备及存储介质。


背景技术:

2.近年来,it系统发展很快,各项新的软件技术产生等使得软件开发运行的日志数据管理越来越复杂。
3.在dasca app的日志管理系统中,随着dasca app的对接量不断增大,其运行日志的数量不断增多,而进行单个app日志的查看日志只能手动登录服务器,需要进入容器(docker containers)等操作,这对于目前实施的标准动作设备请求日志查看具有一定的局限性。当进入服务器对应的日志路径中,如果出错的app为两个即以上时,需要多次操作服务器,而服务器日志格式繁琐不直观;并且日志报文过多后查询问题根源较为困难。
4.因此,如何对dasca app的运行日志进行管理,以解决局限性问题,是本领域技术人员亟待解决的技术问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种日志管理方法、系统、设备及存储介质,可以快捷直观地处理数据,提高对日志数据管理和应用的效率,减少用户操作。其具体方案如下:
6.一种日志管理方法,包括:
7.接收携带有设备信息的业务请求;
8.将所述设备信息对应的app在微服务运行过程中产生的运行日志异步记录到mongodb数据库;
9.访问所述mongodb数据库,对记录的日志进行查询、统计分析、批量删除或批量导出的操作。
10.优选地,在本发明实施例提供的上述日志管理方法中,在所述接收携带有设备信息的业务请求之后,在所述将所述设备信息对应的app在微服务运行过程中产生的运行日志异步记录到mongodb数据库之前,还包括:
11.利用zuul网关通过post模式过滤器对所述业务请求进行过滤,获取目标业务请求;
12.对所述目标业务请求进行解析,得到所述目标业务请求携带的设备信息对应的app。
13.优选地,在本发明实施例提供的上述日志管理方法中,在所述获取目标业务请求的同时,还包括:
14.利用所述post模式过滤器为响应添加http header、收集统计信息和指标、将响应从微服务发送给客户端。
15.优选地,在本发明实施例提供的上述日志管理方法中,在所述接收携带有设备信息的业务请求之前,还包括:
16.使用docker下载镜像或者离线安装mongodb数据库,配置所述mongodb数据库的用户名和密码。
17.优选地,在本发明实施例提供的上述日志管理方法中,所述mongodb数据库的套件封装在springboot中。
18.优选地,在本发明实施例提供的上述日志管理方法中,所述mongodb数据库的操作接口由mongotemplate提供。
19.本发明实施例还提供了一种日志管理系统,包括:
20.请求接收模块,用于接收携带有设备信息的业务请求;
21.日志记录模块,用于将所述设备信息对应的app在微服务运行过程中产生的运行日志异步记录到mongodb数据库;
22.日志管理模块,用于访问所述mongodb数据库,对记录的日志进行查询、统计分析、批量删除或批量导出的操作。
23.优选地,在本发明实施例提供的上述日志管理系统中,还包括:
24.网关过滤模块,用于利用zuul网关通过post模式过滤器对所述业务请求进行过滤,获取目标业务请求;
25.请求解析模块,用于对所述目标业务请求进行解析,得到所述目标业务请求携带的设备信息对应的app。
26.本发明实施例还提供了一种日志管理设备,包括处理器和存储器,其中,所述处理器执行所述存储器中存储的计算机程序时实现如本发明实施例提供的上述日志管理方法。
27.本发明实施例还提供了一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如本发明实施例提供的上述日志管理方法。
28.从上述技术方案可以看出,本发明所提供的一种日志管理方法,包括:接收携带有设备信息的业务请求;将设备信息对应的app在微服务运行过程中产生的运行日志异步记录到mongodb数据库;访问mongodb数据库,对记录的日志进行查询、统计分析、批量删除或批量导出的操作。
29.本发明提供的上述日志管理方法中,利用非关系性数据库mongodb作为日志管理系统的存储库来存储各app的日志,提供日志管理的相关操作接口,可以快捷直观地处理数据,同时具有丰富的数据查询语言,方便定位,并且以文件形式把数据加载在内存中,假如服务器的内存资源足够丰富,其插入和查询效率要高于关系型数据库,极大地提高了对日志数据管理和应用的效率,减少用户操作。
30.此外,本发明还针对日志管理方法提供了相应的系统、设备及计算机可读存储介质,进一步使得上述方法更具有实用性,该系统、设备及计算机可读存储介质具有相应的优点。
附图说明
31.为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
32.图1为本发明实施例提供的日志管理方法的流程图;
33.图2为本发明实施例提供的日志记录过程的示意图;
34.图3为本发明实施例提供的日志管理过程的示意图;
35.图4为本发明实施例提供的日志管理系统的结构示意图。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.本发明提供一种日志管理方法,如图1所示,包括以下步骤:
38.s101、接收携带有设备信息的业务请求;
39.在实际应用中,对接平台向app网关发送请求,请求可根据业务区分,包括防火墙,在线威胁情报等业务请求,请求中携带设备信息,网关接收到请求后根据联动的设备信息请求对应的app,app解析网关参数并且调用第三方设备中心,实现对设备中心请求的转发。在此期间会有各种消息数据的交互及补充,并且app数量多,单个app存在多设备的情况,需要保证能够迅速且准确地通过app和设备特征点(例如设备编号)获取到请求内容,这时就需要一个具有快速查询的日志管理系统来管理。
40.s102、将设备信息对应的app在微服务运行过程中产生的运行日志异步记录到mongodb数据库;
41.需要说明的是,mongodb是一个基于文档模型的,支持索引、复制、事务的非关系型数据库。微服务在运行过程中,由于用户访问、计划任务等操作会产生大量日志,又由于请求协议的多样性,请求内容的复杂性,且为了能够实现根据部分关键词查询的功能,本发明选择拥有nosql特性的mongodb数据库来记录日志。首先,它易扩展,灵活的文档数据模型可以快捷直观地处理数据;第二,它和关系型数据库有共同点,具有丰富的数据查询语言,第三,它以文件形式把数据加载在内存中,假如服务器的内存资源足够丰富,其插入和查询效率要高于关系型数据库。
42.如图2所示,日志记录是在服务器内运行,接收请求调用后,在微服务运行过程中,将其产生的运行日志异步地记录到mongodb数据库。
43.s103、访问mongodb数据库,对记录的日志进行查询、统计分析、批量删除或批量导出的操作。
44.如图3所示,mongodb数据库对外提供日志查询接口、统计分析接口、批量删除日志接口和批量导出日志接口,在进行日志管理时,可对日志数据进行查询、统计分析、批量删除和导出。
45.在本发明实施例提供的上述日志管理方法中,利用非关系性数据库mongodb作为日志管理系统的存储库来存储各app的日志,提供日志管理的相关操作接口,可以快捷直观地处理数据,同时具有丰富的数据查询语言,方便定位,并且以文件形式把数据加载在内存
中,假如服务器的内存资源足够丰富,其插入和查询效率要高于关系型数据库,极大地提高了对日志数据管理和应用的效率,减少用户操作。
46.进一步地,在具体实施时,在本发明实施例提供的上述日志管理方法中,在执行步骤s101接收携带有设备信息的业务请求之后,在执行步骤s102将设备信息对应的app在微服务运行过程中产生的运行日志异步记录到mongodb数据库之前,还可以包括:利用zuul网关通过post模式过滤器对业务请求进行过滤,获取目标业务请求;对目标业务请求进行解析,得到目标业务请求携带的设备信息对应的app。之后,在执行步骤s102的过程中,是将目标业务请求携带的设备信息对应的app在微服务运行过程中产生的运行日志异步记录到mongodb数据库。
47.需要注意的是,本发明使用zuul过滤器来作为网关的基础框架,zuul的核心是一系列的过滤器,其作用可以类比servlet框架的filter或者aop。zuul把request route到用户处理逻辑的工程中,这些过滤器参与一些对必要请求的过滤处理。基于此,本发明选择配置post过滤器,这种过滤器在路由到微服务以后执行。利用这种post模式过滤器可用来为响应添加标准的http header、收集统计信息和指标、将响应从微服务发送给客户端等。在过滤时可以使用shouldfilter对app的请求进行筛选。
48.由于一个业务请求可能会落地多个app,这样利用zuul网关对业务请求进行过滤,将非必要的业务请求进行筛除掉,剩下的业务请求为目标业务请求,接下来解析网关获取的目标业务请求,得到目标业务请求携带的设备信息对应的app,多个app可以在一个视图中进行显示,进一步方便用户操作。
49.在具体实施时,在本发明实施例提供的上述日志管理方法中,在执行步骤s101接收携带有设备信息的业务请求之前,还可以包括:使用docker下载镜像或者离线安装mongodb数据库,配置mongodb数据库的用户名和密码。这样在服务器搭建mongodb后,才启用服务。
50.在具体实施时,在本发明实施例提供的上述日志管理方法中,mongodb数据库的套件封装在springboot中。具体地,使用springboot整合mongodb做日志管理系统的开发,在网关中调用app之前统一调用该日志管理系统,实现日志的记录。
51.由于springboot兼容mongodb,仅需要在配置中加入如下mongodb的内容即可,具体包括在maven中添加:spring

boot

starter

data

mongodb;配置文件中添加:spring:data:mongodb:uri:mongodb://用户名:密码
52.@ip:27017/admin。
53.在具体实施时,在本发明实施例提供的上述日志管理方法中,mongodb数据库的操作接口由mongotemplate提供。也就是说,代码中使用mongotemplate实现对mongodb的操作。mongotemplate为mongodb提供的操作接口,内部实现了常用的增加,删除,修改,查询,模糊查询等方法,在此日志管理系统中解析网关传入的请求内容,获取到实用的请求信息,如请求内容,请求的app,请求的设备,请求的协议,请求返回,对这部分内容进行入库操作。
54.需要了解的是,一般排查问题需要通过appid和设备编号进行日志定位,获取日志信息,基于此,本发明提供一个通过appid和设备编号查询数据库信息的接口,即日志查询接口。具体通过mongotemplate的find方法可以实现此功能。
55.基于同一发明构思,本发明实施例还提供了一种日志管理系统,由于该系统解决
问题的原理与前述一种日志管理方法相似,因此该系统的实施可以参见日志管理方法的实施,重复之处不再赘述。
56.在具体实施时,本发明实施例提供的日志管理系统,如图4所示,具体包括:
57.请求接收模块11,用于接收携带有设备信息的业务请求;
58.日志记录模块12,用于将设备信息对应的app在微服务运行过程中产生的运行日志异步记录到mongodb数据库;
59.日志管理模块13,用于访问mongodb数据库,对记录的日志进行查询、统计分析、批量删除或批量导出的操作。
60.在本发明实施例提供的上述日志管理系统中,可以通过上述三个模块的相互作用,快捷直观地处理数据,同时具有丰富的数据查询语言,方便定位,并且以文件形式把数据加载在内存中,极大地提高了对日志数据管理和应用的效率。
61.在具体实施时,在本发明实施例提供的上述日志管理系统中,还可以包括:
62.网关过滤模块,用于利用zuul网关通过post模式过滤器对业务请求进行过滤,获取目标业务请求;
63.请求解析模块,用于对目标业务请求进行解析,得到目标业务请求携带的设备信息对应的app。
64.在具体实施时,在本发明实施例提供的上述日志管理系统中,还可以包括:
65.数据库配置模块,用于使用docker下载镜像或者离线安装mongodb数据库,配置mongodb数据库的用户名和密码。
66.关于上述各个模块更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
67.相应地,本发明实施例还公开了一种日志管理设备,包括处理器和存储器;其中,处理器执行存储器中存储的计算机程序时实现前述实施例公开的日志管理方法。
68.关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
69.进一步地,本发明还公开了一种计算机可读存储介质,用于存储计算机程序;计算机程序被处理器执行时实现前述公开的日志管理方法。
70.关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
71.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的系统、设备、存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
72.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
73.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
74.综上,本发明实施例提供的一种日志管理方法,包括:接收携带有设备信息的业务请求;将设备信息对应的app在微服务运行过程中产生的运行日志异步记录到mongodb数据库;访问mongodb数据库,对记录的日志进行查询、统计分析、批量删除或批量导出的操作。上述日志管理方法利用非关系性数据库mongodb作为日志管理系统的存储库来存储各app的日志,提供日志管理的相关操作接口,可以快捷直观地处理数据,同时具有丰富的数据查询语言,方便定位,并且以文件形式把数据加载在内存中,假如服务器的内存资源足够丰富,其插入和查询效率要高于关系型数据库,极大地提高了对日志数据管理和应用的效率,减少用户操作。此外,本发明还针对日志管理方法提供了相应的系统、设备及计算机可读存储介质,进一步使得上述方法更具有实用性,该系统、设备及计算机可读存储介质具有相应的优点。
75.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
76.以上对本发明所提供的日志管理方法、系统、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1