CN112506872B - 异常信息生成方法、装置以及电子设备 - Google Patents

异常信息生成方法、装置以及电子设备 Download PDF

Info

Publication number
CN112506872B
CN112506872B CN202011503242.4A CN202011503242A CN112506872B CN 112506872 B CN112506872 B CN 112506872B CN 202011503242 A CN202011503242 A CN 202011503242A CN 112506872 B CN112506872 B CN 112506872B
Authority
CN
China
Prior art keywords
module
information
interface
abnormal
tag
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.)
Active
Application number
CN202011503242.4A
Other languages
English (en)
Other versions
CN112506872A (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202011503242.4A priority Critical patent/CN112506872B/zh
Publication of CN112506872A publication Critical patent/CN112506872A/zh
Application granted granted Critical
Publication of CN112506872B publication Critical patent/CN112506872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及一种异常信息生成方法、装置以及电子设备,涉及数据处理技术领域。具体实现方案为:获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在获取所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识;在第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息。根据异常信息可获知指定接口的稳定性是否下降,并通过对异常信息进行分析,迅速定位引起稳定性下降的主要原因,辅助用户快速对故障进行处理。

Description

异常信息生成方法、装置以及电子设备
技术领域
本公开涉及计算机技术中的数据处理领域。具体地,涉及一种异常信息生成方法、装置以及电子设备。
背景技术
在互联网行业中,分布式部署的微服务应用十分广泛,用户的一次访问,服务提供方从接收请求到返回响应数据,往往会涉及到数十个不同的服务模块,而这些服务模块可能由不同的业务团队,使用不同的编程语言来实现,部署的机器也可能有成百上千。当请求发生异常导致系统稳定性下降时,能够快速梳理清楚本次请求中各个服务之间的依赖关系,定位请求异常是由哪个服务模块引起,对迅速排除故障,保障业务的稳定性有着重要的作用。
发明内容
本公开提供了一种异常信息生成方法、装置以及电子设备。
根据本公开的第一方面,提供了一种异常信息生成方法,由电子设备执行,包括:
获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在接收所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识;
在所述第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息。
根据本公开的第二方面,提供了一种异常信息生成装置,由电子设备执行,包括:
第一调用模块,用于获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在接收所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识;
生成模块,用于在所述第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面任一项所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面任一项所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面任一项所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的异常信息生成方法的一流程图;
图2是本公开实施例提供的异常信息生成方法的另一流程图;
图3是本公开实施例提供的异常信息生成方法的又一流程图;
图4是本公开实施例提供的模块调用拓扑图;
图5是本公开实施例提供的异常信息生成装置的结构图;
图6是用来实现本公开实施例的异常信息生成方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
参见图1,图1是本公开实施例提供的异常信息生成方法的流程图,如图1所示,本实施例提供一种异常信息生成方法,由电子设备执行,包括以下步骤:
步骤101、获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在获取所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识。
调用第一模块的可以为电子设备上的其他模块,也可以是其他电子设备上的模块。第一调用请求携带第一标签信息,具体的,第一标签信息可携带在第一调用请求的头信息中,随第一调用请求传递到第一模块,第一模块在接收到第一调用请求后,获取第一标签信息,并对第一标签信息进行解析,获取第一标签信息中的模块标识和接口标识。
上述中,至少一个模块的模块标识和接口标识,可理解为,在调用第一模块之前被调用的一个模块或多个模块的模块标识,以及该一个模块或多个模块中被调用的接口的接口标识。
步骤102、在第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息。
第一模块的第一接口可能在运行的过程中发生异常,例如,请求超时、远程过程调用异常、缓存访问错误、数据库访问错误、业务逻辑异常等等。在发生异常的情况下,基于第一标签信息,生成异常信息,异常信息中可包括第一标签信息的模块标识和接口标识,进一步的,异常信息还可以包括请求超时、远程过程调用异常、缓存访问错误、数据库访问错误、业务逻辑异常中的至少一种。
用户可根据异常信息获知该异常可能会对第一模块的上游模块中哪些模块和接口产生影响,造成第一模块的上游模块中哪些模块和接口的稳定性下降。例如,统计预设时间段内,指定接口(即指定接口可预先配置在模块集中,具体参见图2所示实施例中的描述,指定接口可以理解为需要被关注的接口,第一标签信息包括指定接口所属的模块的模块标识和所述接口的接口标识)发生异常的次数(包括指定接口本身发生异常的次数,以及指定接口所属模块的下游模块发生异常的次数)占指定接口被调用次数的占比,若比例过高,例如大于2%(具体阈值可根据实际情况进行确定,在此不做限定),则认为指定接口的稳定性下降。进一步的,可在指定接口稳定性下降时,对异常信息进行分析,迅速定位引起稳定性下降的主要原因。
本实施例中,获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在获取所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识;在第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息。根据异常信息可获知指定接口的稳定性是否下降,并通过对异常信息进行分析,迅速定位引起稳定性下降的主要原因,辅助用户(即软件开发人员或者值班人员)快速对故障进行处理。
参见图2,图2是本公开实施例提供的异常信息生成方法的流程图,如图2所示,本实施例提供一种异常信息生成方法,由电子设备执行,包括以下步骤:
步骤201、获取调用电子设备的第一模块的第一调用请求,并根据第一调用请求调用第一模块,第一调用请求包括第一标签信息,第一标签信息包括在获取第一调用请求之前被调用的至少一个模块的模块标识和接口标识。
调用第一模块的可以为电子设备上的其他模块,也可以是其他电子设备上的模块。第一调用请求携带第一标签信息,具体的,第一标签信息可携带在第一调用请求的头信息中,随第一调用请求传递到第一模块,第一模块在接收到第一调用请求后,获取第一标签信息,并对第一标签信息进行解析,获取第一标签信息中的模块标识和接口标识。
上述中,至少一个模块的模块标识和接口标识,可理解为,在调用第一模块之前被调用的一个模块或多个模块的模块标识,以及该一个模块或多个模块中被调用的接口的标识(即接口标识)。
步骤202、若第一模块的第一接口未发生异常,且模块集包括第一模块,且第一模块的第一接口属于模块集包括的接口,则在第一模块调用第二模块的第二调用请求中添加第二标签信息,其中,至少一个模块为预先定义的模块集中在调用第一模块之前被调用的至少一个模块,第二标签信息包括第一标签信息、第一模块的标识以及第一接口的接口标识。
上述中,模块集可包括一个或多个模块,且对于每个模块来说,模块集还包括该模块中的一个或多个接口,模块集可预先由人工进行配置,例如,将感兴趣的、需要关注的模块以及模块中的接口添加到模块集中。若第一模块的第一接口在运行过程中未出现异常,例如,在使用第二调用请求调用第二模块之前未出现异常,且第一模块和第一接口都包括在模块集中,则在第一模块调用第二模块的第二调用请求中添加第二标签信息。
第二标签信息除了包括第一标签信息之外,还包括第一模块的标识和第一接口的接口标识,第二标签信息可携带在第二调用请求的头信息中,随第二调用请求传递到第二模块,第二模块在接收到第二调用请求后,获取第二标签信息,并对第二标签信息进行解析,可获取第二标签信息中的模块标识和接口标识。
第一模块的标识可以为第一模块的名称,第一接口的接口标识也可以为第一接口的名称,在此不做限定。需要指出的是,模块可以包括一个或多个接口,每个模块包括的接口的名称可以相同也可以不相同,但是每个模块中的多个接口具有不同的名称,每个模块的名称不相同。
进一步的,第一标签信息还可以包括调用第一模块的模块所在的层级与第一标签信息包括的模块所在层级的层级差,或者,调用第一模块的模块在请求调用链中的层级。例如,第一标签信息中包括模块A,模块A所在的层级为0层(即第一层),模块B所在的层级为1层(即第二层),模块A调用模块B,模块B调用第一模块,则第一标签信息包括的层级为1;第一模块在接收到第一调用请求后,获取第一标签信息,并对第一标签信息进行解析,获取第一标签信息中的模块A的模块标识、接口标识和对应的层级1,则第二标签信息包括模块A的模块标识,接口标识和对应的层级2(即将第一标签中的层级加1)。
第一标签信息可以包括多组标签信息,每组标签信息为模块集中一个在第一模块之前被调用的模块的标识(即模块标识),该模块中的一个接口的接口标识以及该模块对应的层级。
本实施例中,在第一模块的第一接口未发生异常的情况下,在第一模块调用第二模块的第二调用请求中添加第一标签信息、第一模块的标识以及第一接口的接口标识,将第二调用请求传递到第二模块,使得在第二模块中的接口发生异常的情况下,可根据第二标签信息生成异常信息,便于用户根据异常信息获知指定接口的稳定性是否下降,并通过对异常信息进行分析,迅速定位引起稳定性下降的主要原因,辅助用户快速对故障进行处理。
进一步的,在步骤201、获取调用电子设备的第一模块的第一调用请求,并根据第一调用请求调用第一模块之后,上述方法还包括:
若第一模块的第一接口未发生异常,且模块集未包括第一模块或者第一模块的第一接口不属于模块集包括的接口,则在第一模块调用第二模块的第二调用请求中添加第一标签信息。
具体的,若模块集未包括第一模块或者第一模块的第一接口不属于模块集包括的接口,表明第一模块中的第一接口并不是需要被关注的接口,不需要在调用第二模块的第二调用请求中添加第一模块的模块标识和第二接口的接口标识,只需将第一标签信息添加在第二调用请求中即可,使得在第二模块中的接口发生异常的情况下,可根据第一标签信息生成异常信息,便于用户根据异常信息获知指定接口的稳定性是否下降,并通过对异常信息进行分析,迅速定位引起稳定性下降的主要原因,辅助用户快速对故障进行处理。
进一步的,若第一标签信息还包括层级,则将进行层级加1处理。例如,第一标签信息中包括模块A,模块A所在的层级为0层(即第一层),模块B所在的层级为1层(即第二层),模块A调用模块B,模块B调用第一模块,则第一标签信息中模块A对应的层级为1;第一模块调用第二模块,将第一标签信息添加在第二调用请求中之前,将第一标签信息的层级修改为2,然后将修改后的第一标签信息添加在第二调用请求的头信息中。根据标签信息(例如第一标签信息,或者第二标签信息)中模块对应的层级可获得该模块与当前被调用的模块之间在调用层级上的关系,可辅助查找发生异常的原因,辅助用户快速对故障进行处理。
参见图3,图3是本公开实施例提供的异常信息生成方法的流程图,如图3所示,本实施例提供一种异常信息生成方法,由电子设备执行,包括以下步骤:
步骤301、获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在获取所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识。
步骤301与步骤101描述一致,具体可参见步骤101中的记载,在此不做赘述。
步骤302、若所述第一模块的所述第一接口发生异常,则获取第一异常信息,所述第一异常信息包括请求超时、远程过程调用异常、缓存访问错误、数据库访问错误、业务逻辑异常中的至少一种。
第一模块的第一接口可能在运行的过程中发生异常,例如,请求超时、远程过程调用异常、缓存访问错误、数据库访问错误、业务逻辑异常等等。第一异常信息可包括请求超时、远程过程调用异常、缓存访问错误、数据库访问错误、业务逻辑异常中的至少一种。第一异常信息还可包括发生异常的服务模块的标识和接口的标识,例如,若第一模块的第一方法在运行过程中发生异常,则第一异常信息还包括第一模块的模块标识和第一方法的方法标识。第一异常信息还可包括发生异常的第一方法所在电子设备的IP地址,以及发生异常的第一方法所在电子设备所处的机房、异常发生的时间,以及异常发生的累积次数。
步骤303、根据所述第一异常信息,生成第一异常标签以及与所述第一异常标签对应的第一异常描述信息。
为便于后续查询,根据第一异常信息,生成第一异常标签以及对于的第一异常描述信息。生成的第一异常标签和第一异常描述信息如下举例所示:
Exception_type(即异常类型):timeout(即异常信息的类型,这里表示本次异常是请求超时异常);
Service(即发生异常的服务模块):user(即发生异常的服务模块的模块名称);
Method(即发生异常的接口):getUserInfo(即发生异常的接口的接口名称);
Idc(即发生异常的服务所处的机房名称):XX;
Instance(即发生异常的服务所处的电子设备的IP地址):127.0.0.1。
步骤304、根据所述第一标签信息,生成第二异常标签以及与所述第二异常标签对应的第二异常描述信息,所述异常信息包括所述第一异常标签、所述第一异常描述信息、所述第二异常标签以及所述第二异常描述信息。
同样的,也需要基于第一标签信息生成第二异常标签以及与所述第二异常标签对应的第二异常描述信息,生成的第二异常标签和第二异常描述信息如下举例所示:
Trace_from_server(即发生异常请求的源头服务):post(即发生异常请求的源头服务模块的模块名称);
Trace_from_method(即发生异常请求的源头接口):getPost(即发生异常请求的源头接口的接口名称);
Trace_from_level(即发生异常的服务在请求调用链中的层级):2。
获取的异常信息可记载在日志中。上述步骤302-步骤304为步骤102的一种具体实现方式。
上述中,若所述第一模块的所述第一接口发生异常的情况下,根据获取的第一异常信息和第一标签信息,生成第一异常标签以及与第一异常标签对应的第一异常描述信息、第二异常标签以及与第二异常标签对应的第二异常描述信息,这样,将异常信息中的各类信息统一数据表现形式,可便于后续基于查询语句对异常标签或者异常描述信息进行筛选,以对异常信息进行分析,迅速定位引起稳定性下降的主要原因。
步骤305、获取筛选语句。
步骤306、根据所述筛选语句,对所述异常信息中的所述第一异常标签和所述第二异常标签进行筛选,获得与所述筛选语句相匹配的第一筛选结果,并根据所述第一筛选结果,确定发生异常的原因;
或者,根据所述筛选语句,对所述异常信息中的所述第一异常描述信息和所述第二异常描述信息进行筛选,获得与所述筛选语句相匹配的第二筛选结果,并根据所述第二筛选结果,确定发生异常的原因。
上述中,筛选语句可为用户(即异常排查人员)输入的查询语句,例如,若异常信息包括:
Exception_type(即异常类型):timeout(即异常信息的类型,这里表示本次异常是请求超时异常);
Service(即发生异常的服务模块):user(即发生异常的服务模块的模块名称);
Method(即发生异常的接口):getUserInfo(即发生异常的接口的接口名称);
Idc(即发生异常的服务所处的机房名称):XX;
Instance(即发生异常的服务所处的电子设备的IP地址):127.0.0.1;
Trace_from_server(即发生异常请求的源头服务):post(即发生异常请求的源头服务模块的模块名称);
Trace_from_method(即发生异常请求的源头接口):getPost(即发生异常请求的源头接口的接口名称);
Trace_from_level(即发生异常的服务在请求调用链中的层级):2。
若查询语句为模块,则对异常信息中的异常标签按照模块进行筛选,获得Trace_from_server:post的筛选结果,即第一筛选结果。
若查询语句为异常类型的名称“timeout”,则对异常信息中包括“timeout”的异常描述信息进行筛选,获得Exception_type:timeout的筛选结果,即第二筛选结果。
对于指定的接口,稳定性的定义为单位时间内接口正常返回的请求数与接口整体请求数的比值,即单位时间内的接口稳定性可以表示如下:
稳定性=(请求总数-请求异常数)/请求总数*100%
基于第一筛选结果或第二筛选结果,对异常信息进行分析,例如,统计在预设时间段内,例如5秒内,异常信息中记录的接口“getPost”发生的异常数(即请求异常数),并根据接口“getPost”的请求总数来确定接口“getPost”的稳定性。
本实施例中,通过筛选语句,对所述异常信息进行筛选,便于基于筛选结果,获知指定接口的稳定性是否下降,并通过对异常信息进行分析,迅速定位引起稳定性下降的主要原因,辅助用户快速定位故障进行止损处理,减少了通过人工扫描日志分析的耗时成本,提高了问题的处理效率,减少了系统的故障时间,使系统更加健壮。
以下对本公开提供的异常信息生成方法进行举例说明。为了简化说明,假设一次浏览请求需要访问四个服务模块的不同接口,存在图4所示的调用拓扑图,其中,模块A1(即post模块)包括getPost接口;模块B1(即forum模块)包括getForumInfo接口;模块B2(即perm模块)包括getPerm接口;模块C1(即user模块)包括getUserInfo接口。
当用户浏览帖子时,直接访问post模块的getPost接口,getPost接口再访问其他服务获取所需要的数据最终生成帖子内容返回给用户。对于getPost接口来说,本次访问会生成两条调用链:
getPost->getPerm(即getPost接口访问getPerm接口);
getPost->getForumInfo->getUserInfo(即getPost接口访问getForumInfo接口,getForumInfo接口访问getUserInfo接口);
两条调用链涉及四个不同的服务模块:post模块,perm模块,forum模块,user模块,每个服务模块都部署在上百个不同的实例上,任何一个服务的实例出现问题都有可能会导致系统的稳定性下降。
当用户访问需要关注的接口时,为本次请求生成三个标签信息:
Trace_from_server:请求的发起服务模块;
Trace_from_method:请求的发起方法(即接口);
Trace_from_level:请求的调用层级;
当调用其他服务模块的接口时,标签信息会压缩在请求(即调用请求)的头信息中,随请求传递到其他的服务模块。接收到标签信息的服务模块会解包标签内容,并将Trace_from_level的值加1,生成新的标签信息,逐级下传。
例如,当用户访问getPost接口时,会在post服务内生成如下标签信息:
Trace_from_server:post
Trace_from_method:getPost
Trace_from_level:0
当getPost接口继续访问其他服务模块时,perm模块(也可称为perm服务模块)和forum模块(也可称为forum服务模块)都是getPost直接访问的下一级服务模块,因此在perm模块和forum模块内会生成相同的标签信息:
Trace_from_server:post
Trace_from_method:getPost
Trace_from_level:1
forum服务模块继续访问user模块(也可称为forum服务模块),在user模块处会生成如下标签信息:
Trace_from_server:post
Trace_from_method:getPost
Trace_from_level:2
进一步的,如果在一次请求中,需要关注的接口不止一个,则会对应的生成多套标签信息,并以后缀进行区分,假设在图4所示的浏览请求中,getPost和getFroumInfo都是需要关注的核心接口,那么在user服务模块处会生成两套标签信息:
Trace_from_server_0:post
Trace_from_method_0:getPost
Trace_from_level_0:2
Trace_from_server_1:forum
Trace_from_method_1:getFromInfo
Trace_from_level_1:1
标签信息的后缀表明了标签所属的服务模块在本次请求中的调用层级,这样,当某个服务模块发生异常时,我们很容易就可以通过请求携带的标签信息反推出该服务模块的异常会影响到上游的哪些服务模块和接口。如上所示,当user模块发生问题导致请求getUserInfo接口失败时,通过标签信息可以获知,本次失败会同时导致post模块的getPost接口和forum模块的getForumInfo接口稳定性下降。
对于指定接口的一次访问,发生访问异常的原因有很多,包括但不限于请求超时、RPC调用异常、缓存访问错误、数据库访问错误、业务逻辑异常等。
在接口访问异常时生成对应的第一异常信息,根据发生异常原因的不同对第一异常信息标记不同的标签,同时统计异常发生的次数并记录下来,方便后续对异常信息进行汇聚排查稳定性问题。
若需要关注post服务模块的getPost接口的稳定性,当请求user服务模块的getUserInfo接口发生超时异常导致请求失败时,生成的异常信息所拥有的标签及含义如下:
Exception_type:timeout,异常信息的类型,这里表示本次异常是请求超时异常;
Service:user,发生异常的服务模块;
Method:getUserInfo,发生异常的接口方法;
Idc:bj,发生异常的服务所处的机房;
Instance:127.0.0.1,发生异常的服务所处的实例ip;
Trace_from_server:post,发生异常请求的的源头服务模块;
Trace_from_method:getPost,发生异常请求的源头接口;
Trace_from_level:2,发生异常服务在请求调用链中的层级。
为了能够分析指定时间内发生的异常信息,需要记录异常发生的时间,可以采用Prometheus开源代码库,将异常信息封装为Prometheus中计数类型的counter metric,利用Prometheus组件来记录时间戳信息以及异常计数。当然,使用Prometheus组件来统计是一种可行的方案,本领域技术人员应该理解,可以根据实际情况选择其他方式进行统计,比如说将异常发生的时间戳也作为标签标记在异常信息中,然后将异常信息打印到日志中,通过指定不同的标签来筛选并统计对应时间内的异常日志条数,计算异常请求发生的次数。
当监控发现指定接口的稳定性下降时,需要对上一步中所统计的异常信息进行分析,迅速定位引起稳定性下降的主要原因。
以图4所示访问流程为例,假设最近1s内有1000次用户请求访问getPost接口(即调用getPost接口),请求失败100次,则这1s内getPost接口的接口稳定性为99%。假设这100次失败的请求中有10次失败是由于perm服务模块超时引起,90次请求失败是由于user服务模块中IP地址为127.0.0.1的实例发生故障引起的超时导致,那么可以认为在这1s内getPost接口稳定性下降的主因是user服务模块的单机故障导致。
使用Prometheus监控组件和Grafana可视化工具来实现异常信息的汇聚展示,无需人工分析日志,自动将引起稳定性下降的各项异常信息展示出来,由于在异常信息的统计步骤中已经为所有的异常请求生成了异常信息并标记了对应的标签,后续可使用Prometheus的PromQL语句筛选出不同的异常信息进行分组,并按照异常信息发生的次数进行排序,就可以直观的得到引起稳定性异常的主要原因。
比如,对于本次假设的稳定性下降情况,可以指定筛选条件为标签Trace_from_server等于post,Trace_from_method等于getPost,时间范围为最近1秒,使用Prometheus进行查询,即可以得到最近一秒内,所有和访问getPost接口有关的异常信息及异常信息个数,
进一步的,可按照异常类型对查询到的异常信息进行分类,不同的异常类型再进一步按照不同的标签进行汇聚分析。例如,对于本次稳定性下降经过上述步骤我们已经筛选出来perm服务模块有10次超时异常,user服务模块有90次超时异常,在此基础上对user服务模块的异常信息进一步按照Instance标签进行聚合,可以得到90次请求超时中有80次发生在Instance标签为127.0.0.1的实例上,那么可以获知,本次getPost服务模块的稳定下降是由于user服务模块的127.0.0.1这个实例的故障导致。
上述中的方法包括请求信息传递、异常信息统计和异常信息汇聚。其中,请求信息传递(即标签信息携带在调用请求中进行传递)目的是将一次请求(例如,帖子浏览请求)过程中的所涉及的所有服务模块串联起来,生成服务之间的依赖关系。异常信息统计的目的是记录当前服务模块发生的异常信息并按照异常类型进行分组统计。异常信息汇聚的目的是针对指定的接口,当接口稳定性下降时,汇聚出所有与该接口相关的异常信息,最终定位到导致接口稳定性下降的根因。
上述步骤中请求信息的传递方法以及异常信息的统计方法可封装在基础库的软件开发工具包(Software Development Kit,SDK)当中,通过引入基础库后配置需要关注的接口即可使用,对业务侵入性小,异常信息汇聚中涉及的筛选语句可以预先配置,当接口发生稳定性下降的情况时,只需打开页面,选择对应接口的筛选条件即可自动展示筛选结果。
本公开提供的异常生成方法可应用在分布式服务中,当系统中某个服务模块的指定接口发生稳定性下降时,能够实现接口依赖服务模块的常见异常信息(单实例故障,数据库访问异常,缓存访问异常,服务器内部错误、用户自定义异常等)的自动定位展示,辅助值班人员快速定位故障进行止损处理,减少了通过人工扫描日志分析的耗时成本,提高了问题的处理效率,减少了系统的故障时间,使系统更加健壮。
参见图5,图5是本公开实施例提供的异常信息生成装置的结构图,如图5所示,本实施例提供一种异常信息生成装置500,由电子设备执行,包括:
第一调用模块501,用于获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在接收所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识;
生成模块502,用于在所述第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息。
进一步的,所述至少一个模块为预先定义的模块集中在调用所述第一模块之前被调用的至少一个模块;
所述异常信息生成装置500还包括:
第二调用模块,用于若所述第一模块的所述第一接口未发生异常,且所述模块集包括所述第一模块,且所述第一模块的所述第一接口属于所述模块集包括的接口,则在所述第一模块调用第二模块的第二调用请求中添加第二标签信息,所述第二标签信息包括所述第一标签信息、所述第一模块的标识以及所述第一接口的接口标识。
进一步的,所述异常信息生成装置500还包括:
第三调用模块,用于若所述第一模块的所述第一接口未发生异常,且所述模块集未包括所述第一模块或者所述第一模块的所述第一接口不属于所述模块集包括的接口,则在所述第一模块调用第二模块的第二调用请求中添加所述第一标签信息。
进一步的,所述生成模块502,包括:
获取子模块,用于若所述第一模块的所述第一接口发生异常,则获取第一异常信息,所述第一异常信息包括请求超时、远程过程调用异常、缓存访问错误、数据库访问错误、业务逻辑异常中的至少一种;
第一生成子模块,用于根据所述第一异常信息,生成第一异常标签以及与所述第一异常标签对应的第一异常描述信息;
第二生成子模块,用于根据所述第一标签信息,生成第二异常标签以及与所述第二异常标签对应的第二异常描述信息,所述异常信息包括所述第一异常标签、所述第一异常描述信息、所述第二异常标签以及所述第二异常描述信息。
进一步的,异常信息生成装置500还包括:
获取模块,用于获取筛选语句;
第一筛选模块,用于根据所述筛选语句,对所述异常信息中的所述第一异常标签和所述第二异常标签进行筛选,获得与所述筛选语句相匹配的第一筛选结果;
第一确定模块,用于根据所述第一筛选结果,确定发生异常的原因;
或者,
第二筛选模块,用于根据所述筛选语句,对所述异常信息中的所述第一异常描述信息和所述第二异常描述信息进行筛选,获得与所述筛选语句相匹配的第二筛选结果;
第二确定模块,用于根据所述第二筛选结果,确定发生异常的原因
本公开实施例的异常信息生成装置500,通过获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在获取所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识;在第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息。根据异常信息可获知指定接口的稳定性是否下降,并通过对异常信息进行分析,迅速定位引起稳定性下降的主要原因,辅助用户(即软件开发人员或者值班人员)快速对故障进行处理。
根据本公开的实施例,本公开还提供了一种电子设备、一种计算机程序产品和一种可读存储介质。
如图6所示,是根据本公开实施例的异常信息确定的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本公开所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本公开所提供的异常信息生成的方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的异常信息生成的方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的异常信息生成的方法对应的程序指令/模块(例如,附图5所示的第一调用模块501和生成模块502)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的异常信息生成的方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据异常信息生成的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至异常信息生成的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
异常信息生成的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与异常信息生成的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
本公开中,获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在获取所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识;在第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息。根据异常信息可获知指定接口的稳定性是否下降,并通过对异常信息进行分析,迅速定位引起稳定性下降的主要原因,辅助用户(即软件开发人员或者值班人员)快速对故障进行处理。
在第一模块的第一接口未发生异常的情况下,在第一模块调用第二模块的第二调用请求中添加第一标签信息、第一模块的标识以及第一接口的接口标识,将第二调用请求传递到第二模块,使得在第二模块中的接口发生异常的情况下,可根据第二标签信息生成异常信息,便于用户根据异常信息获知指定接口的稳定性是否下降,并通过对异常信息进行分析,迅速定位引起稳定性下降的主要原因,辅助用户快速对故障进行处理。
若模块集未包括第一模块或者第一模块的第一接口不属于模块集包括的接口,表明第一模块中的第一接口并不是需要被关注的接口,不需要在调用第二模块的第二调用请求中添加第一模块的模块标识和第二接口的接口标识,只需将第一标签信息添加在第二调用请求中即可,使得在第二模块中的接口发生异常的情况下,可根据第一标签信息生成异常信息,便于用户根据异常信息获知指定接口的稳定性是否下降,并通过对异常信息进行分析,迅速定位引起稳定性下降的主要原因,辅助用户快速对故障进行处理。
若所述第一模块的所述第一接口发生异常的情况下,根据获取的第一异常信息和第一标签信息,生成第一异常标签以及与第一异常标签对应的第一异常描述信息、第二异常标签以及与第二异常标签对应的第二异常描述信息,这样,将异常信息中的各类信息统一数据表现形式,可便于后续基于查询语句对异常标签或者异常描述信息进行筛选,以对异常信息进行分析,迅速定位引起稳定性下降的主要原因。
通过筛选语句,对所述异常信息进行筛选,便于基于筛选结果,获知指定接口的稳定性是否下降,并通过对异常信息进行分析,迅速定位引起稳定性下降的主要原因,辅助用户快速定位故障进行止损处理,减少了通过人工扫描日志分析的耗时成本,提高了问题的处理效率,减少了系统的故障时间,使系统更加健壮。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (10)

1.一种异常信息生成方法,由电子设备执行,包括:
获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在接收所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识;
在所述第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息;
其中,在所述第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息,包括:
若所述第一模块的所述第一接口发生异常,则获取第一异常信息,所述第一异常信息包括请求超时、远程过程调用异常、缓存访问错误、数据库访问错误、业务逻辑异常中的至少一种;
根据所述第一异常信息,生成第一异常标签以及与所述第一异常标签对应的第一异常描述信息;
根据所述第一标签信息,生成第二异常标签以及与所述第二异常标签对应的第二异常描述信息,所述异常信息包括所述第一异常标签、所述第一异常描述信息、所述第二异常标签以及所述第二异常描述信息。
2.根据权利要求1所述的方法,其中,所述至少一个模块为预先定义的模块集中在调用所述第一模块之前被调用的至少一个模块;
在所述根据所述第一调用请求调用所述第一模块之后,所述方法还包括:
若所述第一模块的所述第一接口未发生异常,且所述模块集包括所述第一模块,且所述第一模块的所述第一接口属于所述模块集包括的接口,则在所述第一模块调用第二模块的第二调用请求中添加第二标签信息,所述第二标签信息包括所述第一标签信息、所述第一模块的标识以及所述第一接口的接口标识。
3.根据权利要求2所述的方法,其中,在所述根据所述第一调用请求调用所述第一模块之后,所述方法还包括:
若所述第一模块的所述第一接口未发生异常,且所述模块集未包括所述第一模块或者所述第一模块的所述第一接口不属于所述模块集包括的接口,则在所述第一模块调用第二模块的第二调用请求中添加所述第一标签信息。
4.根据权利要求1所述的方法,其中,在所述第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息之后,还包括:
获取筛选语句;
根据所述筛选语句,对所述异常信息中的所述第一异常标签和所述第二异常标签进行筛选,获得与所述筛选语句相匹配的第一筛选结果,并根据所述第一筛选结果,确定发生异常的原因;
或者,根据所述筛选语句,对所述异常信息中的所述第一异常描述信息和所述第二异常描述信息进行筛选,获得与所述筛选语句相匹配的第二筛选结果,并根据所述第二筛选结果,确定发生异常的原因。
5.一种异常信息生成装置,由电子设备执行,包括:
第一调用模块,用于获取调用所述电子设备的第一模块的第一调用请求,并根据所述第一调用请求调用所述第一模块,所述第一调用请求包括第一标签信息,所述第一标签信息包括在接收所述第一调用请求之前被调用的至少一个模块的模块标识和接口标识;
生成模块,用于在所述第一模块的第一接口发生异常的情况下,则根据所述第一标签信息,生成异常信息;
其中,所述生成模块,包括:
获取子模块,用于若所述第一模块的所述第一接口发生异常,则获取第一异常信息,所述第一异常信息包括请求超时、远程过程调用异常、缓存访问错误、数据库访问错误、业务逻辑异常中的至少一种;
第一生成子模块,用于根据所述第一异常信息,生成第一异常标签以及与所述第一异常标签对应的第一异常描述信息;
第二生成子模块,用于根据所述第一标签信息,生成第二异常标签以及与所述第二异常标签对应的第二异常描述信息,所述异常信息包括所述第一异常标签、所述第一异常描述信息、所述第二异常标签以及所述第二异常描述信息。
6.根据权利要求5所述的装置,所述至少一个模块为预先定义的模块集中在调用所述第一模块之前被调用的至少一个模块;
所述装置还包括:
第二调用模块,用于若所述第一模块的所述第一接口未发生异常,且所述模块集包括所述第一模块,且所述第一模块的所述第一接口属于所述模块集包括的接口,则在所述第一模块调用第二模块的第二调用请求中添加第二标签信息,所述第二标签信息包括所述第一标签信息、所述第一模块的标识以及所述第一接口的接口标识。
7.根据权利要求6所述的装置,其中,所述装置还包括:
第三调用模块,用于若所述第一模块的所述第一接口未发生异常,且所述模块集未包括所述第一模块或者所述第一模块的所述第一接口不属于所述模块集包括的接口,则在所述第一模块调用第二模块的第二调用请求中添加所述第一标签信息。
8.根据权利要求5所述的装置,其中,还包括:
获取模块,用于获取筛选语句;
第一筛选模块,用于根据所述筛选语句,对所述异常信息中的所述第一异常标签和所述第二异常标签进行筛选,获得与所述筛选语句相匹配的第一筛选结果;
第一确定模块,用于根据所述第一筛选结果,确定发生异常的原因;
或者,
第二筛选模块,用于根据所述筛选语句,对所述异常信息中的所述第一异常描述信息和所述第二异常描述信息进行筛选,获得与所述筛选语句相匹配的第二筛选结果;
第二确定模块,用于根据所述第二筛选结果,确定发生异常的原因。
9. 一种电子设备,其中,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-4中任一项所述的方法。
CN202011503242.4A 2020-12-18 2020-12-18 异常信息生成方法、装置以及电子设备 Active CN112506872B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011503242.4A CN112506872B (zh) 2020-12-18 2020-12-18 异常信息生成方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011503242.4A CN112506872B (zh) 2020-12-18 2020-12-18 异常信息生成方法、装置以及电子设备

Publications (2)

Publication Number Publication Date
CN112506872A CN112506872A (zh) 2021-03-16
CN112506872B true CN112506872B (zh) 2024-02-13

Family

ID=74921715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011503242.4A Active CN112506872B (zh) 2020-12-18 2020-12-18 异常信息生成方法、装置以及电子设备

Country Status (1)

Country Link
CN (1) CN112506872B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678933A (zh) * 2017-09-28 2018-02-09 中国平安人寿保险股份有限公司 日志生成管理方法、装置、设备及计算机可读存储介质
CN109873717A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质
CN110737592A (zh) * 2019-09-16 2020-01-31 平安科技(深圳)有限公司 一种链路异常识别方法、服务器及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8746548B2 (en) * 2011-09-15 2014-06-10 Dell Products L.P. Dynamic multidimensional barcodes for information handling system service information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678933A (zh) * 2017-09-28 2018-02-09 中国平安人寿保险股份有限公司 日志生成管理方法、装置、设备及计算机可读存储介质
CN109873717A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 监控方法、装置、计算机设备及存储介质
CN110737592A (zh) * 2019-09-16 2020-01-31 平安科技(深圳)有限公司 一种链路异常识别方法、服务器及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于URL的恶意访问识别系统的设计与实现;李梦玉;《中国优秀硕士学位论文全文数据库》;全文 *

Also Published As

Publication number Publication date
CN112506872A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
Guo et al. Graph-based trace analysis for microservice architecture understanding and problem diagnosis
US20210029144A1 (en) Identifying a cyber-attack impacting a particular asset
US11321160B2 (en) In a microservices-based application, mapping distributed error stacks across multiple dimensions
US11010235B1 (en) Tracking error propagation across microservices based applications using distributed error stacks
US9740594B2 (en) Automated debug trace specification
US20200201699A1 (en) Unified error monitoring, alerting, and debugging of distributed systems
US9009544B2 (en) User operation history for web application diagnostics
US9697104B2 (en) End-to end tracing and logging
US9588869B2 (en) Computer implemented system and method of instrumentation for software applications
CN112527748B (zh) 用于分析用户操作行为的方法、装置、设备以及存储介质
KR20120115476A (ko) 복합 트랜잭션들에 대한 구조적 및 행동적 디스크립션을 사용하는 트랜잭션 모델
US8688729B2 (en) Efficiently collecting transaction-separated metrics in a distributed enviroment
CN111752843B (zh) 用于确定影响面的方法、装置、电子设备及可读存储介质
US20100145978A1 (en) Techniques to provide unified logging services
US11526422B2 (en) System and method for troubleshooting abnormal behavior of an application
CN106909327B (zh) 一种用于工控设备的显示控制装置
US20130047169A1 (en) Efficient Data Structure To Gather And Distribute Transaction Events
EP3874371A2 (en) Alerting, diagnosing, and transmitting computer issues to a technical resource in response to a dedicated physical button or trigger
US20230156093A1 (en) Url normalization for rendering a service graph
CN111654495B (zh) 用于确定流量产生来源的方法、装置、设备及存储介质
CN112491617A (zh) 一种链路跟踪方法、装置、电子设备和介质
WO2018200961A1 (en) Hyper dynamic java management extension
CN112667795B (zh) 对话树构建方法和装置、对话树运行方法、装置以及系统
US10706108B2 (en) Field name recommendation
JP2023537769A (ja) クラウドネイティブなアプリケーション向けの障害場所特定

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
GR01 Patent grant
GR01 Patent grant