CN112256530A - 一种可链路追踪的日志服务方法及其系统 - Google Patents

一种可链路追踪的日志服务方法及其系统 Download PDF

Info

Publication number
CN112256530A
CN112256530A CN202011160309.9A CN202011160309A CN112256530A CN 112256530 A CN112256530 A CN 112256530A CN 202011160309 A CN202011160309 A CN 202011160309A CN 112256530 A CN112256530 A CN 112256530A
Authority
CN
China
Prior art keywords
log
service
data
operation log
common
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.)
Pending
Application number
CN202011160309.9A
Other languages
English (en)
Inventor
陈志威
廖阳春
郑广彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Zhufeng Network Technology Co ltd
Original Assignee
Guangzhou Zhufeng Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Zhufeng Network Technology Co ltd filed Critical Guangzhou Zhufeng Network Technology Co ltd
Priority to CN202011160309.9A priority Critical patent/CN112256530A/zh
Publication of CN112256530A publication Critical patent/CN112256530A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种可链路追踪的日志服务方法及其系统,方法包括:从业务服务程序中获取日志数据,日志数据包括普通日志数据和操作日志数据;通过Lombok插件,对普通日志数据,规范日志输出格式,通过基于Lombok插件的MDC进行链路埋点,添加一次用户请求标识,并规范服务间协议,生成普通日志文件;根据操作日志数据定制化生成操作日志文件;普通日志文件和操作日志文件经过Filebeat分发给ELK服务;普通日志文件和操作日志文件交由Logstash过滤、解析,形成结构化数据,并转发到Elasticsearch;展示存储的普通日志文件和操作日志文件。本发明方法规范日志格式,添加链路标识,集中服务日志,方便维护人员管理和定位。

Description

一种可链路追踪的日志服务方法及其系统
技术领域
本发明属于信息处理技术领域,尤其涉及一种可链路追踪的日志服务方法及其系统。
背景技术
随着互联网的快速发展,有别于传统软件模式,互联网云平台有着更为海量的数据、高并发以及需求变动快等特点。近几年,随着5G的发展以及公司对物联网领域的进军,将给软件系统带来更高的挑战。
为了让软件系统能支撑起企业的战略布局,软件系统渐渐地从集中式、垂直模型过渡到分布式、微服务架构。同时提供了许多配套的运维工具和管理办法来适应这套架构模型。微服务是一种软件架构,以解决过去代码过度集中、项目代码量庞大、难维护等问题,通过将软件系统下的模块分别拆分成一个个可独立部署的服务,让每个专业团队集中处理各自的服务,以满足互联网背景下需求变动快、业务淘汰频繁等场景。
微服务架构能更好地的解决技术难关,同时也必须克服许多微服务系统所带来的日志混乱、链路无法追踪、问题无法精确定位等问题。
一、由于系统从集中式、垂直模型过渡到分布式的架构,导致一个服务可能部署在不同的物理机器上,日志文件也随之输出到不同的机器上。维护人员要日志跟踪问题时,必须多次登录不同的机器上查看具体的日志文件,甚至有时docker容器重置的情况下导致部分日志丢失,这种日志混乱造成维护人员定位问题难、且效率低。
二、进一步的,由于架构演进到微服务架构,一次用户请求,可能跨越多个服务。然而,不同服务间没有相应的规范、没有加链路标识,维护人员希望得到一次用户请求下的所有日志十分困难,无法准确定位当前用户请求异常的具体服务。
三、由于微服务架构中每个服务都有自身的业务操作,需要记录业务的操作痕迹。然而,每个服务都自身实现自己独立的操作日志模块,导致操作日志格式上差异明显、重复造轮子等问题,重复造轮子是软件开发过程中因设计不合理、沟通不明确造成代码重复的一种形象比喻。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种日志服务方法,该方法可以解决现有问题中重复造轮子的问题,规范日志格式,添加链路标识,并且将不同分散到不同机器上的服务日志集中,方便维护人员管理和定位,提高工作效率。
本专利方案提供一种可链路追踪的日志服务方法,包括:
从业务服务程序中获取日志数据,所述日志数据包括普通日志数据和操作日志数据;
通过Lombok插件,对所述普通日志数据,规范日志输出格式,通过基于所述Lombok插件的MDC进行链路埋点,添加一次用户请求标识,并规范服务间协议,生成普通日志文件;
根据所述操作日志数据定制化生成操作日志文件;
所述普通日志文件和操作日志文件经过Filebeat分发给ELK服务,所述ELK服务包括Logstash、Elasticsearch、Kibana。其中,Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或Logstash进行索引。ELK分别是Elasticsearch、Logstash、Kibana三个开源框架缩写,ELK服务是近年兴起的一套日志服务实现方案,Logstash用于收集日志,对日志进行过滤形成结构化数据,并转发到Elasticsearch中;Elasticsearch接收搜集的海量日志数据、建立索引并存储,并提供给kibana查询分析;Kibana对elasticsearch提供的数据进行分析展示.,kibana提供可视化工具为维护人员查询分析。
Filebeat统一收集分别由Lombok插件生成的普通日志文件,以及由操作日志服务生成的操作日志文件,将这两者统一传送给ELK服务进行处理。
所述普通日志文件和操作日志文件交由所述Logstash过滤、解析,形成结构化数据,并转发到所述Elasticsearch;
所述Elasticsearch存储由所述Logstash转发的所述普通日志文件和操作日志文件,并建立索引;
所述Kibana展示由所述Elasticsearch存储的所述普通日志文件和操作日志文件。
进一步地,还包括:将所述普通日志数据通过异步方式输送到消息队列上,缓存所述普通日志数据。
进一步地,所述根据操作日志数据定制化生成操作日志文件,具体包括:
通过Dubbo调用远程操作日志服务,所述操作日志服务采用C/S架构,包括操作日志服务客户端和操作日志服务端,所述操作日志服务客户端收集所述操作日志数据,并传输到所述操作日志服务端定制化生成操作日志文件。
具体的,所述操作日志服务客户端提供对操作日志服务端的访问适配,包括利用HTTP调用操作日志服务适配器、利用RPC远程服务调用适配器、利用MQ消息队列传输适配器。
进一步地,所述普通日志文件和操作日志文件经过Filebeat分发给ELK服务,包括:分模块读取宿主机的普通日志文件和操作日志文件,并使用Filebeat转发到所述Logstash。
进一步地,所述普通日志文件和操作日志文件交由Logstash过滤、解析,形成结构化数据,并转发到Elasticsearch,包括:
所述普通日志文件和操作日志文件先通过Redis缓存,再交由Logstash过滤、解析,形成结构化数据,并转发到Elasticsearch。
进一步地,所述从应用程序获取日志数据,包括:
使用日志拦截器收集、获取日志数据,并通过Annotation注解标注具体需要生成的模块。
还提供一种可链路追踪的日志服务系统,包括:
日志拦截器,用于从业务服务程序中获取日志数据,所述日志数据包括普通日志数据和操作日志数据,并分别传递给Lombok插件和操作日志服务模块;
所述Lombok插件,用于对所述普通日志数据,规范日志输出格式,通过基于所述Lombok插件的MDC进行链路埋点,添加一次用户请求标识,并规范服务间协议,生成普通日志文件;
所述操作日志服务子系统,用于根据所述操作日志数据定制化生成操作日志文件;
Filebeat,用于收集由所述Lombok插件和操作日志服务子系统生成的所述普通日志文件和操作日志文件,将其分发给ELK服务模块;
ELK服务模块,包括Logstash、Elasticsearch、Kibana;其中所述Logstash用于过滤和解析所述普通日志文件和操作日志文件,形成结构化数据,并转发到所述Elasticsearch;所述Elasticsearch存储由所述Logstash转发的所述普通日志文件和操作日志文件,并建立索引;所述Kibana展示由所述Elasticsearch存储的所述普通日志文件和操作日志文件。
进一步地,还包括:消息队列中间件,用于通过异步方式将所述普通日志数据输送到消息队列上,缓存所述普通日志数据。
进一步地,所述操作日志服务子系统采用C/S架构,包括操作日志服务客户端和操作日志服务端,所述操作日志服务客户端收集所述操作日志数据,并传输到所述操作日志服务端定制化生成操作日志文件。
本专利的改进带来如下优点:
相较于传统的日志服务相比,本发明通过规范日志输出格式、添加链路标识、将日志文件集中管理等方法,实现了可以集中在一台机器上,追踪分布在多台机器上的应用日志的问题。软件开发、维护人员无需登录到相应的服务进行日志检索,同时解决了不同应用间日志联系中断等问题。例如:在传统日志直接输出到服务器上,维护人员必须在相应的服务器上进行查看,而日志却分散在不同应用服务器上,每个运维人员必须同时查看不同机器才可掌握到具体日志,了解服务的运行状况。
为微服务架构系统提供日志格式统一、链路追踪、高效检索、日志报告等功能。破除日志孤岛,为应用提供基石服务。例如:在传统的分布式日志中,每个日志都是单独存在的,没有关联,但在应用层的角度看,服务间的调用是有关联的,比如,A模块调用B模块分别生成a日志和b日志,其实是有关联的,通过链路标识建立了a日志和b日志的联系,让维护人员可以有效地追踪每个相互关联的日志,快速了解服务情况和精准定位问题,从而全盘了解服务器运行情况,高效解决服务问题。
附图说明
图1为本发明实施例1一种可链路追踪的日志服务方法的方法流程图;
图2为本发明另一实施例一种可链路追踪的日志服务方法的方法流程图;
图3为本发明实施例一种可链路追踪的日志服务系统的架构示意图;
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1,本申请实施例1一种可链路追踪的日志服务方法,包括步骤S101-S107,具体如下:
S101:从应用程序中获取日志数据,具体是从业务服务程序中获取日志数据。日志数据包括普通日志数据和操作日志数据。在应用运行的过程中,产生两种日志数据,一种作为故障运维的服务运行日志(普通日志数据),一种作为组织权限、操作内容跟踪的操作日志数据。获取这两种日志数据后,将其分别传递给不同的处理模块对其进行处理,以生成规范的日志文件。
可选地,使用日志拦截器,如AOP、Interceptor等应用端日志拦截器,收集、获取日志数据,并通过Annotation注解标注具体需要生成的模块,然后将拦截器收集的日志数据发送到服务端。
S102:通过Lombok插件,对普通日志数据,规范日志输出格式,通过基于Lombok插件的MDC进行链路埋点,添加一次用户请求标识,并规范服务间协议,生成普通日志文件。其中,Lombok插件是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。MDC(Mapped Diagnostic Contexts,诊断上下文映射),Logback的设计目标之一是审计和调试复杂的分布式应用程序。大多数实际的分布式系统需要同时处理来自多个客户端的请求。为了区分开每个客户端的日志,也为了能够快速定位某个请求日志来自哪个客户端,最简单地方式是,给每个客户端的每个日志请求一个唯一标记。为了对每个请求进行唯一的标记,用户将上下文信息放入MDC中。通过Lombok插件规范日志输出格式,可以改变现有技术中,日志格式混乱,无法集中管理,也不便于统一察看和处理的缺陷,实现日志格式统一、规范检索条件。通过基于Lombok插件的MDC进行链路埋点,添加一次用户请求标识,并规范服务间协议,让MDC链路标识能在服务间传输。同时可以保证每个线程都有一个唯一ID,每个请求链路都有一个唯一的ID,可以确保维护人员在通过日志文件追踪定位问题时,可以做到高效、快速、精准,提高工作效率和工作质量。
S103:根据所述操作日志数据定制化生成操作日志文件。操作日志规范,是在于不同的应用的业务性不一样,需要在代码层面进行特异性的功能开发,操作日志跟业务性关联很强,操作日志服务只能定义相关标准,具体日志如何生成由应用端实现。操作日志服务提供代码框架,每个应用程序可以根据自己的实际情况定制化地操作日志生成器、生成时机、生成内容,得到操作日志文件。
可选地,针对应用由于微服务架构,导致不同服务都自身实现自己独立的操作日志模块、重复造轮子等问题,本实施例单独剥离出操作日志服务,为各业务提供操作日志服务。目标是将重要业务配置的变更、财务审核以及相关工作流的操作日志的生成,并通过dubbo实现远程服务调用。操作日志服务整体采用C/S架构,其中客户端的作用类似于为外部系统提供sdk,无需应用服务为调用操作日志服务而增加开发任务,只需通过简单配置便可使用。优选地,客户端还提供对服务的访问适配。例如:利用http调用操作日志服务适配器、利用rpc远程服务调用适配器、利用mq消息队列传输适配器。而客户端提供的代码框架,每个应用程序可以根据自己的实际情况定制化操作日志生成器、生成时机、生成内容。
S104:所述普通日志文件和操作日志文件经过Filebeat分发给ELK服务,所述ELK服务包括Logstash、Elasticsearch、Kibana。其中,Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或Logstash进行索引。ELK分别是Elasticsearch、Logstash、Kibana三个开源框架缩写,ELK服务是近年兴起的一套日志服务实现方案,Logstash用于收集日志,对日志进行过滤形成结构化数据,并转发到Elasticsearch中;Elasticsearch接收搜集的海量日志数据、建立索引并存储,并提供给kibana查询分析;Kibana对elasticsearch提供的数据进行分析展示.,kibana提供可视化工具为维护人员查询分析。Filebeat统一收集分别由Lombok插件生成的普通日志文件,以及由操作日志服务生成的操作日志文件,将这两者统一传送给ELK服务进行处理。
可选地,分模块读取宿主机的普通日志文件和操作日志文件,并使用Filebeat转发到所述Logstash。
S105:所述普通日志文件和操作日志文件交由所述Logstash过滤、解析,形成结构化数据,并转发到所述Elasticsearch。
可选地,为了避免日志服务负载过高,通过Redis缓存后,在逐步让Logstash过滤、解析,形成结构化数据,并转发到Elasticsearch。其中,Redis(Remote DictionaryServer),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
S106:所述Elasticsearch存储由所述Logstash转发的所述普通日志文件和操作日志文件,并建立索引,以便以后的管理和检索。
S107:所述Kibana展示由所述Elasticsearch存储的所述普通日志文件和操作日志文件。
通过上述步骤实现了日志文件集中处理、无需维护人员登录到不同宿主主机去查看相应的日志文件。为了提高检索效率,日志服务采用了Elasticsearch建立索引,同时结合第一点的lombok插件的MDC链路埋点,让维护人员能在一次检索查询根据链路标识实现请求各服务调用全过程。最后,采用kibana提供的日志分析友好的Web界面,可以帮助汇总、分析和搜索重要数据日志。
请参阅图2,本申请实施例2提供一种可链路追踪的日志服务方法,包括步骤S201-S208,该实施例与实施例1大体相同,不同之处在于多了一个步骤S202,具体如下:
S201:从应用程序获取日志数据,所述日志数据包括普通日志数据和操作日志数据;
S202:将所述普通日志数据通过异步方式输送到消息队列上,缓存所述普通日志数据;
S203:通过Lombok插件,对所述普通日志数据,规范日志输出格式,通过基于所述Lombok插件的MDC进行链路埋点,添加一次用户请求标识,并规范服务间协议,生成普通日志文件;
S204:根据所述操作日志数据定制化生成操作日志文件;
S205:所述普通日志文件和操作日志文件经过Filebeat分发给ELK服务,所述ELK服务包括Logstash、Elasticsearch、Kibana;
S206:所述普通日志文件和操作日志文件交由所述Logstash过滤、解析,形成结构化数据,并转发到所述Elasticsearch;
S207:所述Elasticsearch存储由所述Logstash转发的所述普通日志文件和操作日志文件,并建立索引;
S208:所述Kibana展示由所述Elasticsearch存储的所述普通日志文件和操作日志文件。
本实施例为了缓解日志输出对应用服务性能下降问题,通过异步方式将日志输送到消息队列上,缓存相关日志,也能避免由于高并发导致日志服务出现过高负载的问题。
请参阅图3,本申请实施例3提供一种可链路追踪的日志服务系统,包括:
日志拦截器100,用于从应用程序获取日志数据,具体是用于从业务服务程序中获取日志数据,日志数据包括普通日志数据和操作日志数据,并分别传递给Lombok插件200和操作日志服务模块;
Lombok插件200,用于对普通日志数据,规范日志输出格式,通过基于Lombok插件200的MDC进行链路埋点,添加一次用户请求标识,并规范服务间协议,生成普通日志文件;
操作日志服务子系统300,用于根据操作日志数据定制化生成操作日志文件;可选地,操作日志服务子系统300采用C/S架构,包括操作日志服务客户端和操作日志服务端,操作日志服务客户端收集操作日志数据,并传输到操作日志服务端定制化生成操作日志文件。操作日志服务子系统300为不同应用提供插拔式的适配器模块,适配器模块的作用是针对不同的技术栈提供更好的集成,例如:java应用提供java sdk、c#应用提供c#sdk等,无需业务开发人员进行额外开发工作,业务人员只需给适配器模块提供相关数据即可,无需在意操作日志的生成细节。客户端收集日志、汇总然后通过Http协议、dubbo框架实现RPC远程服务调用或者mq消息传递等实现日志的收集。操作日志服务端采用队列缓存、分表治理和按需归档等方式对日志进行管理。操作日志服务跟业务耦合性较高,例如:业务配置、财务审核和工作流程等操作日志,需要不同的应用程序实现各自的定制化日志化服务,需要规范化日志格式并设计出较为通用的模型,提供相应的软件工具辅助生成相应的操作日志。
Filebeat400,用于收集由Lombok插件200和操作日志服务子系统300生成的普通日志文件和操作日志文件,将其分发给ELK服务模块500;
ELK服务模块500,包括Logstash501、Elasticsearch502、Kibana503;其中Logstash501用于过滤和解析普通日志文件和操作日志文件,形成结构化数据,并转发到Elasticsearch502;Elasticsearch502存储由Logstash501转发的普通日志文件和操作日志文件,并建立索引;Kibana503展示由Elasticsearch502存储的普通日志文件和操作日志文件。传统系统由于历史原因,采用的技术栈较为陈旧、存在许多技术债务。导致整合进日志服务难度较大。不同的软件应用采用的日志方式不一样,日志格式不统一,增加了接入ELK形成索引以及数据报告的难度。本实施例通过规范日志格式,将日志文件统一计入ELK服务模块500进行统一管理。
本实施例规范化日志格式、日志输出、相应的运行时环境。通过对应用的日志文件进行实时抓取、上传、解析、索引建立、存储等对日志进行统一治理。日志服务的统一治理措施,使得开发人员无需在跟传统方式那样,登录到相应的服务器上,进行日志查询检索、尤其对于分布式的微服务架构更是提供便利。解决了开发人员阅读日志难的问题,加快了日志查询效率、及时精准的发现问题并解决。
可选地,还包括消息队列中间件,用于通过异步方式将普通日志数据输送到消息队列上,缓存普通日志数据。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种可链路追踪的日志服务方法,其特征在于,包括:
从业务服务程序中获取日志数据,所述日志数据包括普通日志数据和操作日志数据;
通过Lombok插件,对所述普通日志数据,规范日志输出格式,通过基于所述Lombok插件的MDC进行链路埋点,添加一次用户请求标识,并规范服务间协议,生成普通日志文件;
根据所述操作日志数据定制化生成操作日志文件;
所述普通日志文件和操作日志文件经过Filebeat分发给ELK服务,所述ELK服务包括Logstash、Elasticsearch、Kibana三个组件;
所述普通日志文件和操作日志文件交由所述Logstash过滤、解析,形成结构化数据,并转发到所述Elasticsearch;
所述Elasticsearch存储由所述Logstash转发的所述普通日志文件和操作日志文件,并建立索引;
所述Kibana展示由所述Elasticsearch存储的所述普通日志文件和操作日志文件。
2.根据权利要求1所述的一种可链路追踪的日志服务方法,其特征在于,还包括:
将所述普通日志数据通过异步方式输送到消息队列上,缓存所述普通日志数据。
3.根据权利要求1所述的一种可链路追踪的日志服务方法,其特征在于,所述根据操作日志数据定制化生成操作日志文件,具体包括:
通过Dubbo调用远程操作日志服务,所述操作日志服务采用C/S架构,包括操作日志服务客户端和操作日志服务端,所述操作日志服务客户端收集所述操作日志数据,并传输到所述操作日志服务端定制化生成操作日志文件。
4.根据权利要求3所述的一种可链路追踪的日志服务方法,其特征在于,所述操作日志服务客户端提供对操作日志服务端的访问适配,包括利用HTTP调用操作日志服务适配器、利用RPC远程服务调用适配器、利用MQ消息队列传输适配器。
5.根据权利要求1所述的一种可链路追踪的日志服务方法,其特征在于,所述普通日志文件和操作日志文件经过Filebeat分发给ELK服务,包括:
分模块读取宿主机的普通日志文件和操作日志文件,并使用Filebeat转发到所述Logstash。
6.根据权利要求1所述的一种可链路追踪的日志服务方法,其特征在于,所述普通日志文件和操作日志文件交由Logstash过滤、解析,形成结构化数据,并转发到Elasticsearch,包括:
所述普通日志文件和操作日志文件先通过Redis缓存,再交由Logstash过滤、解析,形成结构化数据,并转发到Elasticsearch。
7.根据权利要求1-6任一项所述的一种可链路追踪的日志服务方法,其特征在于,所述从应用程序获取日志数据,包括:
使用日志拦截器收集、获取日志数据,并通过Annotation注解标注具体需要生成的模块。
8.一种可链路追踪的日志服务系统,其特征在于,包括:
日志拦截器,用于从业务服务程序中获取日志数据,所述日志数据包括普通日志数据和操作日志数据,并分别传递给Lombok插件和操作日志服务模块;
所述Lombok插件,用于对所述普通日志数据,规范日志输出格式,通过基于所述Lombok插件的MDC进行链路埋点,添加一次用户请求标识,并规范服务间协议,生成普通日志文件;
所述操作日志服务子系统,用于根据所述操作日志数据定制化生成操作日志文件;
Filebeat,用于收集由所述Lombok插件和操作日志服务子系统生成的所述普通日志文件和操作日志文件,将其分发给ELK服务模块;
ELK服务模块,包括Logstash、Elasticsearch、Kibana;其中所述Logstash用于过滤和解析所述普通日志文件和操作日志文件,形成结构化数据,并转发到所述Elasticsearch;所述Elasticsearch存储由所述Logstash转发的所述普通日志文件和操作日志文件,并建立索引;所述Kibana展示由所述Elasticsearch存储的所述普通日志文件和操作日志文件。
9.根据权利要求8所述的一种可链路追踪的日志服务系统,其特征在于,还包括:
消息队列中间件,用于通过异步方式将所述普通日志数据输送到消息队列上,缓存所述普通日志数据。
10.根据权利要求8或9所述的一种可链路追踪的日志服务系统,其特征在于,所述操作日志服务子系统采用C/S架构,包括操作日志服务客户端和操作日志服务端,所述操作日志服务客户端收集所述操作日志数据,并传输到所述操作日志服务端定制化生成操作日志文件。
CN202011160309.9A 2020-10-27 2020-10-27 一种可链路追踪的日志服务方法及其系统 Pending CN112256530A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011160309.9A CN112256530A (zh) 2020-10-27 2020-10-27 一种可链路追踪的日志服务方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011160309.9A CN112256530A (zh) 2020-10-27 2020-10-27 一种可链路追踪的日志服务方法及其系统

Publications (1)

Publication Number Publication Date
CN112256530A true CN112256530A (zh) 2021-01-22

Family

ID=74262133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011160309.9A Pending CN112256530A (zh) 2020-10-27 2020-10-27 一种可链路追踪的日志服务方法及其系统

Country Status (1)

Country Link
CN (1) CN112256530A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073233A (zh) * 2020-09-01 2020-12-11 北京明朝万达科技股份有限公司 一种基于filebeats获取系统日志的运维方法及装置
CN113032220A (zh) * 2021-03-29 2021-06-25 中国南方电网有限责任公司 一种基于会话染色实现全链路性能安全追踪的方法
CN113098942A (zh) * 2021-03-25 2021-07-09 网易(杭州)网络有限公司 一种分布式系统的数据处理方法及装置
CN113221033A (zh) * 2021-04-24 2021-08-06 上海钢银科技发展有限公司 埋点采集、统计分析方法、系统、设备及存储介质
CN113918426A (zh) * 2021-12-09 2022-01-11 山东宁泓信息技术有限公司 一种实现Redis访问全链路跟踪的方法、系统及设备
CN115529306A (zh) * 2022-07-22 2022-12-27 四川启睿克科技有限公司 一种基于springboot的spark jar包远程提交方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100083232A1 (en) * 2008-09-30 2010-04-01 Ics Triplex Isagraf Inc. Application builder for industrial automation
CN105099740A (zh) * 2014-05-15 2015-11-25 中国移动通信集团浙江有限公司 一种日志管理系统及日志采集方法
CN106844495A (zh) * 2016-12-26 2017-06-13 北京五八信息技术有限公司 一种网站操作日志的获取方法及装置
CN107341096A (zh) * 2017-06-28 2017-11-10 百度在线网络技术(北京)有限公司 日志文件的生成方法和装置、计算机设备和存储介质
CN107977473A (zh) * 2017-12-28 2018-05-01 政采云有限公司 基于Logback的分布式系统日志的检索方法和系统
CN109033280A (zh) * 2018-07-11 2018-12-18 平安科技(深圳)有限公司 日志搜索方法、系统、计算机设备和存储介质
CN109460307A (zh) * 2018-10-15 2019-03-12 厦门商集网络科技有限责任公司 基于日志埋点的微服务调用跟踪方法及其系统
CN109492073A (zh) * 2018-10-31 2019-03-19 北京达佳互联信息技术有限公司 日志搜索方法、日志搜索装置和计算机可读存储介质
CN110750253A (zh) * 2019-10-28 2020-02-04 深圳前海环融联易信息科技服务有限公司 日志规范方法、装置、计算机设备及存储介质
CN110851396A (zh) * 2019-11-07 2020-02-28 北京集奥聚合科技有限公司 一种基于建模平台微服务架构统一日志设计方法
CN111125044A (zh) * 2019-12-17 2020-05-08 紫光云(南京)数字技术有限公司 一种elk日志监控的改进方法
CN111124839A (zh) * 2019-12-31 2020-05-08 中国银行股份有限公司 分布式日志数据监控方法及装置
CN111581054A (zh) * 2020-04-30 2020-08-25 重庆富民银行股份有限公司 一种基于elk的日志埋点的业务分析告警系统及方法
CN111752799A (zh) * 2020-06-24 2020-10-09 中国建设银行股份有限公司 一种业务链路跟踪方法、装置、设备及储存介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100083232A1 (en) * 2008-09-30 2010-04-01 Ics Triplex Isagraf Inc. Application builder for industrial automation
CN105099740A (zh) * 2014-05-15 2015-11-25 中国移动通信集团浙江有限公司 一种日志管理系统及日志采集方法
CN106844495A (zh) * 2016-12-26 2017-06-13 北京五八信息技术有限公司 一种网站操作日志的获取方法及装置
CN107341096A (zh) * 2017-06-28 2017-11-10 百度在线网络技术(北京)有限公司 日志文件的生成方法和装置、计算机设备和存储介质
CN107977473A (zh) * 2017-12-28 2018-05-01 政采云有限公司 基于Logback的分布式系统日志的检索方法和系统
CN109033280A (zh) * 2018-07-11 2018-12-18 平安科技(深圳)有限公司 日志搜索方法、系统、计算机设备和存储介质
CN109460307A (zh) * 2018-10-15 2019-03-12 厦门商集网络科技有限责任公司 基于日志埋点的微服务调用跟踪方法及其系统
CN109492073A (zh) * 2018-10-31 2019-03-19 北京达佳互联信息技术有限公司 日志搜索方法、日志搜索装置和计算机可读存储介质
CN110750253A (zh) * 2019-10-28 2020-02-04 深圳前海环融联易信息科技服务有限公司 日志规范方法、装置、计算机设备及存储介质
CN110851396A (zh) * 2019-11-07 2020-02-28 北京集奥聚合科技有限公司 一种基于建模平台微服务架构统一日志设计方法
CN111125044A (zh) * 2019-12-17 2020-05-08 紫光云(南京)数字技术有限公司 一种elk日志监控的改进方法
CN111124839A (zh) * 2019-12-31 2020-05-08 中国银行股份有限公司 分布式日志数据监控方法及装置
CN111581054A (zh) * 2020-04-30 2020-08-25 重庆富民银行股份有限公司 一种基于elk的日志埋点的业务分析告警系统及方法
CN111752799A (zh) * 2020-06-24 2020-10-09 中国建设银行股份有限公司 一种业务链路跟踪方法、装置、设备及储存介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073233A (zh) * 2020-09-01 2020-12-11 北京明朝万达科技股份有限公司 一种基于filebeats获取系统日志的运维方法及装置
CN113098942A (zh) * 2021-03-25 2021-07-09 网易(杭州)网络有限公司 一种分布式系统的数据处理方法及装置
CN113098942B (zh) * 2021-03-25 2022-07-12 网易(杭州)网络有限公司 一种分布式系统的数据处理方法及装置
CN113032220A (zh) * 2021-03-29 2021-06-25 中国南方电网有限责任公司 一种基于会话染色实现全链路性能安全追踪的方法
CN113032220B (zh) * 2021-03-29 2022-06-07 中国南方电网有限责任公司 一种基于会话染色实现全链路性能安全追踪的方法
CN113221033A (zh) * 2021-04-24 2021-08-06 上海钢银科技发展有限公司 埋点采集、统计分析方法、系统、设备及存储介质
CN113918426A (zh) * 2021-12-09 2022-01-11 山东宁泓信息技术有限公司 一种实现Redis访问全链路跟踪的方法、系统及设备
CN115529306A (zh) * 2022-07-22 2022-12-27 四川启睿克科技有限公司 一种基于springboot的spark jar包远程提交方法
CN115529306B (zh) * 2022-07-22 2024-05-17 四川启睿克科技有限公司 一种基于springboot的spark jar包远程提交方法

Similar Documents

Publication Publication Date Title
CN112256530A (zh) 一种可链路追踪的日志服务方法及其系统
CN110445643B (zh) 异步微服务调用链路跟踪方法、装置、介质及电子设备
Mayer et al. An approach to extract the architecture of microservice-based software systems
US8626908B2 (en) Distributed capture and aggregation of dynamic application usage information
CN103684898B (zh) 一种监测用户请求在分布式系统中运行的方法及装置
US20190163686A1 (en) Xbrl-based global data standardization platform system and construction method thereof
KR101365832B1 (ko) 데이터 액세스 계층 클래스 생성기
US8060863B2 (en) Conformance control module
US20050193043A1 (en) System and method for processing audit records
US8019791B2 (en) Method and system for transforming metadata modeled in the common information model into grid control target metadata
WO2012075442A1 (en) Systems, methods, and computer program products for processing insurance claims
CN111309550A (zh) 应用程序的数据采集方法、系统、设备和存储介质
CN106991015B (zh) 一种基于消息语义标注的医疗信息系统集成监控方法
CN111241050B (zh) 一种用于大数据平台的联动分析系统及方法
US20090063395A1 (en) Mapping log sets between different log analysis tools in a problem determination environment
US7660702B2 (en) Monitor for an information technology system
CN113067717A (zh) 网络请求日志链式跟踪方法、全链路调用监控系统和介质
CN110825641A (zh) 一种基于模拟数据生成器的微服务应用测试工具集
CN113553260B (zh) 测试方法、测试装置、设备和介质
KR101376226B1 (ko) 오픈 소스 통합 관리 방법 및 그 서버
US20070074164A1 (en) Systems and methods for information brokering in software management
CN114240241A (zh) 一种基于标识解析的工厂设备协同运维管理系统
CN110413496A (zh) 一种实现电子证照运行数据组件化收集的方法
CN112582036A (zh) 一种医疗数据交换平台
KR102668339B1 (ko) 인터페이스 관리 방법, 인터페이스 거버넌스 시스템, 및 인터페이스를 관리하는, 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210122