【技术实现步骤摘要】
一种日志生成方法、日志分析方法及装置
本专利技术涉及计算机技术,更具体地,涉及一种日志生成方法、日志分析方法及装置。
技术介绍
一个分布式的复杂系统中的逻辑处理过程常常会涉及到多台机器。以图1所示的和3台服务器相关的分布式请求服务过程为例,其涉及的服务器包括:前端服务器A,中间层服务器B,及后端服务器C。当用户发起一个请求时,请求首先到达前端服务器A,服务器A发送远程过程调用协议(RPC:RemoteProcedureCallProtocol)消息到服务器B;服务器B需要和后端的服务器C交互之后再返回响应给服务器A,最后由服务器A响应最初的用户请求。在分布式系统中,追踪一个逻辑处理过程是一个非常困难的事情,尤其当希望对这个处理过程从不同角度去分析时,比如从各个系统的角度,从触发这个逻辑处理的事件的角度,从发起这个逻辑处理的用户角度,从与这个逻辑处理相关联的对象角度等,在一个复杂的分布式系统里完成这些分析都是极具挑战的事情。相关技术的做法是在各个系统里独立输出日志,然后通过某个唯一的标识(ID)将这些日志贯穿起来。也就是说,现有的日志工具仅提供了单机日志能力,或者通过一个简单的ID来串联多机日志的能力。这样的做法可以达到根据这个ID来查询某个逻辑处理过程的所有日志,但却无法体现出逻辑处理过程是如何一步一步进行,如无法体现出系统之间调用的关系。对于一个系统内跨线程的逻辑处理过程,通过现有日志也很难串联起来。随着日志分析的需求多样化,对系统的逻辑处理过程也希望能通过多个角度来进行。因此需要日志工具能提供更加丰富的,多维度的逻辑处理过程的分析。
技术实现思路
有鉴于此 ...
【技术保护点】
1.一种日志生成方法,包括:在逻辑处理过程的处理节点执行以下处理:为该处理节点生成一个步标识;为该处理节点生成日志记录,在所述日志记录中记录上一步标识和该处理节点的步标识,所述上一步标识是上一处理节点的步标识;将该处理节点的步标识传递给下一处理节点。
【技术特征摘要】
1.一种日志生成方法,包括:在逻辑处理过程的处理节点执行以下处理:为该处理节点生成一个步标识;为该处理节点生成日志记录,在所述日志记录中记录上一步标识和该处理节点的步标识,所述上一步标识是上一处理节点的步标识;将该处理节点的步标识传递给下一处理节点。2.如权利要求1所述的方法,其特征在于:所述为该处理节点生成日志记录,还包括:如未获取到上一处理节点的步标识,在为该处理节点生成的日志记录中将一个默认在首个处理节点使用的上一步标识记录为上一步标识。3.如权利要求1所述的方法,其特征在于:所述为该处理节点生成日志记录,包括:在以下一种或多种事件发生时为该处理节点生成日志记录,且还在生成的日志记录中记录该处理节点的节点标识、相应事件的事件标识和事件发生时间:进入该处理节点;离开该处理节点;该处理节点执行内部处理;该处理节点发起调用;该处理节点收到调用返回。4.如权利要求3所述的方法,其特征在于:所述逻辑处理过程的处理节点包括系统和系统中的组件;所述为该处理节点生成日志记录,包括:如该处理节点为系统,在进入该系统和离开该系统的事件发生时为该处理节点生成日志记录;如该处理节点为组件,在进入该组件、离开该组件、该组件执行内部处理、该组件调用其他组件和该组件调用返回的事件发生时为该组件生成日志记录,且在生成的日志记录中记录该组件所在系统的系统标识。5.如权利要求3所述的方法,其特征在于:所述为该处理节点生成日志记录,包括:在该处理节点收到调用返回的事件发生时,在为该处理节点生成的日志记录中将被调用处理节点返回的该被调用处理节点的步标识记录为下一步标识。6.如权利要求3-5中任一所述的方法,其特征在于:所述为该处理节点生成日志记录,包括:在该处理节点增加拦截器,所述拦截器检测到所述一种或多种事件发生时,为该处理节点生成日志记录并输出,且在检测到进入该处理节点的事件时,还截取所述传递来的上一处理节点的步标识,并为该处理节点生成所述步标识。7.如权利要求1所述的方法,其特征在于:所述逻辑处理过程是对用户请求的服务过程;所述方法还包括:在所述服务过程的首个处理节点获取所述用户的用户标识,并为所述服务过程生成一个跟踪标识;所述服务过程的每个处理节点均将所述用户标识和跟踪标识传递到下一处理节点;所述为该处理节点生成日志记录,还包括:在生成的日志记录中记录所述用户标识和跟踪标识。8.如权利要求1-5、7中任一所述的方法,其特征在于:所述将该处理节点的步标识传递给下一处理节点,包括:采用以下方式将该处理节点的步标识传递给下一处理节点:该处理节点与下一处理节点属于不同系统时,将要传递的标识保存在HTTP头中传递给下一处理节点;或者该处理节点与下一处理节点属于同一系统时,将要传递的标识保存在日志变量中传递给下一处理节点。9.一种日志生成装置,其特征在于,包括在逻辑处理过程的处理节点设置的日志生成模块,所述日志生成模块包括:标识处理单元,设置为:获取上一处理节点的步标识,为本处理节点生成一个步标识并将本处理节点的步标识传递给下一处理节点;记录生成单元,设置为:为本处理节点生成日志记录,在所述日志记录中记录上一步标识和该处理节点的步标识,所述上一步标识为所述标识处理单元获取的上一处理节点的步标识。10.如权利要求9所述的装置,其特征在于:所述标识处理单元还设置为:在所述标识处理单元未获取到上一处理节点的步标识时,在为本处理节点生成的日志记录中将一个默认在首个处理节点使用的上一步标识作为要记录的上一步标识。11.如权利要求9所述的装置,其特征在于:所述记录生成单元为本处理节点生成日志记录,包括:在以下一种或多种事件发生时为本处理节点生成日志记录,且在生成的日志记录中记录本处理节点的节点标识、相应事件的事件标识和事件发生时间:进入该处理节点;离开该处理节点;该处理节点执行内部处理;该处理节点发起调用;该处理节点收到调用返回。12.如权利要求11所述的装置,其特征在于:所述逻辑处理过程的处理节点包括服务器中的系统和系统中的组件;所述记录生成单元为本处理节点生成日志记录,包括:如该处理节点为系统,在进入该系统和离开该系统的事件发生时为该处理节点生成日志记录;如该处理节点为组件,在进入该组件、离开该组件、该组件执行内部处理、该组件调用其他组件和该组件调用返回的事件发生时为该组件生成日志记录,且在生成的日志记录中记录该组件所在系统的系统标识。13.如权利要求11所述的装置,其特征在于:所述记录生成单元为本处理节点生成日志记录,包括:在该处理节点收到调用返回的事件发生时,在为该处理节点生成的日志记录...
【专利技术属性】
技术研发人员:祝顺民,尤宏伟,吕彪,踏星,飒立,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。