本文分享自华为云社区《【AIOps专题】API功能恶化根因剖析》,作者:DevAI。

布景介绍

当微服务体系产生功能恶化问题时,真正有问题的服务和与它相关的服务,都会呈现目标反常以及发出告警。大量的告警让运维人员无法确认哪个服务才是恶化根因,只能逐个服务去检查,排除掉那些本身并没有反常的服务,定位本钱高。自动化的恶化根因定位服务关于快速处理依据服务的体系恶化是非常重要的。

4种API性能恶化根因分析

图例 调用链上的根因定位

依据长尾使命的功能恶化根因剖析

一种常见的根因剖析办法是将耗时长尾事情作为功能反常的根因事情。首要取得指定时刻窗口内的恶化调用链,遍历接口恶化相关的多个调用链,选择耗时最长的一条;再依据耗时主导准则,对这条耗时最长的调用链找到耗时最长的调用事情,并将其作为恶化根因。这种办法的首要缺点在于,只考虑服务的耗时状况,以为根因只会产生在耗时最长的一条恶化调用链,对调用链结构反常、参数错误等导致的功能反常不具有辨认才能;

4种API性能恶化根因分析

依据单调用链拓扑的功能恶化根因剖析

依据单调用链拓扑的功能恶化定位办法,首要从历史成功调用链数据中提炼正常调用链模板,关于每条待测用例,匹配最佳模板,再进行差异剖析,最终排序引荐根因。这种根因剖析办法仅着眼于根因在单条调用链上的影响要素,疏忽了反常在调用链之间的相互影响以及调用链之间的差异。

4种API性能恶化根因分析

依据恶化传播图的功能恶化根因剖析

此办法针对现在相关性剖析办法没有很好考虑到微服务动态位移的问题,设计新的反常评分算法以衡量微服务组件的恶化程度,构建恶化传播图;然后对传统随机游走算法进行优化。但是依据随机游走的办法都存在一个缺点,即当体系中一同呈现多个恶化时,服务可能会受到叠加影响,而导致定位的精确性下降。

4种API性能恶化根因分析

依据拓扑会聚的功能恶化根因剖析办法

针对当前痛点,咱们提出了一种依据拓扑会聚的功能恶化根因剖析办法,该办法最立异的特征是提出了一种先在反常调用链内部剖析候选根因,再在大局拓扑环境下对候选根因进行会聚的二级剖析办法,综合利用了微服务场景下尽可能多的信息,并进行了综合会聚和多目标点评,克服了调用链之间反常相互影响导致根因难以确认的问题,快速辨认和定位恶化接口事情粒度的根因,减少了根因定位剖析本钱。方案首要包括两个模块,预处理模块和会聚定位模块。

预处理模块通过输入时刻窗口内的正常调用链数据,学习正常调用链模式并树立大局拓扑,包括三个部分:树立正常模板库、提取实在节点拓扑和保护反向可达性表。

会聚定位模块首要对候选根因从三个维度进行分数核算,再依据会聚公式对候选根因进行会聚,包括三个维度的核算:链上得分的核算、链间得分的核算和拓扑得分的核算;再依据组合公式,得到最终的根因引荐分数,分数越高表示越有可能是根因。

4种API性能恶化根因分析

总结

针对现在功能恶化定位本钱高的问题,咱们提出了一种先在反常调用链内部剖析候选根因,再在大局拓扑环境下对候选根因进行会聚的二级剖析办法,并提出了一种核算三项得分的多维点评办法,综合考虑实在环境中的多种要素,以更精确更高效地引荐根因。

文章来自 PaaS技术立异Lab,PaaS技术立异Lab隶属于华为云,致力于综合利用软件剖析、数据发掘、机器学习等技术,为软件研发人员供给下一代智能研发工具服务的中心引擎和才智大脑。咱们将聚集软件工程领域硬核才能,不断构筑研发利器,持续交付高价值商业特性!参加咱们,一同创始研发新“境地”!(详情欢迎联系 mayuchi1@huawei.com;guodongshuo@huawei.com)

PaaS技术立异Lab主页链接:www.huaweicloud.com/lab/paas/ho…

点击关注,第一时刻了解华为云新鲜技术~