CN111147310A - 一种日志跟踪处理的方法、装置、服务器及介质 - Google Patents
一种日志跟踪处理的方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN111147310A CN111147310A CN201911409555.0A CN201911409555A CN111147310A CN 111147310 A CN111147310 A CN 111147310A CN 201911409555 A CN201911409555 A CN 201911409555A CN 111147310 A CN111147310 A CN 111147310A
- Authority
- CN
- China
- Prior art keywords
- node
- functional
- link
- functional node
- processing
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种日志跟踪处理的方法、装置、服务器及介质,涉及信息处理技术领域。本申请实施例的方案包括:在接收到业务请求后,监控用于处理业务请求的链路中的每个功能节点的处理结果,若链路中存在至少一个功能节点的处理结果满足预设采样规则,则对链路中的各功能节点处理业务请求产生的追踪日志进行采样,预设采样规则为:若功能节点的处理结果包括的指定参数不属于指定参数范围,则对功能节点所属链路中的各功能节点的追踪日志进行采样。采用该方法可以实现基于采集到的追踪日至更加准确地定位到发生错误的位置。
Description
技术领域
本发明涉及信息处理技术领域,特别是涉及一种日志跟踪处理的方法、装置、服务器及介质。
背景技术
目前,随着业务的不断发展,服务的复杂度在不断的提升,每种服务通常由多个内部服务组成,这些内部服务之间的拓扑关系错综复杂,而仅仅根据接口返回的错误信息一般无法准确定位到发生错误的位置。为了定位发生错误的位置,可以记录接口调用过程所经过的每一层,例如超文本传输协议(HyperText Transfer Protocol,HTTP)层、服务层等,记录方法为在接口调用过程经过的每一层的调用前和调用后生成追踪节点,通过追踪节点生成追踪日志,并将追踪日志保存到本地日志中。
然而随着服务请求量的增加,保存追踪日志的成本也在不断增加。为了解决该问题,现有的处理方式为对追踪日志进行采样,只保存采样的追踪日志,或者缩短追踪日志的存储时间。上述处理方式将导致当需要查询一段时间之前的追踪日志时,往往因为前期未对该追踪日志进行采样,或者该追踪日志因存储时间超过了存储有效期已被删除,使得无法查询到追踪日志,进而无法基于需要查询的追踪日志复现当时的服务请求。导致现有技术采集到的追踪日志不够全面,基于采集到的追踪日志无法准确定位到发生错误的位置。
发明内容
本发明实施例的目的在于提供一种日志跟踪处理的方法、装置、服务器及介质,以解决当日志量较大的时候,无法基于采集到的追踪日志准确定位到发生错误的位置的问题。具体技术方案如下:
第一方面,本申请实施例提供一种日志跟踪处理的方法,所述方法应用于服务器,所述方法包括:
在接收到业务请求后,监控用于处理所述业务请求的链路中的每个功能节点的处理结果;
若所述链路中存在至少一个功能节点的处理结果满足预设采样规则,则对所述链路中的各功能节点的追踪日志进行采样,所述预设采样规则为:若功能节点的处理结果包括的指定参数不属于指定参数范围,则对功能节点所属链路中的各功能节点的追踪日志进行采样。
在一种可能的实现方式中,所述监控用于处理所述业务请求的链路中的每个功能节点的处理结果,包括:
针对每个功能节点,当所述业务请求对应的线程到达所述功能节点时,若所述线程对应的本地线程变量中存在链路追踪标识,则生成所述功能节点对应的节点信息,所述节点信息包括:所述链路追踪标识、节点标识,所述功能节点执行的业务逻辑的名称,以及所述功能节点启动执行业务逻辑的启动时间戳;
若所述线程对应的本地线程变量中不存在链路追踪标识,则将所述功能节点作为链路的起始节点,生成链路追踪标识,并生成所述功能节点对应的节点信息;
当所述功能节点执行业务逻辑完毕时,将所述功能节点执行所述业务逻辑的结束时间戳添加至所述节点信息。
在一种可能的实现方式中,在所述监控用于处理所述业务请求的链路中的每个功能节点的处理结果之后,所述方法还包括:
针对每个功能节点,根据所述功能节点的起始时间戳和结束时间戳确定所述功能节点的处理时长;
若所述功能节点的处理时长大于预设时长,或者所述功能节点产生的执行日志的级别属于预设日志级别集合,则为所述功能节点设置采样标识;
所述若所述链路中存在至少一个功能节点的处理结果满足预设采样规则,则对所述链路中的各功能节点的追踪日志进行采样,包括:
若所述链路中存在至少一个功能节点具有采样标识,则对所述链路中的各功能节点的追踪日志进行采样。
在一种可能的实现方式中,所述链路中的其中一个功能节点为控制节点;在所述针对每个功能节点,根据所述功能节点的起始时间戳和结束时间戳确定所述功能节点的处理时长之后,所述方法还包括:
针对所述控制节点,当以下任意一个条件成立时,为所述控制节点设置采样标识:
所述控制节点的处理时长大于预设时长;
所述控制节点产生的执行日志的级别属于预设日志级别集合;
所述控制节点的返回值属于预设返回值集合。
第二方面,本申请实施例提供一种日志跟踪处理的装置,所述装置应用于服务器,所述装置包括:
监控模块,用于在接收到业务请求后,监控用于处理所述业务请求的链路中的每个功能节点的处理结果;
采样模块,用于若所述链路中存在至少一个功能节点的处理结果满足预设采样规则,则对所述链路中的各功能节点的追踪日志进行采样,所述预设采样规则为:若功能节点的处理结果包括的指定参数不属于指定参数范围,则对功能节点所属链路中的各功能节点的追踪日志进行采样。
在一种可能的实现方式中,所述监控模块,具体用于:
针对每个功能节点,当所述业务请求对应的线程到达所述功能节点时,若所述线程对应的本地线程变量中存在链路追踪标识,则生成所述功能节点对应的节点信息,所述节点信息包括:所述链路追踪标识、节点标识,所述功能节点执行的业务逻辑的名称,以及所述功能节点启动执行业务逻辑的启动时间戳;
若所述线程对应的本地线程变量中不存在链路追踪标识,则将所述功能节点作为链路的起始节点,生成链路追踪标识,并生成所述功能节点对应的节点信息;
当所述功能节点执行业务逻辑完毕时,将所述功能节点执行所述业务逻辑的结束时间戳添加至所述节点信息。
在一种可能的实现方式中,所述装置还包括确定模块和设置模块;
所述确定模块,用于针对每个功能节点,根据所述功能节点的起始时间戳和结束时间戳确定所述功能节点的处理时长;
所述设置模块,用于若所述功能节点的处理时长大于预设时长,或者所述功能节点产生的执行日志的级别属于预设日志级别集合,则为所述功能节点设置采样标识;
所述采样模块,具体用于若所述链路中存在至少一个功能节点具有采样标识,则对所述链路中的各功能节点的追踪日志进行采样。
在一种可能的实现方式中,所述链路中的其中一个功能节点为控制节点;所述设置模块,还用于:
针对所述控制节点,当以下任意一个条件成立时,为所述控制节点设置采样标识:
所述控制节点的处理时长大于预设时长;
所述控制节点产生的执行日志的级别属于预设日志级别集合;
所述控制节点的返回值属于预设返回值集合。
第三方面,本申请实施例提供一种服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法步骤。
第五方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
采用本申请实施例提供的日志处理的方法及装置,服务器在接收到业务请求后,监控用于处理业务请求的链路中的每个功能节点的处理结果,若该链路中存在至少一个功能节点的处理结果满足预设采样规则,则对该链路中的各功能节点处理该业务请求产生的追踪日志进行采样。本申请实施例中服务器根据功能节点的处理结果确定是否对追踪日志进行采样,由于处理结果可以反映功能节点处理过程是否存在问题,若功能节点的处理结果包括的指定参数不属于指定参数范围,则该功能节点的处理结果存在错误的可能性较大,所以基于处理结果采样到追踪日志后,后续根据采样到的追踪日志的定位到错误位置的概率较大。所以相比于现有技术,本申请实施例可以在不增加日志存储压力的前提下,更准确地基于采样到的追踪日志定位到发生错误的位置。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种日志追踪处理的方法的流程图;
图2为本申请实施例提供的另一种日志追踪处理的方法的流程图;
图3为本申请实施例提供的另一种日志追踪处理的方法的流程图;
图4为本申请实施例提供的另一种日志追踪处理的方法的流程图;
图5为本申请实施例提供的一种日志追踪处理的系统的结构示意图;
图6为本申请实施例提供的一种日志追踪处理的装置的结构示意图;
图7为本申请实施例提供的另一种日志追踪处理的装置的结构示意图;
图8为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明实施例提供了一种日志处理的方法,该方法应用于服务器,该方法包括如下步骤:
S101、在接收到业务请求后,监控用于处理业务请求的链路中的每个功能节点的处理结果。
S102、若链路中存在至少一个功能节点的处理结果满足预设采样规则,则对链路中的各功能节点处理业务请求产生的追踪日志进行采样。
其中,预设采样规则为:若功能节点的处理结果包括的指定参数不属于指定参数范围,则对功能节点所属链路中的各功能节点的追踪日志进行采样。
采用本申请实施例提供的日志处理的方法,服务器在接收到业务请求后,监控用于处理业务请求的链路中的每个功能节点的处理结果,若该链路中存在至少一个功能节点的处理结果满足预设采样规则,则对该链路中的各功能节点处理该业务请求产生的追踪日志进行采样。本申请实施例中服务器根据功能节点的处理结果确定是否对追踪日志进行采样,由于处理结果可以反映功能节点处理过程是否存在问题,若功能节点的处理结果包括的指定参数不属于指定参数范围,则该功能节点的处理结果存在错误的可能性较大,所以基于处理结果采样到追踪日志后,后续根据采样到的追踪日志的定位到错误位置的概率较大。所以相比于现有技术,本申请实施例可以在不增加日志存储压力的前提下,更准确地基于采样到的追踪日志定位到发生错误的位置。
针对上述S101,业务请求具体可以为URL请求。服务器接收到业务请求后,可以调用多种功能处理该业务请求,例如控制器(Controller)模块、服务(Service)模块、缓存(Cache)模块、第三方服务模块的功能,本申请实施例中将程序中用于处理该业务请求的各功能模块称为功能节点,这些功能节点组成的链路为用于处理该业务请求的链路。
在本申请实施例的一种实现方式中,如图2所示,上述S101、监控用于处理业务请求的链路中的每个功能节点的处理结果,具体可以执行为以下步骤:
S1011、针对每个功能节点,当业务请求对应的线程到达该功能节点时,若线程对应的本地线程变量中存在链路追踪标识,则生成该功能节点对应的节点信息。
其中,节点信息包括:链路追踪标识,节点标识,该功能节点执行的业务逻辑的名称,以及该功能节点启动执行业务逻辑的启动时间戳。可选地,节点信息还包括:该功能节点所占的资源实例。
上述链路追踪标识具体为TraceId,节点信息为Span信息,节点标识为Span ID,若本地线程(Threadlocal)变量中存在TraceId,则该功能节点对应的节点信息为child span信息。
可选地,链路追踪标识可以为依据服务器所属的网段信息和服务器的地址信息生成的通用唯一识别码(Universally Unique Identifier,UUID),例如,该链路追踪标识具体可以为由网段信息、服务器地址和随机数组合而成的32位的UUID。
服务器可从功能节点的UUID中截取8位作为节点标识。
即在已经具有链路追踪标识的情况下,服务器可以获取链路追踪标识,依据功能节点的UUID生成节点标识,并获取功能节点执行的业务逻辑的名称、功能节点启动执行业务逻辑的启动时间戳,进而将上述信息生成类文件,将该类文件作为节点信息。
本步骤可以通过面向切面编程(Aspect-Oriented Programming,AOP)技术实现,即可通过AOP在每个功能节点执行业务逻辑之前,获取该业务逻辑(也可称为功能节点执行的方法)的名称,以及功能节点执行该业务逻辑的启动时间戳。
S1012、若该线程对应的本地线程变量中不存在链路追踪标识,则将该功能节点作为链路的起始节点,生成链路追踪标识,并生成该功能节点对应的节点信息。
若该线程对应的本地线程变量中不存在链路追踪标识,说明该功能节点为服务器中用于接收上述业务请求的节点,即用于处理该业务请求的链路的起始节点。起始节点对应的节点信息为ParentSpan信息,ParentSpan信息中包括链路追踪标识、SpanId、业务逻辑的名称,该功能节点执行业务逻辑的启动时间戳。可选地,起始节点对应的节点信息还包括该起始节点所占用的资源实例。
S1013、当该功能节点执行业务逻辑完毕时,将该功能节点执业务逻辑的结束时间戳添加至节点信息。
在本步骤中,可采用AOP方法,在功能节点执行业务逻辑之后,获取该业务逻辑的结束时间戳。
可选地,在生成功能节点的节点信息后,可将该功能节点的节点信息写入本地线程变量。
基于图2所示的方法流程,如图3所示,在一种实施方式中,在上述S101、监控用于处理业务请求的链路中的每个功能节点的处理结果之后,该方法还包括以下步骤:
S301、针对链路中的每个功能节点,根据该功能节点的起始时间戳和结束时间戳确定该功能节点的处理时长。
其中,功能节点的处理时长为该功能节点执行业务逻辑的结束时间戳与起始时间戳之间的差值。
S302、针对链路中的每个功能节点,若该功能节点的处理时长大于预设时长,或者该功能节点产生的执行日志的日志级别属于预设日志级别集合,则为该功能节点设置采样标识。
可选地,功能节点的处理结果包括的指定参数可以为处理时长和日志级别。若处理时长大于预设时长,则确定功能节点的处理时长不属于指定参数范围,若日志级别不属于预设日志级别集合,也可确定功能节点的日志界别不属于指定参数范围。进而可确定该功能节点的处理结果满足预设采样规则,由于在链路中的各功能节点处理完毕后才能进行追踪日志的采样,所以先为该功能节点设置采样标识,以便于后续的采样。
其中,功能节点产生的执行日志的级别可以为系统级、应用级、用户级、自定义级等。
例如,产生系统级日志的功能节点的处理过程出现问题的可能较大,所以预设日志级别集合中可以包括系统级,即若该功能节点产生的执行日志的日志级别为系统级,则为该功能节点设置采样标识。
可选地,为该功能节点设置的采样标识具体可以为flag标识。
在此基础上,上述S102、若链路中存在至少一个功能节点的处理结果满足预设采样规则,则对链路中的各功能节点处理业务请求产生的追踪日志进行采样,具体可以执行为以下步骤:
S1021、若链路中存在至少一个功能节点具有采样标识,则对该链路中的各功能节点的追踪日志进行采样。
本申请实施例中的追踪日志为本地线程变量中存储的各功能节点的节点信息。
可以理解的是,在获取到每个功能节点的处理结果后,已对满足预设采样规则的功能节点设置采样标识,所以在本步骤中,若功能节点具有采样标识,则代表功能节点的处理结果满足预设采样规则,进而可对链路中的各功能节点的追踪日志进行采样。
采用该方法,若功能节点的处理时长较长,或者功能节点产生的执行日志的日志级别属于预设日志级别集合,则代表该功能节点处理过程中存在错误的可能性较大,所以对该功能节点设置采样标识,以便于对该功能节点所属链路的各功能节点处理业务请求产生的追踪日至进行采样,基于采样得到的追踪日至可以更加准确地定位到发生错误的位置。
基于图3所示的方法流程,如图4所示,在另一种实施方式中,上述S302可以替换为S401-S402。
S401、针对链路中除控制节点之外的每个功能节点,若该功能节点的处理时长大于预设时长,或者该功能节点产生的执行日志的日志级别属于预设日志级别集合,则为该功能节点设置采样标识。
S402、针对该链路中的控制节点,当以下任意一个条件成立时,为该控制节点设置采样标识:
控制节点的处理时长大于预设时长;
控制节点的产生的执行日志的界别属于预设日志级别集合;
控制节点的返回值属于预设返回值集合。
其中,链路中的其中一个功能节点为控制节点,在控制节点调用其他功能节点(例如cache节点、第三方服务节点)完成对业务请求的处理后,可确定自身的处理结果,该处理结果用返回值表示。
示例性地,若返回值为A00001,则代表该功能节点的处理结果为成功;若返回值为E00001,则代表该功能节点的处理结果为失败。
预设返回值集合中包括用于表示功能节点的处理结果为失败的返回值,例如包括E00001。
可以理解的是,若上述任意一个条件成立,则可确定控制节点的处理结果包括的指定参数不属于指定参数范围,由于链路中各功能节点处理完毕后才能进行追踪日志的采样,所以先为该功能节点设置采样标识,以便于后续的采样。
采用该方法,若控制节点返回值属于预设返回值集合,则为该控制节点设置采样标识,以便于后期对该控制节点所属的链路的追踪日志进行采样,从而准确高效地根据追踪日志定位到发生错误的位置。另外,上述条件可以自定义配置,例如预设时长、预设日志级别集合,以及预设返回值集合均可以实现自定义配置,使得业务方可以基于自身需求来配置规则,更好地满足业务方的需求。且由于本申请实施例能够实现对链路中的每个功能节点的追踪,从而实现了能够更加全面的对存在错误的链路的追踪日志进行采样,避免了采样不全面的问题。
如图5所示,本申请实施例还提供一种日志跟踪处理的方法的系统示意图,该系统中包括:请求方设备、业务机集群以及日志收集模块。
其中,请求方设备可以为终端或服务器等电子设备。
业务机集群中包括业务机,每个业务机的线程中可以包括多个功能模块,图5中示例性地示出了业务机A、业务机B、业务机C,以及业务机A中的控制节点、服务节点以及缓存节点。在实际应用中,集群中的业务机数量以及业务机包括的功能节点不限于此。
以下结合该系统对本申请实施例的方法进行说明,业务机集群可接收请求方设备发送的业务请求,接收到业务请求后,通过负载均衡策略,将该业务请求分发至业务机,本申请实施例中以将业务请求分发至业务机A为例。
业务机A的控制节点接收到业务请求后,可生成链路追踪标识,以及自身的节点信息,并执行用于处理该业务请求的业务逻辑。
在控制节点执行业务逻辑时,可调用缓存节点与服务节点的功能,在缓存节点被调用时,即线程到达该缓存节点,则生成该缓存节点的节点信息,然后该缓存节点执行业务逻辑,可在该缓存节点的节点信息中记录该缓存节点执行业务逻辑的起始时间戳与结束时间戳,若该缓存节点的处理时长大于预设时长,或者该缓存节点执行业务逻辑产生的执行日志属于预设日志级别集合,则为该缓存节点设置flag。
同样的,在服务节点被调用时,即线程到达该服务节点,则生成该服务节点的节点信息,然后该服务节点执行业务逻辑,可在该服务节点的节点信息中记录该服务节点执行业务逻辑的起始时间戳与结束时间戳,若该服务节点的处理时长大于预设时长,或者该服务节点执行业务逻辑产生的日志属于预设日志级别集合,则为该服务节点设置flag。
然后,控制节点可基于对服务节点与缓存节点的调用结果继续执行业务逻辑,执行结束后,可在控制节点的节点信息中记录控制节点执行业务逻辑的结束时间戳以及返回值。进而判断上文中描述的控制节点的采样条件是否成立,若上述条件中的任意一个成立,则为控制节点设置flag。
在上述过程中,控制节点、服务节点和业务节点执行业务逻辑过程中产生的执行日志均以被打印至日志收集模块。
在线程结束后,可判断各节点是否被设置flag,若至少一个节点被设置flag,则将该链路的追踪日志打印至日志收集模块,即上述控制节点、服务节点与缓存节点的追踪日志均被打印至日志收集模块。
反之,若上述控制节点、服务节点与缓存节点均未被设置flag,则无需打印该线程对应的追踪日志。
采用该方法可以针对性地对可能产生错误的线程中各功能节点的追踪日志进行采样,使得依据采样结果可以准确定位到发生错误的问题,且避免了存储大量的不存在错误的线程的追踪日志而浪费存储资源的问题。
基于相同的技术构思,本申请实施例还提供一种日志跟踪处理的装置,如图6所示,该装置应用于服务器,该装置包括:监控模块601和采样模块602。
监控模块601,用于在接收到业务请求后,监控用于处理业务请求的链路中的每个功能节点的处理结果;
采样模块602,用于若链路中存在至少一个功能节点的处理结果满足预设采样规则,则对链路中的各功能节点的追踪日志进行采样,预设采样规则为:若功能节点的处理结果包括的指定参数不属于指定参数范围,则对功能节点所属链路中的各功能节点的追踪日志进行采样。
可选地,监控模块601,具体用于:
针对每个功能节点,当业务请求对应的线程到达功能节点时,若线程对应的本地线程变量中存在链路追踪标识,则生成功能节点对应的节点信息,节点信息包括:链路追踪标识、节点标识,功能节点执行的业务逻辑的名称,以及功能节点启动执行业务逻辑的启动时间戳;
若线程对应的本地线程变量中不存在链路追踪标识,则将功能节点作为链路的起始节点,生成链路追踪标识,并生成功能节点对应的节点信息;
当功能节点执行业务逻辑完毕时,将功能节点执行业务逻辑的结束时间戳添加至节点信息。
可选地,如图7所示,该装置还包括:确定模块701和设置模块702;
确定模块701,用于针对每个功能节点,根据所述功能节点的起始时间戳和结束时间戳确定所述功能节点的处理时长;
设置模块702,用于若所述功能节点的处理时长大于预设时长,或者所述功能节点产生的执行日志的级别属于预设日志级别集合,则为所述功能节点设置采样标识;
采样模块602,具体用于若所述链路中存在至少一个功能节点具有采样标识,则对所述链路中的各功能节点的追踪日志进行采样。
可选地,链路中的其中一个功能节点为控制节点。
设置模块702,还用于:
针对所述控制节点,当以下任意一个条件成立时,为所述控制节点设置采样标识:
所述控制节点的处理时长大于预设时长;
所述控制节点产生的执行日志的级别属于预设日志级别集合;
所述控制节点的返回值属于预设返回值集合。
采用本申请实施例提供的日志处理的装置,在接收到业务请求后,监控用于处理业务请求的链路中的每个功能节点的处理结果,若该链路中存在至少一个功能节点的处理结果满足预设采样规则,则对该链路中的各功能节点处理该业务请求产生的追踪日志进行采样。本申请实施例中服务器根据功能节点的处理结果确定是否对追踪日志进行采样,由于处理结果可以反映功能节点处理过程是否存在问题,若功能节点的处理结果包括的指定参数不属于指定参数范围,则该功能节点的处理结果存在错误的可能性较大,所以基于处理结果采样到追踪日志后,后续根据采样到的追踪日志的定位到错误位置的概率较大。所以相比于现有技术,本申请实施例可以在不增加日志存储压力的前提下,更准确地基于采样到的追踪日志定位到发生错误的位置。
基于相同的技术构思,本申请实施例还提供了一种服务器,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现上述方法实施例中服务器执行的方法步骤。
上述服务器提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,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)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一日志跟踪处理的方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一日志跟踪处理的方法。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种日志跟踪处理的方法,其特征在于,所述方法应用于服务器,所述方法包括:
在接收到业务请求后,监控用于处理所述业务请求的链路中的每个功能节点的处理结果;
若所述链路中存在至少一个功能节点的处理结果满足预设采样规则,则对所述链路中的各功能节点的追踪日志进行采样,所述预设采样规则为:若功能节点的处理结果包括的指定参数不属于指定参数范围,则对功能节点所属链路中的各功能节点的追踪日志进行采样。
2.根据权利要求1所述的方法,其特征在于,所述监控用于处理所述业务请求的链路中的每个功能节点的处理结果,包括:
针对每个功能节点,当所述业务请求对应的线程到达所述功能节点时,若所述线程对应的本地线程变量中存在链路追踪标识,则生成所述功能节点对应的节点信息,所述节点信息包括:所述链路追踪标识、节点标识,所述功能节点执行的业务逻辑的名称,以及所述功能节点启动执行业务逻辑的启动时间戳;
若所述线程对应的本地线程变量中不存在链路追踪标识,则将所述功能节点作为链路的起始节点,生成链路追踪标识,并生成所述功能节点对应的节点信息;
当所述功能节点执行业务逻辑完毕时,将所述功能节点执行所述业务逻辑的结束时间戳添加至所述节点信息。
3.根据权利要求2所述的方法,其特征在于,在所述监控用于处理所述业务请求的链路中的每个功能节点的处理结果之后,所述方法还包括:
针对每个功能节点,根据所述功能节点的起始时间戳和结束时间戳确定所述功能节点的处理时长;
若所述功能节点的处理时长大于预设时长,或者所述功能节点产生的执行日志的级别属于预设日志级别集合,则为所述功能节点设置采样标识;
所述若所述链路中存在至少一个功能节点的处理结果满足预设采样规则,则对所述链路中的各功能节点的追踪日志进行采样,包括:
若所述链路中存在至少一个功能节点具有采样标识,则对所述链路中的各功能节点的追踪日志进行采样。
4.根据权利要求3所述的方法,其特征在于,所述链路中的其中一个功能节点为控制节点;在所述针对每个功能节点,根据所述功能节点的起始时间戳和结束时间戳确定所述功能节点的处理时长之后,所述方法还包括:
针对所述控制节点,当以下任意一个条件成立时,为所述控制节点设置采样标识:
所述控制节点的处理时长大于预设时长;
所述控制节点产生的执行日志的级别属于预设日志级别集合;
所述控制节点的返回值属于预设返回值集合。
5.一种日志跟踪处理的装置,其特征在于,所述装置应用于服务器,所述装置包括:
监控模块,用于在接收到业务请求后,监控用于处理所述业务请求的链路中的每个功能节点的处理结果;
采样模块,用于若所述链路中存在至少一个功能节点的处理结果满足预设采样规则,则对所述链路中的各功能节点的追踪日志进行采样,所述预设采样规则为:若功能节点的处理结果包括的指定参数不属于指定参数范围,则对功能节点所属链路中的各功能节点的追踪日志进行采样。
6.根据权利要求5所述的装置,其特征在于,所述监控模块,具体用于:
针对每个功能节点,当所述业务请求对应的线程到达所述功能节点时,若所述线程对应的本地线程变量中存在链路追踪标识,则生成所述功能节点对应的节点信息,所述节点信息包括:所述链路追踪标识、节点标识,所述功能节点执行的业务逻辑的名称,以及所述功能节点启动执行业务逻辑的启动时间戳;
若所述线程对应的本地线程变量中不存在链路追踪标识,则将所述功能节点作为链路的起始节点,生成链路追踪标识,并生成所述功能节点对应的节点信息;
当所述功能节点执行业务逻辑完毕时,将所述功能节点执行所述业务逻辑的结束时间戳添加至所述节点信息。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括确定模块和设置模块;
所述确定模块,用于针对每个功能节点,根据所述功能节点的起始时间戳和结束时间戳确定所述功能节点的处理时长;
所述设置模块,用于若所述功能节点的处理时长大于预设时长,或者所述功能节点产生的执行日志的级别属于预设日志级别集合,则为所述功能节点设置采样标识;
所述采样模块,具体用于若所述链路中存在至少一个功能节点具有采样标识,则对所述链路中的各功能节点的追踪日志进行采样。
8.根据权利要求7所述的装置,其特征在于,所述链路中的其中一个功能节点为控制节点;所述设置模块,还用于:
针对所述控制节点,当以下任意一个条件成立时,为所述控制节点设置采样标识:
所述控制节点的处理时长大于预设时长;
所述控制节点产生的执行日志的级别属于预设日志级别集合;
所述控制节点的返回值属于预设返回值集合。
9.一种服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911409555.0A CN111147310A (zh) | 2019-12-31 | 2019-12-31 | 一种日志跟踪处理的方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911409555.0A CN111147310A (zh) | 2019-12-31 | 2019-12-31 | 一种日志跟踪处理的方法、装置、服务器及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111147310A true CN111147310A (zh) | 2020-05-12 |
Family
ID=70522667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911409555.0A Pending CN111147310A (zh) | 2019-12-31 | 2019-12-31 | 一种日志跟踪处理的方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147310A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112558947A (zh) * | 2020-12-18 | 2021-03-26 | 京东数字科技控股股份有限公司 | 程序调用追踪方法、装置以及存储介质 |
CN112702191A (zh) * | 2020-12-11 | 2021-04-23 | 福建天晴在线互动科技有限公司 | 一种链路追踪方法及终端 |
CN113297549A (zh) * | 2021-06-16 | 2021-08-24 | 中国农业银行股份有限公司 | 一种权限控制方法、装置、设备和计算机可读存储介质 |
CN113746883A (zh) * | 2020-05-29 | 2021-12-03 | 华为技术有限公司 | 链路跟踪方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170163669A1 (en) * | 2015-12-08 | 2017-06-08 | Vmware, Inc. | Methods and systems to detect anomalies in computer system behavior based on log-file sampling |
CN110069354A (zh) * | 2019-04-15 | 2019-07-30 | 必成汇(成都)科技有限公司 | 微服务全链路跟踪方法及微服务架构 |
CN110502494A (zh) * | 2019-08-30 | 2019-11-26 | 北京思维造物信息科技股份有限公司 | 日志处理方法、装置、计算机设备及存储介质 |
-
2019
- 2019-12-31 CN CN201911409555.0A patent/CN111147310A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170163669A1 (en) * | 2015-12-08 | 2017-06-08 | Vmware, Inc. | Methods and systems to detect anomalies in computer system behavior based on log-file sampling |
CN110069354A (zh) * | 2019-04-15 | 2019-07-30 | 必成汇(成都)科技有限公司 | 微服务全链路跟踪方法及微服务架构 |
CN110502494A (zh) * | 2019-08-30 | 2019-11-26 | 北京思维造物信息科技股份有限公司 | 日志处理方法、装置、计算机设备及存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746883A (zh) * | 2020-05-29 | 2021-12-03 | 华为技术有限公司 | 链路跟踪方法及系统 |
CN113746883B (zh) * | 2020-05-29 | 2023-05-19 | 华为技术有限公司 | 链路跟踪方法及系统 |
CN112702191A (zh) * | 2020-12-11 | 2021-04-23 | 福建天晴在线互动科技有限公司 | 一种链路追踪方法及终端 |
CN112702191B (zh) * | 2020-12-11 | 2023-07-21 | 福建天晴在线互动科技有限公司 | 一种链路追踪方法及终端 |
CN112558947A (zh) * | 2020-12-18 | 2021-03-26 | 京东数字科技控股股份有限公司 | 程序调用追踪方法、装置以及存储介质 |
CN112558947B (zh) * | 2020-12-18 | 2024-04-05 | 京东科技控股股份有限公司 | 程序调用追踪方法、装置以及存储介质 |
CN113297549A (zh) * | 2021-06-16 | 2021-08-24 | 中国农业银行股份有限公司 | 一种权限控制方法、装置、设备和计算机可读存储介质 |
CN113297549B (zh) * | 2021-06-16 | 2024-03-05 | 中国农业银行股份有限公司 | 一种权限控制方法、装置、设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111147310A (zh) | 一种日志跟踪处理的方法、装置、服务器及介质 | |
WO2022016847A1 (zh) | 一种适用于云平台的自动化测试方法及装置 | |
CN110879781B (zh) | 程序调试方法、装置、电子设备及计算机可读存储介质 | |
CN110851290A (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN104219230B (zh) | 识别恶意网站的方法及装置 | |
CN109344066B (zh) | 一种浏览器页面的测试方法、系统及终端 | |
CN110932933B (zh) | 网络状况监测方法、计算设备及计算机存储介质 | |
CN111475376A (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
CN111522711A (zh) | 一种数据监控处理系统、方法、执行端、监控端及电子设备 | |
WO2015103967A1 (en) | Application categorization method, application categorization apparatus, and service server | |
CN107870989A (zh) | 网页生成方法及终端设备 | |
CN111782530A (zh) | 一种远程调试方法、装置、系统、电子设备及存储介质 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN113835921A (zh) | 接口服务异常的处理方法、装置、设备和存储介质 | |
CN110430070B (zh) | 一种服务状态分析方法、装置、服务器、数据分析设备及介质 | |
CN112653736B (zh) | 一种并行回源方法、装置及电子设备 | |
CN109246234B (zh) | 一种镜像文件下载方法、装置、电子设备及存储介质 | |
CN112866062B (zh) | 一种分布式压力测试系统、方法、装置、设备及存储介质 | |
CN114090623A (zh) | 一种缓存资源的创建方法、装置、电子设备及存储介质 | |
CN112468585B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN115729727A (zh) | 故障修复方法、装置、设备及介质 | |
CN110784364B (zh) | 一种数据监测方法、装置、存储介质及终端 | |
CN108390770B (zh) | 一种信息生成方法、装置及服务器 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN114090268A (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 |
Application publication date: 20200512 |
|
RJ01 | Rejection of invention patent application after publication |