CN111241049A - 一种基于微服务架构分布式操作日志实现系统 - Google Patents
一种基于微服务架构分布式操作日志实现系统 Download PDFInfo
- Publication number
- CN111241049A CN111241049A CN202010008136.2A CN202010008136A CN111241049A CN 111241049 A CN111241049 A CN 111241049A CN 202010008136 A CN202010008136 A CN 202010008136A CN 111241049 A CN111241049 A CN 111241049A
- Authority
- CN
- China
- Prior art keywords
- log
- module
- system based
- distributed
- implementation system
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于微服务架构分布式操作日志实现系统,所述系统由日志采集模块、日志封装模块、日志缓存模块、日志发送模块、日志接收模块、日志存储模块、和日志查询模块依次连接组成。本发明一种基于微服务架构分布式操作日志实现系统实现了日志操作功能的抽象与剥离,通过组件的方式统一维护,方便且易于扩展;减少了工程的冗余代码,将操作日志的处理,从业务中解放出来,方便代码维护。
Description
技术领域
本发明属于计算机技术领域,涉及一种基于微服务架构分布式操作日志实现系统。
背景技术
操作日志不同于系统日志,操作日志面向的是运营人员,记录的内容主要是WEB端的操作记录,为系统运维提供管理依据。
当前微服务架构下开发的工程数量成倍增长,操作日志的记录操作又分散在各项目中,如何将操作日志能力进行抽象提炼,优化操作日志编写习惯,方便操作日志记录与收集,提供公共API接口能力,减小代码耦合,提高接口的可靠性与性能等问题成为焦点。
目前项目中的操作日志代码相互独立,数据模型不统一,数据存储结构不统一,代码冗余,没有固定的日志模板,日志存储代码与业务代码串行工作,相互影响,并影响接口性能。因此,需要提供一种一种基于微服务架构分布式操作日志实现系统。
发明内容
为了克服现有技术中的缺陷,提供一种基于微服务架构分布式操作日志实现系统及方法。
本发明通过下述方案实现:
一种基于微服务架构分布式操作日志实现系统,所述系统包括:
日志采集模块,用于采集和抓取客户端的日志信息;
日志封装模块,用于将所述日志采集模块采集的碎片化日志信息,按照日志模板封装成统一操作日志;
日志缓存模块,用于将所述操作日志进行缓存,等待操作日志发送;
日志发送模块,用于将所述日志缓存模块缓存的操作日志发送给服务端;
日志接收模块,用于接收客户端的操作日志;
日志存储模块,用于对所述日志接收模块接收到的操作日志进行保存;
日志查询模块,用于向客户端提供查询操作日志,并导出操作日志记录。
所述日志采集模块安装于客户端,所述日志采集模块采集的日志信息包括操作模块、操作类型、执行结果、标题和操作数据中的一种或数种。
所述日志封装模块通过客户端携带的账号信息查找与所述账号信息对应的日志信息。
所述日志模板实现固定参数信息的串连拼接。
所述日志缓存模块用于针对所述日志封装模块生成的操作日志,按照生成时间缓存。
所述日志发送模块将所述日志缓存模块缓存的操作日志初始化异步线程池,循环获取日志消息进行异步发送操作日志到服务端。
所述日志接收模块通过搭建操作日志服务端集群环境,统一接收指定客户端的日志消息。
所述日志存储模块使用雪花算法生成操作日志的ID,并将操作日志记录保存到数据库中。
所述日志查询模块通过服务端提供日志管理后台页面,按时间、模块、类型、操作人员等维度导出操作日志。
本发明方法的有益效果为:
本发明一种基于微服务架构分布式操作日志实现系统实现了日志操作功能的抽象与剥离,通过组件的方式统一维护,方便且易于扩展;减少了工程的冗余代码,将操作日志的处理,从业务中解放出来,方便代码维护;采用了异步消息中间件,减少系统开销,提高了接口响应性能;操作日志的文本内容统一规范,统一约束定义,并可统一更换日志模板;操作日志保存结构统一,利于日志的存储与统计,数据库类型也可动态切换,业务系统无感知;提供了统一的日志管理后台与API,并提供导出能力,方便日志管理,以及第三方数据查询。
附图说明
图1为本发明一种基于微服务架构分布式操作日志实现系统的流程框图;
图2为本发明一种基于微服务架构分布式操作日志实现系统中日志采集模块的流程框图;
图3为本发明一种基于微服务架构分布式操作日志实现系统中日志封装模块的流程框图。
具体实施方式
下面结合具体实施例对本发明进一步说明:
如图1所示,一种基于微服务架构分布式操作日志实现系统,所述系统包括:
日志采集模块,用于采集和抓取客户端的日志信息;日志封装模块,用于将所述日志采集模块采集的碎片化日志信息,按照日志模板封装成统一操作日志;日志缓存模块,用于将所述操作日志进行缓存,等待操作日志发送;日志发送模块,用于将所述日志缓存模块缓存的操作日志发送给服务端;日志接收模块,用于接收客户端的操作日志;日志存储模块,用于对所述日志接收模块接收到的操作日志进行保存;日志查询模块,用于向客户端提供查询操作日志,并导出操作日志记录。本发明系统由日志采集模块、日志封装模块、日志缓存模块、日志发送模块、日志接收模块、日志存储模块、和日志查询模块依次连接。
所述日志采集模块安装于客户端,所述日志采集模块采集的日志信息包括操作模块、操作类型、执行结果、标题和操作数据中的一种或数种。
如图2所示,日志采集模块具体工作流程如下:
(1)实现系统中日志采集模块安装在客户端内的集成日志组件通过java的jar包方式提供。
(2)启动实现系统。
(3)日志组件初始化RabbitMQ消息中间件,使用RabbitMQ做为日志的收发组件,管理日志消息的发布/订阅。
(4)实现系统在完成业务操作后,调用日志组件API,进行日志记录操作。API提供了业务日志的基本抽象能力,包含:操作模块、操作类型、执行结果(1成功,2错误)、标题(例如:新增设备)、操作数据。其中,操作模块严格按照解决方案/工程类型/业务模块进行动态扩展定义统一编码,识别性高。操作类型进行枚举值强约束,明确定义操作的类型及含义,减少研发人员的随意定义。API调用分为两种方式:一种是手动调用,所有业务参数均通过API接口参数进行指定,特点是灵活性高,适用于任何情况下的调用场景;一种是通过注解,在业务层类代码中加入注解,实现部分日志参数通过切面统一获取,特点是减少日志参数的重复配置。
所述日志封装模块通过客户端携带的账号信息查找与所述账号信息对应的日志信息。所述日志模板实现固定参数信息的串连拼接。
如图3所示,日志封装模块具体工作流程如下:
(1)获取用户信息:通过获取HTTP请求的token信息,向用户心发起鉴权,当鉴权成功后返回用户的信息,进而拿到用户的账号信息。
(2)获取IP信息:通过HTTP请求协议,调用HttpServletRequest的API获取对方的真实IP信息。
(3)获取系统信息:通过读取配置文件方式获取当前工程的系统名称。
(4)获取模块:通过参数获取或通过注解获取。
(5)操作类型:通过参数获取或通过注解获取。
(6)获取请求URL:调用HttpServletRequest的API获取。
(7)获取方法:通过JAVA反射获取方法信息。
(8)调用日志模板:日志模板实现固定参数信息的串连拼接。针对不同的操作对象封装出不同的日志详情。当日志参数为单条记录的修改,则调用单记录模板封装;对批量修改,则调用多记录模板循环拼装。
所述日志缓存模块用于针对所述日志封装模块生成的操作日志,按照生成时间缓存。
日志缓存模块具体工作流程如下:
(1)消息队列采用Java先入先出(FIFO)队列,对日志消息进行缓存消峰处理。
(2)判断当前RabbitMQ连接可用则检查是否生成日志文件,如果有生成日志文件,则优先消费文件中的日志队列,当消费完成后清理文件,设置日志保存文件标识为关。最后再直接从缓存中读取日志消息进行消费。
(3)判断当前RabbitMQ连接可用,则检查是否生成日志文件,如果没有生成日志文件,直接从缓存中读取日志消息进行消费。
(4)判断当前RabbitMQ连接不可用,定时检查RabbitMQ连接状态,当超过超时时间时,生成日志文件,设置日志保存文件标识为开。
所述日志发送模块将所述日志缓存模块缓存的操作日志初始化异步线程池,循环获取日志消息进行异步发送操作日志到服务端。
所述日志接收模块通过搭建操作日志服务端集群环境,统一接收指定客户端的日志消息。
所述日志存储模块使用雪花算法生成操作日志的ID,并将操作日志记录保存到数据库中。
所述日志查询模块通过服务端提供日志管理后台页面,按时间、模块、类型、操作人员等维度导出操作日志。
日志查询模块具体工作流程如下:
(1)服务端提供WEB日志管理后台页面。
(2)提供通用Restful API,为WEB后端或第三方提供提口调用能力。
(3)提供日志导入出能力,按时间、模块、类型、操作人员等维度导出日志文件。
本发明一种基于微服务架构分布式操作日志实现系统实现了日志操作功能的抽象与剥离,通过组件的方式统一维护,方便且易于扩展;减少了工程的冗余代码,将操作日志的处理,从业务中解放出来,方便代码维护;采用了异步消息中间件,减少系统开销,提高了接口响应性能;操作日志的文本内容统一规范,统一约束定义,并可统一更换日志模板;操作日志保存结构统一,利于日志的存储与统计,数据库类型也可动态切换,业务系统无感知;提供了统一的日志管理后台与API,并提供导出能力,方便日志管理,以及第三方数据查询。
尽管已经对本发明的技术方案做了较为详细的阐述和列举,应当理解,对于本领域技术人员来说,对上述实施例做出修改或者采用等同的替代方案,这对本领域的技术人员而言是显而易见,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (9)
1.一种基于微服务架构分布式操作日志实现系统,其特征在于,所述系统包括:
日志采集模块,用于采集和抓取客户端的日志信息;
日志封装模块,用于将所述日志采集模块采集的碎片化日志信息,按照日志模板封装成统一操作日志;
日志缓存模块,用于将所述操作日志进行缓存,等待操作日志发送;
日志发送模块,用于将所述日志缓存模块缓存的操作日志发送给服务端;
日志接收模块,用于接收客户端的操作日志;
日志存储模块,用于对所述日志接收模块接收到的操作日志进行保存;
日志查询模块,用于向客户端提供查询操作日志,并导出操作日志记录。
2.根据权利要求1所述的一种基于微服务架构分布式操作日志实现系统,其特征在于:所述日志采集模块安装于客户端,所述日志采集模块采集的日志信息包括操作模块、操作类型、执行结果、标题和操作数据中的一种或数种。
3.根据权利要求1所述的一种基于微服务架构分布式操作日志实现系统,其特征在于:所述日志封装模块通过客户端携带的账号信息查找与所述账号信息对应的日志信息。
4.根据权利要求1所述的一种基于微服务架构分布式操作日志实现系统,其特征在于:所述日志模板实现固定参数信息的串连拼接。
5.根据权利要求1所述的一种基于微服务架构分布式操作日志实现系统,其特征在于:所述日志缓存模块用于针对所述日志封装模块生成的操作日志,按照生成时间缓存。
6.根据权利要求1所述的一种基于微服务架构分布式操作日志实现系统,其特征在于:所述日志发送模块将所述日志缓存模块缓存的操作日志初始化异步线程池,循环获取日志消息进行异步发送操作日志到服务端。
7.根据权利要求1所述的一种基于微服务架构分布式操作日志实现系统,其特征在于:所述日志接收模块通过搭建操作日志服务端集群环境,统一接收指定客户端的日志消息。
8.根据权利要求1所述的一种基于微服务架构分布式操作日志实现系统,其特征在于:所述日志存储模块使用雪花算法生成操作日志的ID,并将操作日志记录保存到数据库中。
9.根据权利要求1所述的一种基于微服务架构分布式操作日志实现系统,其特征在于:所述日志查询模块通过服务端提供日志管理后台页面,按时间、模块、类型、操作人员等维度导出操作日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010008136.2A CN111241049B (zh) | 2020-01-06 | 2020-01-06 | 一种基于微服务架构分布式操作日志实现系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010008136.2A CN111241049B (zh) | 2020-01-06 | 2020-01-06 | 一种基于微服务架构分布式操作日志实现系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111241049A true CN111241049A (zh) | 2020-06-05 |
CN111241049B CN111241049B (zh) | 2023-05-02 |
Family
ID=70864838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010008136.2A Active CN111241049B (zh) | 2020-01-06 | 2020-01-06 | 一种基于微服务架构分布式操作日志实现系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111241049B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010378A (zh) * | 2021-03-04 | 2021-06-22 | 万翼科技有限公司 | 微服务模块的日志处理方法及装置、存储介质、电子装置 |
CN113342769A (zh) * | 2021-06-02 | 2021-09-03 | 北京联创新天科技有限公司 | 一种统一日志记录工具、方法、存储介质及设备 |
CN113568764A (zh) * | 2021-07-29 | 2021-10-29 | 工银科技有限公司 | 用于微服务的用户信息获取方法、装置、设备及介质 |
CN115391827A (zh) * | 2022-10-28 | 2022-11-25 | 北京国电通网络技术有限公司 | 日志信息存储方法、装置、设备、计算机可读介质和产品 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574205A (zh) * | 2016-01-18 | 2016-05-11 | 国家电网公司 | 分布式计算环境的日志动态分析系统 |
CN106357452A (zh) * | 2016-09-29 | 2017-01-25 | 上海和付信息技术有限公司 | 一种单点异构数据存储的高可用框架系统及其实现方法 |
CN106506668A (zh) * | 2016-11-23 | 2017-03-15 | 山东浪潮云服务信息科技有限公司 | 一种基于分布式存储实现对象存储的方法 |
CN107193669A (zh) * | 2017-05-09 | 2017-09-22 | 千寻位置网络有限公司 | 基于混合云或大规模集群的维护接口的系统和设计方法 |
CN107861859A (zh) * | 2017-11-22 | 2018-03-30 | 北京汇通金财信息科技有限公司 | 一种基于微服务架构的日志管理方法及系统 |
US20180307514A1 (en) * | 2017-04-24 | 2018-10-25 | Sap Se | Transaction orchestration for microservice |
US20190034253A1 (en) * | 2017-07-31 | 2019-01-31 | Oracle International Corporation | System and method of providing post error analysis for instances of applications in cloud service environments on a per user basis |
CN110113236A (zh) * | 2019-05-24 | 2019-08-09 | 安徽扬远信息科技有限公司 | 一种基于RabbitMQ的智能家居云平台接入方法及系统 |
US20190312792A1 (en) * | 2018-04-10 | 2019-10-10 | Zscaler, Inc. | State management across distributed services using cryptographically bound journals |
US20190334789A1 (en) * | 2018-04-26 | 2019-10-31 | EMC IP Holding Company LLC | Generating Specifications for Microservices Implementations of an Application |
CN110633186A (zh) * | 2019-08-16 | 2019-12-31 | 南方电网科学研究院有限责任公司 | 用于电力计量微服务架构的日志监控系统及实现方法 |
-
2020
- 2020-01-06 CN CN202010008136.2A patent/CN111241049B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574205A (zh) * | 2016-01-18 | 2016-05-11 | 国家电网公司 | 分布式计算环境的日志动态分析系统 |
CN106357452A (zh) * | 2016-09-29 | 2017-01-25 | 上海和付信息技术有限公司 | 一种单点异构数据存储的高可用框架系统及其实现方法 |
CN106506668A (zh) * | 2016-11-23 | 2017-03-15 | 山东浪潮云服务信息科技有限公司 | 一种基于分布式存储实现对象存储的方法 |
US20180307514A1 (en) * | 2017-04-24 | 2018-10-25 | Sap Se | Transaction orchestration for microservice |
CN107193669A (zh) * | 2017-05-09 | 2017-09-22 | 千寻位置网络有限公司 | 基于混合云或大规模集群的维护接口的系统和设计方法 |
US20190034253A1 (en) * | 2017-07-31 | 2019-01-31 | Oracle International Corporation | System and method of providing post error analysis for instances of applications in cloud service environments on a per user basis |
CN107861859A (zh) * | 2017-11-22 | 2018-03-30 | 北京汇通金财信息科技有限公司 | 一种基于微服务架构的日志管理方法及系统 |
US20190312792A1 (en) * | 2018-04-10 | 2019-10-10 | Zscaler, Inc. | State management across distributed services using cryptographically bound journals |
US20190334789A1 (en) * | 2018-04-26 | 2019-10-31 | EMC IP Holding Company LLC | Generating Specifications for Microservices Implementations of an Application |
CN110113236A (zh) * | 2019-05-24 | 2019-08-09 | 安徽扬远信息科技有限公司 | 一种基于RabbitMQ的智能家居云平台接入方法及系统 |
CN110633186A (zh) * | 2019-08-16 | 2019-12-31 | 南方电网科学研究院有限责任公司 | 用于电力计量微服务架构的日志监控系统及实现方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010378A (zh) * | 2021-03-04 | 2021-06-22 | 万翼科技有限公司 | 微服务模块的日志处理方法及装置、存储介质、电子装置 |
CN113342769A (zh) * | 2021-06-02 | 2021-09-03 | 北京联创新天科技有限公司 | 一种统一日志记录工具、方法、存储介质及设备 |
CN113568764A (zh) * | 2021-07-29 | 2021-10-29 | 工银科技有限公司 | 用于微服务的用户信息获取方法、装置、设备及介质 |
CN115391827A (zh) * | 2022-10-28 | 2022-11-25 | 北京国电通网络技术有限公司 | 日志信息存储方法、装置、设备、计算机可读介质和产品 |
CN115391827B (zh) * | 2022-10-28 | 2023-01-17 | 北京国电通网络技术有限公司 | 日志信息存储方法、装置、设备、计算机可读介质和产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111241049B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241049A (zh) | 一种基于微服务架构分布式操作日志实现系统 | |
CN101853287B (zh) | 数据压缩快速检索文件系统及其方法 | |
CN104125163B (zh) | 一种数据处理方法、装置及终端 | |
CN103532754A (zh) | 一种通过高速内存、分布式处理海量日志的系统及方法 | |
CN111752799A (zh) | 一种业务链路跟踪方法、装置、设备及储存介质 | |
CN109039817B (zh) | 一种用于流量监控的信息处理方法、装置、设备及介质 | |
WO2011150645A1 (zh) | 网站托管服务调度方法、应用访问处理方法、装置及系统 | |
CN103607476A (zh) | 海量消息的分布式多阶段持久化的系统及方法 | |
CN112087490A (zh) | 一种高性能移动端应用软件日志收集系统 | |
CN102820983A (zh) | 系统异常信息采集方法及管理器 | |
CN112765103A (zh) | 一种文件解析方法、系统、装置及设备 | |
CN111641700A (zh) | 基于Ceph对象存储元数据的管理及检索的实现方法 | |
CN1794716A (zh) | 通信系统 | |
CN116980475B (zh) | 一种基于binlog与双环形缓冲区的数据推送系统 | |
CN112817539A (zh) | 一种工业数据存储方法、系统、电子设备及存储介质 | |
CN115022402B (zh) | 一种基于一栈式集成技术的agent采集方法及系统 | |
CN113542409B (zh) | 一种RocketMQ消息队列实例管理系统及处理方法 | |
CN115866331A (zh) | 视频抽帧分析方法、装置、设备及存储介质 | |
CN114201659A (zh) | 一种消息轨迹传输查询方法、装置及系统 | |
CN113055378B (zh) | 用于工业互联网标识解析的协议转换平台及数据对接方法 | |
CN113836533A (zh) | 一种文件监测方法、装置、电子设备及可读存储介质 | |
CN112506886A (zh) | 一种多源业务操作日志采集方法及系统 | |
CN111143280B (zh) | 一种数据调度方法、系统、装置及存储介质 | |
CN113283999B (zh) | 电力监控系统网省两级数据同步方法、装置、计算机设备 | |
CN116257385A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |