CN112363897A - 一种全链路日志追踪方法、装置及存储介质 - Google Patents
一种全链路日志追踪方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112363897A CN112363897A CN202011215207.2A CN202011215207A CN112363897A CN 112363897 A CN112363897 A CN 112363897A CN 202011215207 A CN202011215207 A CN 202011215207A CN 112363897 A CN112363897 A CN 112363897A
- Authority
- CN
- China
- Prior art keywords
- log
- abnormal
- link
- node
- switch
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Abstract
本发明公开了一种全链路日志追踪方法、装置及存储介质,属于信息处理技术领域,该方法包括以下步骤:获取并识别链路中的运行节点返回的状态;若存在链路中至少一个节点状态异常,通过预置识别机制识别出异常状态的种类;根据异常状态的种类,设置追踪日志开关和异常日志开关至少之一;若存在追踪日志开关,异常日志开关至少之一为开启状态,启动打印链路日志。本发明至少具有以下有益效果:能够灵活的,及时动态的追踪系统运行中出现的问题,节约问题定位所消耗的系统资源。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种全链路日志追踪方法、装置及存储介质。
背景技术
随着信息处理中业务量的不断增加,业务也趋于更加复杂化,业务之间的交互关系错综复杂,因此,对故障的定位准确度和故障定位资源占用提出了新的要求。一种情况是,现场环境中出现的问题,在微服务众多的场景下,生产环境当前的日志不足以满足研发人员进行问题定位。
目前,对于问题定位开发人员常用的技术手段有两个,一个是对于能重现的问题,对于可以每次都重现的问题,开发人员会在测试环境进行模拟一次,然后以断点调试的方式进行排查,这种情况要保持线上的数据和测试环境的数据一致,才可以达到环境模拟的场景,准备数据和环境时间比较长,或者在系统上添加业务日志,然后放到线上去进行观察,这种情况需要修改代码,添加日志之后再部署到服务器,这个过程时间长,并且日志打印不一定完整,修改代码也可能会引起新问题出现,另一个是对于偶然出现的问题,该问题除了分析现有的日志,基本上没有任何办法,除非能够摸清楚故障出现的规律,但是这种偶然性问题出现的规律很难查找,在系统已经能够正常运行的情况下,如果打印全部链路的日志,则日志量巨大,占用系统资源过高,均已经不适用目前的引用。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种全链路日志追踪方法,能够灵活的,及时动态的追踪系统运行中出现的问题,节约问题定位所消耗的系统资源。
本发明还提出一种具有上述全链路日志追踪方法的全链路日志追踪装置。
本发明还提出一种具有上述全链路日志追踪方法的计算机可读存储介质。
根据本发明的第一方面实施例的全链路日志追踪方法,包括以下步骤:S100、获取并识别链路中的运行节点返回的状态;S200、若存在所述链路中至少一个所述节点状态异常,通过预置识别机制识别出异常状态的种类;S300、根据所述异常状态的种类,设置追踪日志开关和异常日志开关至少之一;S400、若存在所述追踪日志开关,所述异常日志开关至少之一为开启状态,启动打印所述链路日志。
根据本发明的一些实施例,步骤S200包括以下步骤:S201、获取并记录所述节点请求参数标识;S202、记录所述请求参数标识出现的次数;S203、若存在所述请求参数标识为请求状态,则设置所述异常日志开关为开启状态,并记录所述异常日志开关开启时间和开启次数;S204、若存在所述请求参数标识请求状态为大于1次,则设置所述异常日志开关与所述追踪日志开关为开启状态,并记录所述异常日志开关开启时间和开启次数;S205、若存在所述异常日志开关开启次数超过第一预设值,则保持所述异常日志开关为关闭状态,并记录所述请求参数标识与缓存数据;S206、若存在所述异常日志开关开启时间超过第二预设值,则保持所述异常日志开关为关闭状态,并记录所述请求参数标识与缓存数据。
根据本发明的一些实施例,所述第一预设值为5次,所述第二预设值为7天。
根据本发明的一些实施例,还包括以下步骤:当捕获到所述异常日志开关为开启状态时,打印所述链路下游全部节点日志信息;当捕获到所述追踪日志开关为开启状态时,打印所述链路全部节点日志信息。
根据本发明的一些实施例,所述链路日志为程序执行的各个节点的日志,包括:功能节点日志,包括与功能节点交互的cpu、内存、负载或输入输出口至少之一的硬件资源信息、参数、返回值与消耗时间,所述功能节点日志通过链路标识进行识别;数据库节点日志,包括结构化查询语句、所述结构化查询语句中的参数、执行所述结构化查询语句的结果与消耗时间;消息交互节点日志,包括消息结构、消息返回信息与消耗时间;微服务节点日志,包括请求参数、返回值与消耗时间;微服务接口节点日志,包括请求参数、返回值与消耗时间。
根据本发明的第二方面实施例的全链路日志追踪装置,包括以下模块:获取模块,用于获取并识别链路中的运行节点返回的状态;识别模块,用于判断所述链路中若存在至少一个所述节点状态异常,则通过预置识别机制识别出异常状态的种类;设置模块,用于根据所述异常状态的种类,设置追踪日志开关和异常日志开关至少之一;启动模块,用于判断若存在所述追踪日志开关,所述异常日志开关至少之一为开启状态,则启动打印所述链路日志。
根据本发明的一些实施例,所述识别模块包括以下单元:获取单元,用于获取并记录所述节点请求参数标识;记录单元,用于记录所述请求参数标识出现的次数;第一设置单元,若存在所述请求参数标识为1,则设置所述异常日志开关为开启状态,并记录所述异常日志开关开启时间和开启次数;第二设置单元,若存在所述请求参数标识出现大于1次,则设置所述异常日志开关与所述追踪日志开关为开启状态,并记录所述异常日志开关开启时间和开启次数;第一保持单元,若存在所述异常日志开关开启次数超过第一预设值,则保持所述异常日志开关为关闭状态,并记录所述请求参数标识与缓存数据;第二保持单元,若存在所述异常日志开关开启时间超过第二预设值,则保持所述异常日志开关为关闭状态,并记录所述请求参数标识与缓存数据。根据本发明的一些实施例,。
根据本发明的一些实施例,还包括以下模块:第一捕获模块,用于执行当捕获到所述异常日志开关为开启状态时,打印所述链路下游全部节点日志信息;第二捕获模块,用于执行当捕获到所述追踪日志开关为开启状态时,打印所述链路全部节点日志信息。
根据本发明的一些实施例,所述链路日志为程序执行的各个节点的日志,包括:功能节点日志,包括与所述功能节点交互的cpu、内存、负载或输入输出口至少之一的硬件资源信息、参数、返回值与消耗时间,所述功能节点日志通过链路标识进行识别;数据库节点日志,包括结构化查询语句、所述结构化查询语句中的参数、执行所述结构化查询语句的结果与消耗时间;消息交互节点日志,包括消息结构、消息返回信息与消耗时间;微服务节点日志,包括请求参数、返回值与消耗时间;微服务接口节点日志,包括请求参数、返回值与消耗时间。
根据本发明的第三方面实施例的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被一个或多个处理器执行时能够执行上述任一项所述的全链路日志追踪方法。
根据本发明实施例的全链路日志追踪方法,至少具有如下有益效果:能够灵活的,及时动态的追踪系统运行中出现的问题,节约问题定位所消耗的系统资源,能够通过预置识别机制识别出异常状态的种类,自动的,动态的判断出系统中的偶然故障和必然故障,并自动打印追踪日志供开发人员分析。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的方法的流程示意图;
图2为本发明实施例的预置识别机制的方法的流程示意图;
图3为本发明实施例的系统的模块示意框图;
图4为本发明实施例的识别模块的模块示意框图;
图5为本发明实施例的服务器结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明公开了一种能够动态的自动控制全链路日志的打印方法和装置,以及包括该方法的存储介质,包括通过获取和识别链路中的运行节点的返回状态,如果存在至少一个节点状态异常,则通过预置识别机制识别出异常状态的种类,设置追踪日志开关和异常日志开关至少之一,若存在追踪日志开关,异常日志开关至少之一为开启状态,启动打印链路日志。可以理解的是,通过预置识别机制,能够识别出异常的种类,从而控制链路日志以何种方式进行打印保存,其中,控制链路日志的打印方式主要是通过追踪日志开关和异常日志开关来实现的。因此通过此种方式完全能够解决现有技术中存在的故障定位不便利,故障追踪日志的记录不完整且打印全部链路耗费系统过多资源的问题。
通过本发明的技术方案,实现了能够灵活的,及时动态的追踪系统运行中出现的问题,节约问题定位所消耗的系统资源,并能够通过预置识别机制识别出异常状态的种类,自动的,动态的判断出系统中的偶然故障和必然故障,并自动打印追踪日志供开发人员分析。
参照图1,图1示出了本发明实施例的方法的流程示意图,包括以下步骤:S100、获取并识别链路中的运行节点返回的状态;S200、若存在链路中至少一个节点状态异常,通过预置识别机制识别出异常状态的种类;S300、根据异常状态的种类,设置追踪日志开关和异常日志开关至少之一;S400、若存在追踪日志开关,异常日志开关至少之一为开启状态,启动打印链路日志,可以理解的是,链路中的运行节点包括各种节点,基本的功能节点,数据库节点,微服务节点,接口类的节点等,而在监控链路中的任何一个节点或者几个节点出现异常,则通过预置的识别机制识别出该异常的种类,在一些实施例之中,该异常的种类可以是偶然出现的故障,不容易复现并定位,也可以是必然出现的故障,可以理解为主要流程出现的故障,只要运行到该流程则该故障必然出现,由于两种故障出现的机制和具体环境均有不同,因此对两种故障的故障日志记录过程也有区别,针对偶然性的故障,系统会自动开启异常日志开关,异常日志开关开启的机制为,自动打开和关闭,但识别当前请求链路中存在异常时进行自动打开,请求结束时自动关闭。当系统判断到异常日志开关为打开状态时,则开始记录下游链路的所有节点日志;针对必然出现的故障,在一些具体的实施例之中,可以由系统自动开启追踪日志开关,也可以通过管理员手动开启或者关闭,当系统判断到追踪日志开关为开启状态时,则开始打印全部链路的全部节点日志。
参照图2,图2示出了本发明实施例的预置识别机制的方法的流程示意图,包括以下步骤:
S201、获取并记录节点请求参数标识;
具体的,在已经存在链路节点的运行状态异常的情况下,异常节点的上游会捕获到该异常状态,并发出请求参数标识,以表明该节点的异常身份。
S202、记录请求参数标识出现的次数;
具体的,可以通过请求参数标识出现的次数判断该异常的类型。
S203、若存在请求参数标识为请求状态,则设置异常日志开关为开启状态,并记录异常日志开关开启时间和开启次数;
S204、若存在请求参数标识请求状态为大于1次,则设置异常日志开关与追踪日志开关为开启状态,并记录异常日志开关开启时间和开启次数,可以理解的是,当异常日志开关与追踪日志开关为开启状态是,则打印全部链路运行节点的日志;
S205、若存在异常日志开关开启次数超过第一预设值,则保持异常日志开关为关闭状态,并记录请求参数标识与缓存数据,该预设值可以根据实际情况灵活设定,在某些实施例之中,实际情况可以由故障的类型决定;
S206、若存在异常日志开关开启时间超过第二预设值,则保持异常日志开关为关闭状态,并记录请求参数标识与缓存数据,该预设值可以根据实际情况灵活设定。
在本发明的一些实施例之中,具体的,第一预设值为5次,第二预设值为7天。
在本发明的一些实施例之中,还包括以下步骤:当捕获到异常日志开关为开启状态时,打印链路下游全部节点日志信息;当捕获到追踪日志开关为开启状态时,打印链路全部节点日志信息。
在本发明的一些实施例之中,链路日志为程序执行的各个节点的日志,包括:功能节点日志,包括与功能节点交互的cpu、内存、负载或输入输出口至少之一的硬件资源信息、参数、返回值与消耗时间,功能节点日志通过链路标识进行识别;数据库节点日志,包括结构化查询语句、结构化查询语句中的参数、执行结构化查询语句的结果与消耗时间;消息交互节点日志,包括消息结构、消息返回信息与消耗时间;微服务节点日志,包括请求参数、返回值与消耗时间;微服务接口节点日志,包括请求参数、返回值与消耗时间。
参照图3,图3示出了本发明实施例的系统的模块示意框图,包括以下模块:
获取模块,用于获取并识别链路中的运行节点返回的状态;
识别模块,用于判断链路中若存在至少一个节点状态异常,则通过预置识别机制识别出异常状态的种类;
设置模块,用于根据异常状态的种类,设置追踪日志开关和异常日志开关至少之一;
启动模块,用于判断若存在追踪日志开关,异常日志开关至少之一为开启状态,则启动打印链路日志。
参照图4,图4示出了本发明实施例的识别模块的模块示意框图,识别模块包括以下单元:获取单元,用于获取并记录节点请求参数标识;记录单元,用于记录请求参数标识出现的次数;第一设置单元,若存在请求参数标识为请求状态,则设置异常日志开关为开启状态,并记录异常日志开关开启时间和开启次数;第二设置单元,若存在请求参数标识请求状态为大于1次,则设置异常日志开关与追踪日志开关为开启状态,并记录异常日志开关开启时间和开启次数;第一保持单元,若存在异常日志开关开启次数超过第一预设值,则保持异常日志开关为关闭状态,并记录请求参数标识与缓存数据;第二保持单元,若存在异常日志开关开启时间超过第二预设值,则保持异常日志开关为关闭状态,并记录请求参数标识与缓存数据。根据本发明的一些实施例,。
在本发明的一些实施例之中,还包括以下模块:第一捕获模块,用于执行当捕获到异常日志开关为开启状态时,打印链路下游全部节点日志信息;第二捕获模块,用于执行当捕获到追踪日志开关为开启状态时,打印链路全部节点日志信息。
在本发明的一些实施例之中,链路日志为程序执行的各个节点的日志,包括:功能节点日志,包括与功能节点交互的cpu、内存、负载或输入输出口至少之一的硬件资源信息、参数、返回值与消耗时间,功能节点日志通过链路标识进行识别;数据库节点日志,包括结构化查询语句、结构化查询语句中的参数、执行结构化查询语句的结果与消耗时间;消息交互节点日志,包括消息结构、消息返回信息与消耗时间;微服务节点日志,包括请求参数、返回值与消耗时间;微服务接口节点日志,包括请求参数、返回值与消耗时间。
参照图5,图5示出了本发明实施例的服务器结构示意图,在本发明的一些实施例之中,存在一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述方法实施例中服务器执行的方法步骤。
上述服务器提到的通信总线可以是外设部件互连标准(PeripheralComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Ind ustryStandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述服务器与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的全链路日志追踪的方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一项所述的全链路日志追踪的方法。
本发明一个具体的实施例,微服务器的全链路日志追踪,其中,所有微服务之间统一日志格式,在整个日志体系过程中,存在链路标识,链路标识除了包括一个唯一的uuId还包含了请求的http url地址,系统中所有的请求接口都从web服务网关进入,从入口处对每一个日志添加一个链路标识作为追踪标识来确认日志链路,同时透传“参数Id”,“链路标识”,“追踪日志的开关”,“异常日志链路开关”到各个微服务,当微服务程序的运行节点到识别到追踪日志开关或异常日志链路开关是打开状态,则打印链路日志。
本发明一个具体的实施例,追踪日志的开关是和http请求接口进行绑定,可自动或手动进行打开,关闭。手动打开:当管理员查看日志平台,发现必然出现的问题时,可以通过链路标识中的接口地址,在后台可视界面中修改接口地址的追踪日志开关进行强制开启和关闭。当识别当前请求链路中存在异常时,自动打开异常日志开关,请求结束时自动关闭异常日志开关。
本发明一个具体的实施例,微服务的每一个运行节点的返回值都是统一的,存在统一的成功状态、失败状态和业务错误状态,当下游节点运行时,遇见不可预知或者意外的异常时,异常会往上游节点抛送,被外层上游节点进行捕获,系统识别到上述节点运行异常时会自动打开异常日志开关进行日志打印。
本发明一个具体的实施例,当系统识别到运行程序节点异常时会自动缓存当前请求的“参数Id”同时会记录“参数Id”的出现次数,一次请求流程只记录一次。当出现多次请求异常时发现缓存的“参数Id”一样,则进行累加,当一次新的请求以同样的“参数Id”进行请求时,测试判断缓存中是否已经存在已经记录过的相同的“参数id”,若存在则直接打开异常日志开关打印全链路日志,同时进行计数,当超过6次以后则不在打开异常日志开关,同时回收此“参数Id”以及缓存的数据,如果超过5天,则回收此“参数Id”以及缓存的数据。
本发明能够自动动态判断偶然和必然出现的问题,并自动打印追踪日志,对于能重现的问题,通过接口的追踪日志开关,动态控制打印全链路日志,对于偶然出现的问题,遇到系统业务异常时,日志回溯,自动打印全链路日志。通过本发明的技术方案,实现了能够灵活的,及时动态的追踪系统运行中出现的问题,节约问题定位所消耗的系统资源,并能够通过预置识别机制识别出异常状态的种类,自动的,动态的判断出系统中的偶然故障和必然故障,并自动打印追踪日志供开发人员分析。
尽管本文描述了具体实施方案,但是本领域中的普通技术人员将认识到,许多其它修改或另选的实施方案同样处于本公开的范围内。例如,结合特定设备或组件描述的功能和/或处理能力中的任一项可以由任何其它设备或部件来执行。另外,虽然已根据本公开的实施方案描述了各种例示性具体实施和架构,但是本领域中的普通技术人员将认识到,对本文所述的例示性具体实施和架构的许多其它修改也处于本公开的范围内。
上文参考根据示例性实施方案所述的系统、方法、系统和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。
因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机系统或者专用硬件和计算机指令的组合来实现。
软件组件可以用各种编程语言中的任一种来编码。一种例示性编程语言可以为低级编程语言,诸如与特定硬件体系结构和/或操作系统平台相关联的汇编语言。包括汇编语言指令的软件组件可能需要在由硬件架构和/或平台执行之前由汇编程序转换为可执行的机器代码。另一种示例性编程语言可以为更高级的编程语言,其可以跨多种架构移植。包括更高级编程语言的软件组件在执行之前可能需要由解释器或编译器转换为中间表示。编程语言的其它示例包括但不限于宏语言、外壳或命令语言、作业控制语言、脚本语言、数据库查询或搜索语言、或报告编写语言。在一个或多个示例性实施方案中,包含上述编程语言示例中的一者的指令的软件组件可直接由操作系统或其它软件组件执行,而无需首先转换成另一种形式。
软件组件可存储为文件或其它数据存储构造。具有相似类型或相关功能的软件组件可一起存储在诸如特定的目录、文件夹或库中。软件组件可为静态的(例如,预设的或固定的)或动态的(例如,在执行时创建或修改的)。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (10)
1.一种全链路日志追踪方法,其特征在于,包括以下步骤:
S100、获取并识别链路中的运行节点返回的状态;
S200、若存在所述链路中至少一个所述节点状态异常,通过预置识别机制识别出异常状态的种类;
S300、根据所述异常状态的种类,设置追踪日志开关和异常日志开关至少之一;
S400、若存在所述追踪日志开关,所述异常日志开关至少之一为开启状态,启动打印所述链路日志。
2.根据权利要求1所述的全链路日志追踪方法,其特征在于,步骤S200包括以下步骤:
S201、获取并记录所述节点请求参数标识;
S202、记录所述请求参数标识出现的次数;
S203、若存在所述请求参数标识为请求状态,则设置所述异常日志开关为开启状态,并记录所述异常日志开关开启时间和开启次数;
S204、若存在所述请求参数标识请求状态为大于1次,则设置所述异常日志开关与所述追踪日志开关为开启状态,并记录所述异常日志开关开启时间和开启次数;
S205、若存在所述异常日志开关开启次数超过第一预设值,则保持所述异常日志开关为关闭状态,并记录所述请求参数标识与缓存数据;
S206、若存在所述异常日志开关开启时间超过第二预设值,则保持所述异常日志开关为关闭状态,并记录所述请求参数标识与缓存数据。
3.根据权利要求2所述的全链路日志追踪方法,其特征在于,所述第一预设值为5次,所述第二预设值为7天。
4.根据权利要求1所述的全链路日志追踪方法,其特征在于,还包括以下步骤:
当捕获到所述异常日志开关为开启状态时,打印所述链路下游全部节点日志信息;
当捕获到所述追踪日志开关为开启状态时,打印所述链路全部节点日志信息。
5.根据权利要求1所述的全链路日志追踪方法,其特征在于,所述链路日志为程序执行的各个节点的日志,包括:
功能节点日志,包括与功能节点交互的cpu、内存、负载或输入输出口至少之一的硬件资源信息、参数、返回值与消耗时间,所述功能节点日志通过链路标识进行识别;
数据库节点日志,包括结构化查询语句、所述结构化查询语句中的参数、执行所述结构化查询语句的结果与消耗时间;
消息交互节点日志,包括消息结构、消息返回信息与消耗时间;
微服务节点日志,包括请求参数、返回值与消耗时间;
微服务接口节点日志,包括请求参数、返回值与消耗时间。
6.一种全链路日志追踪装置,其特征在于,包括以下模块:
获取模块,用于获取并识别链路中的运行节点返回的状态;
识别模块,用于判断所述链路中若存在至少一个所述节点状态异常,则通过预置识别机制识别出异常状态的种类;
设置模块,用于根据所述异常状态的种类,设置追踪日志开关和异常日志开关至少之一;
启动模块,用于判断若存在所述追踪日志开关,所述异常日志开关至少之一为开启状态,则启动打印所述链路日志。
7.根据权利要求6所述的全链路日志追踪装置,其特征在于,所述识别模块包括以下单元:
获取单元,用于获取并记录所述节点请求参数标识;
记录单元,用于记录所述请求参数标识出现的次数;
第一设置单元,若存在所述请求参数标识为请求状态,则设置所述异常日志开关为开启状态,并记录所述异常日志开关开启时间和开启次数;
第二设置单元,若存在所述请求参数标识请求状态为大于1次,则设置所述异常日志开关与所述追踪日志开关为开启状态,并记录所述异常日志开关开启时间和开启次数;
第一保持单元,若存在所述异常日志开关开启次数超过第一预设值,则保持所述异常日志开关为关闭状态,并记录所述请求参数标识与缓存数据;
第二保持单元,若存在所述异常日志开关开启时间超过第二预设值,则保持所述异常日志开关为关闭状态,并记录所述请求参数标识与缓存数据。
8.根据权利要求6所述的全链路日志追踪装置,其特征在于,还包括以下模块:
第一捕获模块,用于执行当捕获到所述异常日志开关为开启状态时,打印所述链路下游全部节点日志信息;
第二捕获模块,用于执行当捕获到所述追踪日志开关为开启状态时,打印所述链路全部节点日志信息。
9.根据权利要求6所述的全链路日志追踪装置,其特征在于,所述链路日志为程序执行的各个节点的日志,包括:
功能节点日志,包括与所述功能节点交互的cpu、内存、负载或输入输出口至少之一的硬件资源信息、参数、返回值与消耗时间,所述功能节点日志通过链路标识进行识别;
数据库节点日志,包括结构化查询语句、所述结构化查询语句中的参数、执行所述结构化查询语句的结果与消耗时间;
消息交互节点日志,包括消息结构、消息返回信息与消耗时间;
微服务节点日志,包括请求参数、返回值与消耗时间;
微服务接口节点日志,包括请求参数、返回值与消耗时间。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5中任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011215207.2A CN112363897A (zh) | 2020-11-04 | 2020-11-04 | 一种全链路日志追踪方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011215207.2A CN112363897A (zh) | 2020-11-04 | 2020-11-04 | 一种全链路日志追踪方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112363897A true CN112363897A (zh) | 2021-02-12 |
Family
ID=74513567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011215207.2A Withdrawn CN112363897A (zh) | 2020-11-04 | 2020-11-04 | 一种全链路日志追踪方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112363897A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001952A (zh) * | 2022-05-25 | 2022-09-02 | 中移互联网有限公司 | 一种业务接口的故障定位方法及装置 |
-
2020
- 2020-11-04 CN CN202011215207.2A patent/CN112363897A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001952A (zh) * | 2022-05-25 | 2022-09-02 | 中移互联网有限公司 | 一种业务接口的故障定位方法及装置 |
CN115001952B (zh) * | 2022-05-25 | 2023-09-19 | 中移互联网有限公司 | 一种业务接口的故障定位方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100412802C (zh) | 有计划的计算机问题诊断和解决及其自动报告和更新 | |
CN111881014B (zh) | 一种系统测试方法、装置、存储介质及电子设备 | |
CN110650036A (zh) | 告警处理方法、装置及电子设备 | |
WO2022016847A1 (zh) | 一种适用于云平台的自动化测试方法及装置 | |
CN113726566B (zh) | 一种服务网关装置 | |
KR102141287B1 (ko) | Autosar 기반 차량 소프트웨어의 결함 테스트 방법 및 결함 테스트 시스템 | |
CN112257008B (zh) | 一种在线自定义流程运行系统、方法、介质和服务器 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN112363897A (zh) | 一种全链路日志追踪方法、装置及存储介质 | |
CN113704117A (zh) | 一种算法测试系统、方法及装置 | |
CN111767218B (zh) | 一种用于持续集成的自动化测试方法、设备及存储介质 | |
CN112650674A (zh) | 远程获取、调试网页日志的方法、计算机设备及存储介质 | |
CN114500249B (zh) | 一种根因定位方法和装置 | |
CN115269424A (zh) | 生产流量的自动回归测试方法、装置、设备及存储介质 | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN113656003A (zh) | 一种软件包管理方法及相关设备 | |
CN113434405A (zh) | 测试文件的确定方法及装置、存储介质及电子装置 | |
CN115529332B (zh) | 一种用于车机中控的云车机系统及远程访问方法 | |
CN115242874B (zh) | 应用开发阶段的网络请求代理优化方法、系统、设备及存储介质 | |
CN112286797B (zh) | 一种服务监控方法、装置、电子设备及存储介质 | |
CN114185555A (zh) | 一种服务器部署的方法、装置及电子设备 | |
CN115118781A (zh) | 业务状态的处理方法、装置、电子设备及存储介质 | |
CN115563014A (zh) | 链路接口梳理方法、装置、电子设备及存储介质 | |
CN116305145A (zh) | 一种用于安全管理的软件完整性校验及测试方法 | |
CN117349137A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210212 |