【技术实现步骤摘要】
一种基于机器学习的根因定位方法和系统
[0001]本专利技术属于智能运维
,更具体地,涉及一种基于机器学习的根因定位方法和系统。
技术介绍
[0002]大型互联网公司通过服务集群共同对外提供服务,而同时业务服务也会随着产品需求增多而臃肿,架构上进行拆分,大型服务会拆分成小型独立的服务,每个小服务会由独立进程去管理来对外提供服务,这就是“微服务”。
[0003]微服务应用系统使用微服务架构,将应用程序构建为独立的组件,并将每个应用程序进程作为一项服务运行。这些服务使用轻量级API通过明确定义的接口进行通信。这些服务是围绕业务功能构建的,每项服务独立的执行一项功能。
[0004]微服务架构兴起后,很多服务变成分布式的,对服务进行拆分后,用户的请求会通过不同的服务节点进行处理,在返回结果给用户。那么在整个调用链中,如果有任何一个节点出现了问题,都有可能导致最终的结果出现异常。在这种复杂的环境下,要准确、高效找出具体那个服务节点出现问题并不容易。因此在调用链背景下,将请求经过的每个节点都记录下来,形成一个完整的 ...
【技术保护点】
【技术特征摘要】
1.一种基于机器学习的根因定位方法,其特征在于,包括以下步骤:(1)获取微服务应用系统中调用过程的数据所组成的调用链数据;(2)获取微服务应用系统的业务指标数据、容器指标、中间件指标、主机指标、以及数据库指标数据;(3)将步骤(2)所获取的业务指标数据中的时间戳、平均调用时间、业务量、成功数量、成功率输入到训练好的支持向量机SVM网络中,以得到检测结果,并判断检测结果是否为异常,如果异常则进入步骤(4),否则过程结束;(4)对步骤(3)得到的检测结果进行根因检测,以得到故障发生的节点、以及导致故障发生的性能指标。2.根据权利要求1所述的基于机器学习的根因定位方法,其特征在于,调用过程的数据包括该数据的时间戳和调用链id、调用类型、服务执行时间、调用者id、数据id、以及微服务应用系统的名称。微服务应用系统的业务指标数据包括微服务系统的名称、时间戳、平均调用时间、业务量、成功数量、以及成功率;获取容器指标、中间件指标、主机指标以及数据库指标数据的目的,是定位具体出异常的性能指标。3.根据权利要求1或2所述的基于机器学习的根因定位方法,其特征在于,SVM网络是通过以下子步骤训练得到的:(3
‑
1)获取微服务应用系统的业务指标数据,对获取的业务指标数据先后进行归一化和数据标注处理,并将处理后得到的业务指标数据作为数据集划分为训练集和测试集;(3
‑
2)对SVM网络的参数进行初始化,以得到初始化后的SVM网络。(3
‑
3)将步骤(3
‑
1)获取的训练集输入步骤(3
‑
2)初始化后的SVM网络中进行训练,以得到初步训练好的SVM网络;(3
‑
4)使用步骤(3
‑
1)得到的测试集对步骤(3
‑
3)初步训练好的SVM网络进行测试,以得到最终训练好的SVM网络。4.根据权利要求1至3中任意一项所述的基于机器学习的根因定位方法,其特征在于,步骤(3
‑
2)具体是将SVM网络的惩罚系数C设置为1.0,将核函数kernel设置为线性核函数linear,将加权参数class_weight设置为数据集中正负样本的比例。5.根据权利要求4所述的基于机器学习的根因定位方法,其特征在于,步骤(4)包括以下子步骤:(4
‑
1)使用步骤(3)得到的检测结果中的时间戳,在步骤(1)得到的调用链数据中查询该时间戳对应的调用链id,并使用该调用链id获取调用链数据中所有调用链id等于查询到的该调用链id的数据,并依次建立获取的每条数据中的数据id到该调用链id的有向边,以得到有向图;(4
‑
2)对步骤(4
‑
1)得到的有向图进行频繁子图挖掘,以得到该有向图中频繁出现的子结构;(4
‑
3)使用步骤(4
‑
2)得到的有向图中频繁出现的子结构建立图数据库;(4
‑
4)获取步骤(4
‑
2)得到的有向图中频繁出现的子结构与图数据库中标注为存在异常节点的子结构中的所有节点之间的交集作为第一集合,以及步骤(4
‑
2)得到的有向图中频繁出现的子结构与图数据库中标注为null的子结构中的所有节点之间的交集作为第二
集合,然后取第一...
【专利技术属性】
技术研发人员:唐卓,向婷,李肯立,李虹宇,伍祚瑶,王啸,罗文明,程欣威,
申请(专利权)人:湖南大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。