一种基于故障的日志埋点设置方法、装置及系统制造方法及图纸

技术编号:23624614 阅读:29 留言:0更新日期:2020-03-31 22:31
本说明书实施例公开了一种基于故障的日志埋点设置方法、装置及系统。该方法包括:接收业务故障信息,其中,业务故障信息包括:业务标识和故障码;根据预设的业务标识、故障码与子故障码的对应关系,获取与业务故障信息中的业务标识和故障码匹配的一个或多个子故障码;从一个或多个子故障码中获取到当前业务系统上未设置有对应日志埋点的子故障码,并获取与未设置有对应日志埋点的子故障码对应的日志埋点描述信息,其中,埋点描述信息包括:埋点坐标;获取当前业务系统线上运行的程序源代码,根据埋点坐标,在程序源代码的对应位置动态加入对应的日志埋点代码段;将加入日志埋点代码段后的程序源代码动态加载到业务系统上。

A method, device and system for setting the embedded point of log based on fault

【技术实现步骤摘要】
一种基于故障的日志埋点设置方法、装置及系统
本说明书实施例涉及计算机
,尤其涉及一种基于故障的日志埋点设置方法、装置及系统。
技术介绍
在一个业务系统的客户较多的情况下,业务系统出现一点微小的故障都有可能在瞬间影响数以万计的客户。因此,为了避免业务系统出现故障影响客户,业务系统需要在出现故障的时候能够快速实现自愈。为了使业务系统在出现故障的时候能够快速实现自愈,首先需要对故障进行定位,为了对故障进行定位,需要针对可能出现的故障进行日志埋点以从业务系统中采集与故障相关的信息。针对如何针对业务系统可能出现的故障进行日志埋点,需要提供更快速或者更可靠的方案。
技术实现思路
本说明书实施例提供一种基于故障的日志埋点设置方法,包括:接收业务故障信息,其中,所述业务故障信息包括:业务标识和故障码;根据预设的业务标识、故障码与子故障码的对应关系,获取与所述业务故障信息中的业务标识和故障码匹配的一个或多个子故障码;从所述一个或多个子故障码中获取到当前业务平台上未设置有对应日志埋点的子故障码,并获本文档来自技高网...

【技术保护点】
1.一种基于故障的日志埋点设置方法,包括:/n接收业务故障信息,其中,所述业务故障信息包括:业务标识和故障码;/n根据预设的业务标识、故障码与子故障码的对应关系,获取与所述业务故障信息中的业务标识和故障码匹配的一个或多个子故障码;/n从所述一个或多个子故障码中获取到当前业务平台上未设置有对应日志埋点的子故障码,并获取与所述未设置有对应日志埋点的子故障码对应的日志埋点描述信息,其中,所述埋点描述信息包括:埋点坐标;/n获取所述当前业务平台线上运行的各个业务系统的程序源代码,根据所述埋点描述信息中的埋点坐标,在所述程序源代码的对应位置动态加入对应的日志埋点代码段;/n将加入所述日志埋点代码段后的所...

【技术特征摘要】
1.一种基于故障的日志埋点设置方法,包括:
接收业务故障信息,其中,所述业务故障信息包括:业务标识和故障码;
根据预设的业务标识、故障码与子故障码的对应关系,获取与所述业务故障信息中的业务标识和故障码匹配的一个或多个子故障码;
从所述一个或多个子故障码中获取到当前业务平台上未设置有对应日志埋点的子故障码,并获取与所述未设置有对应日志埋点的子故障码对应的日志埋点描述信息,其中,所述埋点描述信息包括:埋点坐标;
获取所述当前业务平台线上运行的各个业务系统的程序源代码,根据所述埋点描述信息中的埋点坐标,在所述程序源代码的对应位置动态加入对应的日志埋点代码段;
将加入所述日志埋点代码段后的所述程序源代码动态加载到所述当前业务平台上。


2.根据权利要求1所述的方法,其中,根据预设的业务标识、故障码与子故障码的对应关系,获取与所述业务故障信息中的业务标识和故障码匹配的一个或多个子故障码,包括:
根据所述预设的业务标识、故障码与子故障码的对应关系,获取与所述业务故障信息中的业务标识和故障码匹配的下一级业务标识和子故障码,再根据所述对应关系,找到与所述下一级业务标识和子故障码匹配的再下一级业务标识和子故障码,循环递归,直到匹配到最后一级业务标识和子故障码。


3.根据权利要求2所述的方法,其中,获取与所述未设置有对应日志埋点的子故障码对应的日志埋点描述信息,包括:
根据预设的子故障码与日志埋点描述信息的对应关系,获取与所述未设置有对应日志埋点的子故障码对应的日志埋点描述信息。


4.根据权利要求3所述的方法,其中,所述预设的业务标识、故障码与子故障码的对应关系以及所述预设的子故障码与日志埋点描述信息的对应关系以树的结构进行存储。


5.根据权利要求1所述的方法,其中,所述日志埋点描述信息还包括采集的变量名称;根据所述日志埋点描述信息的埋点坐标,在所述程序源代码的对应位置动态加入对应的日志埋点代码段,包括:
将所述程序源代码加载内存,在与所述埋点坐标对应的代码行加入所述埋点描述信息的代码段;
将所述内存中的程序源代码编译成计算机能识别的代码文件;
逐行扫描所述代码文件,在从所述代码文件中解析到所述变量名称后,为与所述变量名称对应的变量分配内存并存储到所述业务系统所处的线程栈内存中,以及在所述代码文件的当前行动态加入日志打印的静态方法调用代码;
将所述内存的代码文件保存到本地。


6.根据权利要求5所述的方法,其中,将加入所述日志埋点动态加载后的所述程序源代码动态加载到所述当前业务平台,包括:
获取所述当前业务平台当前线程的加载器,使用所述加载器将保存在本地的所述代码文件加载到内存;
通过反射调用的方式将所述当前业务平台引用的内存地址替换为所述本地的代码文件在内存中对应的地址。


7.一种基于故障的日志埋点设置装置,包括:
接收单元,接收业务故障信息,其中,所述业务故障信息包括:业务标识和故障码;
第一获取单元,根据预设的业务标识、故障码与子故障码的对应关系,获取与所述业务故障信息中的业务标识和故障码匹配的一个或多个子故障码;
第二获取单元,从所述一个或多个子故障码中获取到当前业务平台上未设置有对应日志埋点的子故障码,并获取与所述未设置有对应日志埋点的子故障码对应的日志埋点描述信息,其中,所述埋点描述信息包括:埋点坐标;
第三获取单元,获取所述当前业务平台线上运行的各个业务系统的程序源代码;
埋入单元,根据所述埋点描述信息中的所述埋点坐标,在所述程序源代码的对应位置动态加入对应的日志埋点代码段;
动态加载单元,将加入所述日志埋点代码段后的所述程序源代码...

【专利技术属性】
技术研发人员:魏亚文
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1