CN112711496A - 日志信息全链路追踪方法、装置、计算机设备和存储介质 - Google Patents

日志信息全链路追踪方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112711496A
CN112711496A CN202011638605.5A CN202011638605A CN112711496A CN 112711496 A CN112711496 A CN 112711496A CN 202011638605 A CN202011638605 A CN 202011638605A CN 112711496 A CN112711496 A CN 112711496A
Authority
CN
China
Prior art keywords
information
log information
link
log
enhanced
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
CN202011638605.5A
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.)
Advanced Institute of Information Technology AIIT of Peking University
Hangzhou Weiming Information Technology Co Ltd
Original Assignee
Advanced Institute of Information Technology AIIT of Peking University
Hangzhou Weiming Information 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 Advanced Institute of Information Technology AIIT of Peking University, Hangzhou Weiming Information Technology Co Ltd filed Critical Advanced Institute of Information Technology AIIT of Peking University
Priority to CN202011638605.5A priority Critical patent/CN112711496A/zh
Publication of CN112711496A publication Critical patent/CN112711496A/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Library & Information Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种日志信息全链路追踪方法、装置、计算机设备和存储介质,所述方法包括:对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;根据各个埋点信息中携带的对应的请求信息和对应的服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路,由于能够根据各个埋点信息中携带的对应的请求信息和服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路;由于能够根据各个链路组建全局链路,这样,就能够通过组建的全局链路精准地定位到服务调用链中具体哪一步出错,从而能够高效地锁定出现的异常问题。

Description

日志信息全链路追踪方法、装置、计算机设备和存储介质
技术领域
本发明涉及计算机技术领域,特别涉及日志信息全链路追踪方法、装置、计算机设备和存储介质。
背景技术
日志分析是解决系统故障、发现问题的主要手段。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常在微服务框架中,日志被分散的储存在不同的设备上。如果管理数十上百台服务器,还在使用依次登录每台机器的传统方法查阅日志,即繁琐又效率低下,为此,需要一种能够在多个不同的设备中高效的锁定异常问题的方法。
原生ELK是软件集合Elasticsearch、Logstash、Kibana的简称,由这三个软件及其相关组件可以打造大规模日志实时处理系统,实现了集中化的日志管理,它虽然解决了日志被分散在不同设备难以管理的问题,但原生的ELK中管理的日志信息是仍碎片零散的,只能根据报出异常的单条日志信息去判断对应服务的问题,可是在微服务框架中,一个异常可能是出至于众多微服务之间的相互调用链中的一环,仍然无法通过零碎的日志定位到服务调用链中具体哪一步出错,无法高效锁定异常问题。
发明内容
本申请实施例提供了一种日志信息全链路追踪方法、装置、计算机设备和存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本申请实施例提供了一种日志信息全链路追踪方法,所述方法包括:
分别对各个原始日志信息进行日志字段增强处理,得到对应的各个增强后的日志信息,各个增强后的日志信息携带有对应的各个埋点信息,各个埋点信息携带有对应的请求信息和对应的服务器信息;
对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;
根据各个埋点信息中携带的对应的请求信息和对应的服务器信息,在所述汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路。
在一种实施方式中,所述分别对各个原始日志信息进行日志字段增强处理包括:
获取与不同请求对应的各个原始日志信息;
通过日志增强工具与埋点标记工具,分别将与各个原始日志信息对应的埋点信息埋入所述原始日志信息中,所述埋点信息用于标识出响应于不同请求的不同服务器,以及用于标识出与当前服务器关联的上一服务器。
在一种实施方式中,所述埋点信息包括以下至少一项:用于与当前请求类型对应的链路标识信息、用于标识出响应于当前请求的当前服务器的名称信息、用于标识出与当前服务器关联的上一跨度标识信息。
在一种实施方式中,所述方法还包括:
若所述上一跨度标识信息为空,则当前服务器的链路节点为与当前请求对应的当前链路的起始节点。
在一种实施方式中,所述方法还包括:
若所述上一跨度标识信息为非空,则所述上一跨度标识信息用于标识出与当前服务器关联的上一个服务器的名称信息。
在一种实施方式中,所述对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息包括:
获取各个服务器对应的各个增强后的日志信息;
通过用于对日志文件进行收集处理的工具,对各个服务器对应的各个增强后的日志信息进行汇总,依次发送至预置的用于对消息处理限流的消息队列中,并通过用于对数据进行依次存储的工具,依次存储至能够进行关键词索引的数据库中。
在一种实施方式中,在所述依次得到基于不同请求的各个链路之后,所述方法还包括:
对各个链路进行可视化处理,得到基于不同请求的可视化全链路图。
第二方面,本申请实施例提供了一种日志信息全链路追踪装置,所述装置包括:
字段增强模块,用于分别对各个原始日志信息进行日志字段增强处理,得到对应的各个增强后的日志信息,各个增强后的日志信息携带有对应的各个埋点信息,各个埋点信息携带有对应的请求信息和对应的服务器信息;
汇总模块,用于对经由所述字段增强模块处理得到的各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;
链路追踪模块,用于根据所述字段增强模块得到的各个增强后的日志信息携带的各个埋点信息中携带的对应的请求信息和对应的服务器信息,在所述汇总模块汇总出的所述汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述的方法步骤。
第四方面,本申请实施例提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;根据各个埋点信息中携带的对应的请求信息和对应的服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路,因此,采用本申请实施例,由于能够根据各个埋点信息中携带的对应的请求信息和服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路;由于能够根据得到的各个链路组建全局链路,这样,就能够通过构建的全局链路精准地定位到服务调用链中具体哪一步出错,从而能够高效地锁定出现的异常问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本申请实施例提供的一种日志信息全链路追踪方法的流程示意图;
图2是本申请实施例具体应用场景下的一种日志信息全链路追踪方法的流程示意图;
图3是本申请实施例一具体应用场景下的不同服务之间进行调用链路的流程示意图;
图4是本申请实施例另一具体应用场景下的不同服务之间调用链路的流程示意图;
图5是本申请实施例提供的一种日志信息全链路追踪装置的结构示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
基于现有的日志跟踪方法,无法通过零碎的日志定位到服务调用链中具体哪一步出错,无法高效锁定异常问题,为此,本申请提供了一种日志信息全链路追踪方法、装置、计算机设备和存储介质,以解决上述相关技术问题中存在的问题。本申请提供的技术方案中,对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;根据各个埋点信息中携带的对应的请求信息和对应的服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路,因此,采用本申请实施例,由于能够根据各个埋点信息中携带的对应的请求信息和服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路;由于能够根据得到的各个链路组建全局链路,这样,就能够通过组建的全局链路精准地定位到服务调用链中具体哪一步出错,从而能够高效地锁定出现的异常问题,下面采用示例性的实施例进行详细说明。
下面将结合图1-图4,对本申请实施例提供的日志信息全链路追踪方法进行详细介绍。该日志信息全链路追踪方法可依赖于计算机程序实现,可运行于日志信息全链路追踪装置上。
如图1所示,是本申请实施例提供的一种日志信息全链路追踪方法的流程示意图,该日志信息全链路追踪方法应用于服务器上;如图1所示,本申请实施例的日志信息全链路追踪方法可以包括以下步骤:
S101,分别对各个原始日志信息进行日志字段增强处理,得到对应的各个增强后的日志信息,各个增强后的日志信息携带有对应的各个埋点信息,各个埋点信息携带有对应的请求信息和对应的服务器信息;
在本申请实施例中,埋点信息包括以下至少一项:
用于与当前请求类型对应的链路标识信息、用于标识出响应于当前请求的当前服务器的名称信息、用于标识出与当前服务器关联的上一跨度标识信息。
上述罗列了常见的埋点信息,还可以根据不同应用场景的需求,引入其它的埋点信息,在此不再赘述。
在一种可能的实现方式中,若上一跨度标识信息为空,则当前服务器的链路节点为与当前请求对应的当前链路的起始节点;这样,就可以根据判断上一跨度标识信息是否为空,精准地判断出当前服务器的链路节点为该链路的起始节点。
在一种可能的实现方式中,若上一跨度标识信息为非空,则上一跨度标识信息用于标识出与当前服务器关联的上一个服务器的名称信息;这样,就可以根据判断上一跨度标识信息是否为空,且在判断出上一跨度标识信息不为空时,通过上一跨度标识信息标识出与当前服务器关联的上一个服务器的名称信息。例如,当前服务器为B,其所在链路当前节点的上一个节点的上一跨度标识信息为服务器A,则说明:在当前链路节点服务器B节点的上一个链路节点为服务器A节点。
在一种可能的实现方式中,分别对各个原始日志信息进行日志字段增强处理包括以下步骤:
获取与不同请求对应的各个原始日志信息;
通过日志增强工具与埋点标记工具,分别将与各个原始日志信息对应的埋点信息埋入原始日志信息中,埋点信息用于标识出响应于不同请求的不同服务器,以及用于标识出与当前服务器关联的上一服务器。
S102,对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;
在本申请实施例中,可以通过ElasticSearch工具,得到能够进行关键词索引的汇总后的各个增强后的日志信息。
针对ElasticSearch工具做如下说明:
Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎。
在本申请实施例中,由于针对一个请求链路,具有唯一的请求链路标识,这样,通过上述Elasticsearch工具的索引功能,以及通过日志中的请求链路标识获取该请求的调用链,然后再根据跨度标识以及上一跨度标识将一条调用链的请求顺序进行正确排序。
在一种可能的实现方式中,对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息包括以下步骤:
获取各个服务器对应的各个增强后的日志信息;
通过用于对日志文件进行收集处理的工具,对各个服务器对应的各个增强后的日志信息进行汇总,依次发送至预置的用于对消息处理限流的消息队列中,并通过用于对数据进行依次存储的工具,依次存储至能够进行关键词索引的数据库中。
在本申请实施例中,对日志文件进行收集处理的工具为Filebeat工具。
针对Filebeat工具做如下说明:
Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或Logstash进行索引。
Filebeat的工作方式如下:启动Filebeat时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将聚集事件,并将聚集的数据发送到为Filebeat配置的输出。
在本申请实施例中,用于对数据进行依次存储的工具为:Logstash工具。
针对Logstash工具做如下说明:
Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到用户所选择的目的地。
Logstash是一个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进行转换及存储。
输入:采集各种样式、大小和来源的数据;
数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash支持各种输入选择,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web应用、数据存储以及各种AWS服务采集数据。
过滤器:实时解析和转换数据;
数据从源传输到存储库的过程中,Logstash过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式。
Logstash能够动态地转换和解析数据,不受格式或复杂度的影响:
利用Grok从非结构化数据中派生出结构;
从IP地址破译出地理坐标;
将PII数据匿名化,完全排除敏感字段;
整体处理不受数据源、格式或架构的影响。
输出:导出数据;
Logstash提供众多输出选择,将数据发送到指定的地方,并且能够灵活地解锁众多下游用例。
S103,根据各个埋点信息中携带的对应的请求信息和对应的服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路;由于能够根据得到的各个链路组建全局链路,这样,就能够通过组建的全局链路精准地定位到服务调用链中具体哪一步出错,从而能够高效地锁定出现的异常问题。
在一种可能的实现方式中,为了使得最终得到的全链路图更加直观,本申请实施例提供的一种日志信息全链路追踪方法还包括以下步骤:
对各个链路进行可视化处理,得到基于不同请求的可视化全链路图。
如下为一种具体应用场景下的日志信息全链路追踪方法的具体步骤:
步骤A1、对打出的日志信息进行字段增强。其主要是先为请求链路创建唯一链路标识,并且将每一个处理单元或应用服务也通过一个唯一跨度标识来标记,在程序打出日志时,同时将服务单元名称、唯一链路标识、当前跨度标识、上一跨度标识以及请求成功与否的字段信息一并输出在日志信息里。同时,在原先的打印日志功能上重新做一层支持对打印的日志埋点标记的封装,使打印的日志信息中包含有埋点信息。
步骤A2、将海量日志信息进行收集汇总。其主要是先通过Filebeat工具先将每台服务器中指定路径下的日志信息进行收集,并打入消息队列中,Logstash从消息队列中获取日志信息过滤不符合要求的日志信息并格式化处理,再将处理后的数据发送给ElasticSearch中,ElasticSearch将日志添加索引并存储。
步骤A3、将零碎的日志信息整理为日志链路。其主要是通过获取ElasticSearch中的日志信息,并根据日志信息中增强的唯一链路标识先分离出每一条无序的日志链路,再根据跨度标识以及上一跨度标识或者也可以是请求时间将无序的日志链路排序成各个服务之间调用顺序的日志链路,一旦出现异常问题,可以通过日志链路的每一个服务的业务数据,追踪定位发生异常的原因。同时,每一条日志链路还可以根据日志信息中的埋点标记进行分类查询,方便开发者对日志链路再进行分类管理与分析并精确定位到所需的日志信息,不仅如此,该部分还具备了日志清理功能,能够根据管理人员设置的过期时间定时对海量日志数据进行清理,同时也保证了日志链路的查询性能。
如图2所示,是本申请实施例具体应用场景下的一种日志信息全链路追踪方法的流程示意图;
如图2所示,
步骤B1:日志字段增强;
上述日志字段增强是通过日志增强与埋点工具实现的,具体如下所述:
通过日志增强可以在日志中标记更多的字段信息,使得打印的日志会出现服务进程名,链路标识,跨度标识,上一跨度标识,请求结果信息。通过埋点工具可以在各个应用中无侵入式埋点,每个开发人员可以对自己的日志输出进行埋点标识,方便在日志收集工具中查找自己部分的日志信息或对日志信息进行归类处理。
步骤B2:海量日志收集;
上述海量日志收集是通过日志收集工具实现的,具体如下所述:
在每台服务器中安装一个Filebeat,通过Filebeat去分别获取该服务器下多个路径下的日志文件,并将日志文件发送至日志收集集群中的消息队列中。其日志收集集群主要采用消息队列+Lostash+ElasticSearch的结构,通过消息队列缓存传递过程的日志信息,防止发送至日志处理集群日志数量过大导致数据的丢失,通过Lostash作为日志收集、过滤、转发的中间件,将消息队列中的日志信息统一收集、过滤,再转发给ElasticSearch,方便之后的日志检索与查询。
步骤B3:链路追踪;
在如图2所示的链路追踪可以为可视化日志链路追踪,这样,可视化日志链路更加直观。
可视化日志链路追踪的过程具体如下所述:
获取ElasticSearch的索引获取相应的日志数据,并且根据日志增强的链路标识、跨度标识、上一跨度标识字段信息整理出每一个操作请求的完整链路。一旦出现异常问题,可以通过可视化日志链路的每一个服务的业务数据,追踪定位发生异常的原因,不仅如此,开发人员还可以单独查询多条链路中某一跨度的信息对已经出现或可能出现的异常问题进行比对,以便于更具体的发现问题的根源,或者还能够根据负责不同模块的开发人员在各自打印的日志中埋下的特有标记对海量日志进行的分类使异常问题能够与开发人员进行更精确的关联,对异常问题的追溯带来了极大的便利。其中该部分还具备了日志清理功能,能够根据管理人员设置的过期时间定时对海量日志数据进行清理,同时也保证了日志链路的查询性能。
如图3所示,是本申请实施例一具体应用场景下的不同服务之间进行调用链路的流程示意图。
如图3所示,有一个请求链路为链路x,可以看出同一个请求的链路标识是相同的,故可以通过日志中的链路标识字段获取一个请求的调用链,然后再根据跨度标识以及上一跨度标识将一条调用链的请求顺序正确排序,比如,当前链路x,其中一个链路节点中上一跨度标识为null,即表示这个链路节点为链路的开头,接着寻找其他节点中上一跨度标识为跨度A的节点作为链路的下一个节点,依次查找排序,最终就可以得到如图2所示的链路的完整请求顺序:A->B->D->B->A。
如图4所示,是本申请实施例另一具体应用场景下的不同服务之间调用链路的流程示意图。
如图4所示,有一个请求链路为链路y,可以看出同一个请求的链路标识是相同的,故可以通过日志中的链路标识字段获取一个请求的调用链,然后再根据跨度标识以及上一跨度标识将一条调用链的请求顺序正确排序,比如,当前链路y,其中一个链路节点中上一跨度标识为null,即表示这个链路节点为链路的开头,接着寻找其他节点中上一跨度标识为跨度A的节点作为链路的下一个节点,依次查找排序,最终就可以得到如图2所示的链路的完整请求顺序:A->C->D->C->A。
正如图3和图4仅仅是示例,在不同应用场景中,可以针对不同请求的唯一链路标识,获取对应请求的调用链,然后再根据跨度标识以及上一跨度标识将一条调用链的请求顺序正确排序,这样,依次得到基于不同请求的各个链路。相对于现有技术对日志追踪得到的零星日志信息而言,本申请实施例提供的日志信息全链路追踪方法能够依次得到基于不同请求的各个链路;由于能够根据得到的各个链路组建全局链路,这样,就能够通过组建的全局链路精准地定位到服务调用链中具体哪一步出错,从而能够高效地锁定出现的异常问题。
在本申请实施例中,对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;根据各个埋点信息中携带的对应的请求信息和对应的服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路,因此,采用本申请实施例,由于能够根据各个埋点信息中携带的对应的请求信息和服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路;由于能够根据得到的各个链路组建全局链路,这样,就能够通过组建的全局链路精准地定位到服务调用链中具体哪一步出错,从而能够高效地锁定出现的异常问题。
此外,本申请实施例提供的日志信息全链路追踪方法,可以将碎片零散的日志信息根据埋入的链路信息整理生成服务间清晰的日志链路,还支持在各个应用系统中无侵入式埋点标记,便于管理员在海量的日志收集平台中精准定位到所需的日志信息,并且在日志的传输过程中加入消息队列进行缓存,防止发送至日志处理集群日志数量过大导致数据的丢失。
下述为本发明日志信息全链路追踪装置实施例,可以用于执行本发明基于日志信息全链路追踪方法实施例。对于本发明日志信息全链路追踪装置实施例中未披露的细节,请参照本发明日志信息全链路追踪方法实施例。
请参见图5,其示出了本发明一个示例性实施例提供的日志信息全链路追踪装置的结构示意图。该日志信息全链路追踪装置应用于服务器上。该日志信息全链路追踪装置包括字段增强模块501、汇总模块502和链路追踪模块503。
具体而言,字段增强模块501,用于分别对各个原始日志信息进行日志字段增强处理,得到对应的各个增强后的日志信息,各个增强后的日志信息携带有对应的各个埋点信息,各个埋点信息携带有对应的请求信息和对应的服务器信息;
汇总模块502,用于对经由字段增强模块501处理得到的各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;
链路追踪模块503,用于根据字段增强模块501得到的各个增强后的日志信息携带的各个埋点信息中携带的对应的请求信息和对应的服务器信息,在汇总模块502汇总出的汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路。
可选的,所述装置还包括:
第一获取模块(在图5中未示出),用于获取与不同请求对应的各个原始日志信息;
字段增强模块501具体用于:通过日志增强工具与埋点标记工具,分别将与各个原始日志信息对应的埋点信息埋入原始日志信息中,埋点信息用于标识出响应于不同请求的不同服务器,以及用于标识出与当前服务器关联的上一服务器。
可选的,埋点信息包括以下至少一项:用于与当前请求类型对应的链路标识信息、用于标识出响应于当前请求的当前服务器的名称信息、用于标识出与当前服务器关联的上一跨度标识信息。
可选的,若上一跨度标识信息为空,则当前服务器的链路节点为与当前请求对应的当前链路的起始节点。
可选的,若上一跨度标识信息为非空,则上一跨度标识信息用于标识出与当前服务器关联的上一个服务器的名称信息。
可选的,第二获取模块还用于:
获取各个服务器对应的各个增强后的日志信息;
汇总模块502具体用于:通过用于对日志文件进行收集处理的工具,对各个服务器对应的各个增强后的日志信息进行汇总,依次发送至预置的用于对消息处理限流的消息队列中,并通过用于对数据进行依次存储的工具,依次存储至能够进行关键词索引的数据库中。
可选的,所述装置还包括:
可视化处理模块(在图5中未示出),用于在链路追踪模块503依次得到基于不同请求的各个链路之后,对各个链路进行可视化处理,得到基于不同请求的可视化全链路图。
需要说明的是,上述实施例提供的日志信息全链路追踪装置在执行日志信息全链路追踪方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的日志信息全链路追踪装置与日志信息全链路追踪方法实施例属于同一构思,其体现实现过程详见日志信息全链路追踪方法实施例,这里不再赘述。
在本申请实施例中,汇总模块用于对经由字段增强模块处理得到的各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;以及链路追踪模块用于根据字段增强模块得到的各个增强后的日志信息携带的各个埋点信息中携带的对应的请求信息和对应的服务器信息,在汇总模块汇总出的汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路因此,采用本申请实施例,由于能够根据各个埋点信息中携带的对应的请求信息和服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路;由于能够根据得到的各个链路组建全局链路,这样,就能够通过组建的全局链路精准地定位到服务调用链中具体哪一步出错,从而能够高效地锁定出现的异常问题。
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:分别对各个原始日志信息进行日志字段增强处理,得到对应的各个增强后的日志信息,各个增强后的日志信息携带有对应的各个埋点信息,各个埋点信息携带有对应的请求信息和对应的服务器信息;对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;根据各个埋点信息中携带的对应的请求信息和对应的服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:分别对各个原始日志信息进行日志字段增强处理,得到对应的各个增强后的日志信息,各个增强后的日志信息携带有对应的各个埋点信息,各个埋点信息携带有对应的请求信息和对应的服务器信息;对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;根据各个埋点信息中携带的对应的请求信息和对应的服务器信息,在汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种日志信息全链路追踪方法,其特征在于,所述方法包括:
分别对各个原始日志信息进行日志字段增强处理,得到对应的各个增强后的日志信息,各个增强后的日志信息携带有对应的各个埋点信息,各个埋点信息携带有对应的请求信息和对应的服务器信息;
对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;
根据各个埋点信息中携带的对应的请求信息和对应的服务器信息,在所述汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路。
2.根据权利要求1所述的方法,其特征在于,所述分别对各个原始日志信息进行日志字段增强处理包括:
获取与不同请求对应的各个原始日志信息;
通过日志增强工具与埋点标记工具,分别将与各个原始日志信息对应的埋点信息埋入所述原始日志信息中,所述埋点信息用于标识出响应于不同请求的不同服务器,以及用于标识出与当前服务器关联的上一服务器。
3.根据权利要求2所述的方法,其特征在于,
所述埋点信息包括以下至少一项:
用于与当前请求类型对应的链路标识信息、用于标识出响应于当前请求的当前服务器的名称信息、用于标识出与当前服务器关联的上一跨度标识信息。
4.根据权利要求3所述的方法,其特征在于,
若所述上一跨度标识信息为空,则当前服务器的链路节点为与当前请求对应的当前链路的起始节点。
5.根据权利要求3所述的方法,其特征在于,
若所述上一跨度标识信息为非空,则所述上一跨度标识信息用于标识出与当前服务器关联的上一个服务器的名称信息。
6.根据权利要求1所述的方法,其特征在于,所述对各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息包括:
获取各个服务器对应的各个增强后的日志信息;
通过用于对日志文件进行收集处理的工具,对各个服务器对应的各个增强后的日志信息进行汇总,依次发送至预置的用于对消息处理限流的消息队列中,并通过用于对数据进行依次存储的工具,依次存储至能够进行关键词索引的数据库中。
7.根据权利要求1所述的方法,其特征在于,在所述依次得到基于不同请求的各个链路之后,所述方法还包括:
对各个链路进行可视化处理,得到基于不同请求的可视化全链路图。
8.一种日志信息全链路追踪装置,其特征在于,所述装置包括:
字段增强模块,用于分别对各个原始日志信息进行日志字段增强处理,得到对应的各个增强后的日志信息,各个增强后的日志信息携带有对应的各个埋点信息,各个埋点信息携带有对应的请求信息和对应的服务器信息;
汇总模块,用于对经由所述字段增强模块处理得到的各个增强后的日志信息进行日志收集汇总处理,得到能够进行关键词索引的汇总后的各个增强后的日志信息;
链路追踪模块,用于根据所述字段增强模块得到的各个增强后的日志信息携带的各个埋点信息中携带的对应的请求信息和对应的服务器信息,在所述汇总模块汇总出的所述汇总后的各个增强后的日志信息中进行链路追踪,依次得到基于不同请求的各个链路。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述授权处理方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述授权处理方法的步骤。
CN202011638605.5A 2020-12-31 2020-12-31 日志信息全链路追踪方法、装置、计算机设备和存储介质 Pending CN112711496A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011638605.5A CN112711496A (zh) 2020-12-31 2020-12-31 日志信息全链路追踪方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011638605.5A CN112711496A (zh) 2020-12-31 2020-12-31 日志信息全链路追踪方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN112711496A true CN112711496A (zh) 2021-04-27

Family

ID=75547991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011638605.5A Pending CN112711496A (zh) 2020-12-31 2020-12-31 日志信息全链路追踪方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112711496A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407511A (zh) * 2021-06-23 2021-09-17 中移(杭州)信息技术有限公司 日志聚合方法、设备及计算机程序产品
CN113792330A (zh) * 2021-08-13 2021-12-14 唯品会(广州)软件有限公司 一种敏感数据追踪方法和系统
CN114443337A (zh) * 2022-01-27 2022-05-06 苏州浪潮智能科技有限公司 一种基于js的日志分析方法、装置、电子设备和介质
CN114817968A (zh) * 2022-06-29 2022-07-29 深圳红途科技有限公司 无特征数据的路径追溯方法、装置、设备及存储介质
CN116431459A (zh) * 2023-06-12 2023-07-14 北京新里程叮铃科技有限公司 分布式日志链路跟踪数据处理方法及装置
CN117370284A (zh) * 2023-12-08 2024-01-09 和元达信息科技有限公司 一种日志错误数据追踪方法及系统
CN114443337B (zh) * 2022-01-27 2024-06-28 苏州浪潮智能科技有限公司 一种基于js的日志分析方法、装置、电子设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及系统
CN107330034A (zh) * 2017-06-26 2017-11-07 百度在线网络技术(北京)有限公司 一种日志分析方法和装置、计算机设备、存储介质
CN110069354A (zh) * 2019-04-15 2019-07-30 必成汇(成都)科技有限公司 微服务全链路跟踪方法及微服务架构
CN111752799A (zh) * 2020-06-24 2020-10-09 中国建设银行股份有限公司 一种业务链路跟踪方法、装置、设备及储存介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及系统
CN107330034A (zh) * 2017-06-26 2017-11-07 百度在线网络技术(北京)有限公司 一种日志分析方法和装置、计算机设备、存储介质
CN110069354A (zh) * 2019-04-15 2019-07-30 必成汇(成都)科技有限公司 微服务全链路跟踪方法及微服务架构
CN111752799A (zh) * 2020-06-24 2020-10-09 中国建设银行股份有限公司 一种业务链路跟踪方法、装置、设备及储存介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407511A (zh) * 2021-06-23 2021-09-17 中移(杭州)信息技术有限公司 日志聚合方法、设备及计算机程序产品
CN113792330A (zh) * 2021-08-13 2021-12-14 唯品会(广州)软件有限公司 一种敏感数据追踪方法和系统
CN113792330B (zh) * 2021-08-13 2024-05-03 唯品会(广州)软件有限公司 一种敏感数据追踪方法和系统
CN114443337A (zh) * 2022-01-27 2022-05-06 苏州浪潮智能科技有限公司 一种基于js的日志分析方法、装置、电子设备和介质
CN114443337B (zh) * 2022-01-27 2024-06-28 苏州浪潮智能科技有限公司 一种基于js的日志分析方法、装置、电子设备和介质
CN114817968A (zh) * 2022-06-29 2022-07-29 深圳红途科技有限公司 无特征数据的路径追溯方法、装置、设备及存储介质
CN116431459A (zh) * 2023-06-12 2023-07-14 北京新里程叮铃科技有限公司 分布式日志链路跟踪数据处理方法及装置
CN116431459B (zh) * 2023-06-12 2023-08-18 北京新里程叮铃科技有限公司 分布式日志链路跟踪数据处理方法及装置
CN117370284A (zh) * 2023-12-08 2024-01-09 和元达信息科技有限公司 一种日志错误数据追踪方法及系统
CN117370284B (zh) * 2023-12-08 2024-03-15 和元达信息科技有限公司 一种日志错误数据追踪方法及系统

Similar Documents

Publication Publication Date Title
CN112711496A (zh) 日志信息全链路追踪方法、装置、计算机设备和存储介质
US11928144B2 (en) Clustering of log messages
CN112612675B (zh) 微服务架构下的分布式大数据日志链路跟踪方法及系统
CN109947746B (zh) 一种基于etl流程的数据质量管控方法和系统
CN108521339B (zh) 一种基于集群日志的反馈式节点故障处理方法及系统
US8504733B1 (en) Subtree for an aggregation system
EP2683117B1 (en) A method and system for network transaction monitoring using transaction flow signatures
CN109359094B (zh) 一种分布式系统日志全链路追踪方法及装置
CN107977473B (zh) 基于Logback的分布式系统日志的检索方法和系统
CN111563130A (zh) 一种基于区块链技术的数据可信数据治理方法和系统
CN110489317B (zh) 基于工作流的云系统任务运行故障诊断方法与系统
CN112181931A (zh) 一种大数据系统链路追踪方法及电子设备
US20230040635A1 (en) Graph-based impact analysis of misconfigured or compromised cloud resources
CN113704077B (zh) 测试用例生成方法及装置
CN112579578A (zh) 基于元数据的数据质量管理方法、装置、系统及服务器
CN110674231A (zh) 一种面向数据湖的用户id集成方法和系统
CN113704790A (zh) 一种异常日志信息汇总方法及计算机设备
CN112600719A (zh) 告警聚类方法、装置及存储介质
CN115827380A (zh) 云平台监控方法及云平台监控系统
CN110825725B (zh) 基于双螺旋管理的数据质量校验方法及系统
CN114092246A (zh) 金融交易链路的问题定位方法及装置
US11914495B1 (en) Evaluating machine and process performance in distributed system
CN112579552A (zh) 日志存储及调用方法、装置及系统
CN116841831A (zh) 一种基于综合巡检的容错处理方法和装置
CN105843941A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210427