本申请涉及链路故障检测的,特别是涉及一种全链路故障的定位系统。
背景技术:
1、当公司业务发展到一定量级,公司业务需要大量服务器,java应用,复杂的网络架构,高可用的中间件系统以及高性能的数据库系统来支撑。无论是日常、节假日还是活动期间,公司业务出现故障出现的原因有很多,如网络、服务器、应用服务、中间件及数据库层都可能导致公司业务故障,通过人工梳理业务全链路很难准确并细粒度地排查、定位公司业务出现故障的位点。
2、因此,如何准确并细粒度地排查公司业务出现故障的位点,是本领域技术人员急需解决的技术问题。
技术实现思路
1、基于上述问题,本申请提供了一种全链路故障的定位系统,能够准确并细粒度地排查公司业务出现故障的位点。
2、为解决上述问题,本申请实施例提供的技术方案如下:
3、一种全链路故障的定位系统,所述系统包括:拦截器、日志生成模块、预处理模块、链路链解析模块以及预警模块;
4、所述拦截器、所述日志生成模块、所述预处理模块、链路链解析模块以及预警模块依次相连;
5、所述拦截器,用于获取业务请求的接口信息和唯一标识或生成唯一标识,并计算业务请求时耗;所述业务请求时耗为所述业务请求从请求开始到请求完成所用的时间;所述唯一标识包括请求字符串和业务请求的uri信息;
6、所述日志生成模块,用于根据所述业务请求的接口信息、唯一标识以及所述业务请求时耗生成第一目标日志数据;
7、所述预处理模块,用于对所述第一目标日志数据进行预处理得到多维的第二目标日志数据;
8、所述链路链解析模块,用于根据所述唯一标识对所述第二目标日志数据进行过滤和聚合处理得到多维的第三目标日志数据;
9、所述预警模块,用于根据第三目标日志数据生成预警信息发送至客户端。
10、在一种可能的实现方式中,所述系统还包括:
11、请求头,所述请求头与所述拦截器相连;
12、所述请求头,用于存储web入口模块生成的所述接口信息和所述唯一标识。
13、在一种可能的实现方式中,所述系统还包括:所述web入口模块;
14、所述web入口模块与所述请求头相连;
15、所述web入口模块,用于接收所述业务请求;
16、当所述web入口模块接收到的所述业务请求的请求字段时,所述web入口模块根据所述业务请求生成所述接口信息和所述唯一标识。
17、在一种可能的实现方式中,所述拦截器具体用于:
18、当所述web入口模块没有接收到所述业务请求的请求字段时,根据所述业务请求生成所述唯一标识。
19、在一种可能的实现方式中,所述预处理模块包括:时序数据分类器和时间转换模块;
20、所述时序数据分类器分别与所述日志生成模块和所述时间转换模块相连;
21、所述时序数据分类器,用于利用卷积神经网络对所述第一目标日志数据以预设类别进行分类得到多维的分类日志数据;
22、所述时间转换模块,用于将所述分类日志数据进行时间格式化和粒度统一从而得到第二目标日志数据。
23、在一种可能的实现方式中,所述预设类别包括:平稳型、周期型以及无规律波动型。
24、在一种可能的实现方式中,所述系统还包括:图谱生成模块;
25、所述图谱生成模块与所述链路链解析模块相连;
26、所述图谱生成模块,用于将各个第三目标日志数据按照请求顺序进行连接从而得到业务请求调用知识图谱。
27、在一种可能的实现方式中,所述预警模块包括:第一计算模块、第二计算模块、排序模块和异常输出模块;
28、所述第一计算模块、所述第二计算模块、所述排序模块和所述异常输出模块依次相连;
29、所述第一计算模块,用于利用动态时间规整算法计算预设时间段内第三目标日志数据对应的历史日志数据与各个第三目标日志数据之间的欧氏距离;
30、所述第二计算模块,用于利用孤立森林算法对各个欧氏距离进行计算,从而选取出其中的异常欧氏距离;
31、所述排序模块,用于将各个异常欧氏距离按照其发生顺序进行排序,从而选取出首先发生的异常欧氏距离作为异常数据;
32、所述异常输出模块,用于根据所述异常数据生成预警信息发送至客户端。
33、在一种可能的实现方式中,所述日志生成模块包括过滤器和探针;
34、所述过滤器与所述探针相连;
35、所述过滤器,用于将所述业务请求的接口信息和唯一标识以及所述业务请求时耗输出到相应的日志文件中得到多个目标日志文件,并将所述目标日志文件以预设格式上传到日志系统中作为日志数据;
36、所述探针,用于收集所述日志系统中的实时日志数据以及运维中心中与所述实时日志数据对应的实时网络数据、实时中间件信息、实时服务器监控数据以及唯一标识作为第一目标日志数据。
37、相较于现有技术,本申请具有以下有益效果:
38、本申请提供一种全链路故障的定位系统,首先可以利用拦截器获取业务请求的接口信息、uri信息以及唯一标识或生成uri信息和唯一标识,并计算业务请求时耗,业务请求时耗为所述业务请求从请求开始到请求完成所用的时间,再利用日志生成模块根据业务请求的接口信息、uri信息、唯一标识以及业务请求时耗生成第一目标日志数据,第一目标日志数据包括唯一标识。接着,利用预处理模块对第一目标日志数据进行预处理得到多维的第二目标日志数据。最后,通过链路链解析模块根据唯一标识对第二目标日志数据进行过滤和聚合处理得到多维的第三目标日志数据,预警模块再根据第三目标日志数据生成预警信息发送至客户端。因此,本申请可以通过拦截器获取业务请求的唯一标识或自生成业务请求的唯一标识,通过日志生成模块和预处理模块可以得到多维的第二目标日志数据,利用链路链解析模块根据唯一标识和第二目标日志数据得到多维的第三目标日志数据,以使预警模块根据第三目标日志数据生成预警信息发送至客户端,以此实现了全链路业务请求详细轨迹信息的追踪。
1.一种全链路故障的定位系统,其特征在于,所述系统包括:拦截器、日志生成模块、预处理模块、链路链解析模块以及预警模块;
2.根据权利要求1所述的全链路故障的定位系统,其特征在于,所述系统还包括:
3.根据权利要求2所述的全链路故障的定位系统,其特征在于,所述系统还包括:所述web入口模块;
4.根据权利要求3所述的全链路故障的定位系统,其特征在于,所述拦截器具体用于:
5.根据权利要求1所述的全链路故障的定位系统,其特征在于,所述预处理模块包括:时序数据分类器和时间转换模块;
6.根据权利要求5所述的全链路故障的定位系统,其特征在于,所述预设类别包括:平稳型、周期型以及无规律波动型。
7.根据权利要求1所述的全链路故障的定位系统,其特征在于,所述系统还包括:图谱生成模块;
8.根据权利要求1所述的全链路故障的定位系统,其特征在于,所述预警模块包括:第一计算模块、第二计算模块、排序模块和异常输出模块;
9.根据权利要求1所述的全链路故障的定位系统,其特征在于,所述日志生成模块包括过滤器和探针;