本申请提出一种根因定位方法、装置、设备及存储介质,根因定位方法通过在待分析调用链调用成功的情况下,对待分析调用链的入口节点进行调用延迟检测,以入口节点作为判断基准,能够直接快速确定是否存在延迟,在调用延迟检测结果表征为异常的情况下,确定待分析调用链的所有第一节点的节点延迟以进行延迟根因定位,出现延迟时能够避免人工逐个排查,提高运维效率;或者,在所述待分析调用链调用失败的情况下,对待分析调用链与预设业务链路集合进行匹配,确定目标业务链路,根据目标业务链路的第二节点进行可能性分数计算,确定可能性分数,基于可能性分数进行故障根因定位,出现故障时能够避免人工逐个排查,有利于提高运维效率。率。率。
【技术实现步骤摘要】
一种根因定位方法、装置、设备及存储介质
[0001]本申请涉及运维领域,尤其涉及一种根因定位方法、装置、设备及存储介质。
技术介绍
[0002]目前业界关于服务复杂调用场景下的故障排查存在难度,难点在于:1)、各服务作为一个节点,存在复杂的调用依赖关系,呈现在运维人员面前的就是一大片报错的服务,而具体是哪一个节点造成此现象的原因难以排查,通常需要人工逐个服务排查,当服务数量多时,需要大量人力和精力,难度高且效率低。
[0003]2)、当某个服务因为程序/网络故障,造成调用此服务的节点的延迟增大,会将此增大的延迟不断的递加到其祖先节点,最终看到的是一大片的高延迟服务,而具体是哪一个节点造成此现象的同样难以排查,需要大量的人力和精力。
技术实现思路
[0004]本申请实施例提供一种根因定位方法、装置、设备及存储介质,以解决相关技术存在的至少一问题,技术方案如下:第一方面,本申请实施例提供了一种根因定位的方法,包括:在待分析调用链调用成功的情况下,对所述待分析调用链的入口节点进行调用延迟检测;在调用延迟检测结果表征为异常的情况下,确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位;或者,在所述待分析调用链调用失败的情况下,对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路;根据所述目标业务链路的第二节点进行可能性分数计算,确定可能性分数;根据所述可能性分数进行故障根因定位。
[0005]在一种实施方式中,所述对所述待分析调用链的入口节点进行调用延迟检测包括:获取所述入口节点的调用延迟;将所述调用延迟与历史延迟阈值进行比较;其中,当所述调用延迟大于所述历史延迟阈值时,则确定所述调用延迟检测结果表征为异常。
[0006]在一种实施方式中,所述确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位包括:确定所述待分析调用链的所有第一节点的节点延迟以及每一所述第一节点对应的历史延迟值;根据所述历史延迟值计算异常分数;
对所述待分析调用链进行深度优先遍历并去除所述异常分数表征正常的第一节点,得到节点顺序;根据所述节点顺序进行深度探测,将位于末端的第一节点作为延迟根因。
[0007]在一种实施方式中,所述历史延迟值包括延迟平均值以及标准差;所述根据所述历史延迟值计算异常分数包括:计算所述节点延迟与所述延迟平均值的差值;根据所述差值的绝对值与所述标准差的比值,得到异常分数;其中,当所述异常分数大于分数阈值时,所述异常分数表征异常。
[0008]在一种实施方式中,所述预设业务链路集合包括若干个预设业务链路;所述对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路包括:获取每一所述预设业务链路的预设入口节点,确定所述预设入口节点与所述入口节点相同的至少一候选预设业务链路;分别计算所述待分析调用链与所述候选预设业务链路的相似度;将所述相似度最高的候选预设业务链路确定为目标业务链路。
[0009]在一种实施方式中,所述根据所述目标业务链路的第二节点进行可能性分数计算包括:获取所述第二节点的出入度、历史出错率、更新经过时间以及深度;根据所述出入度、所述历史出错率、所述更新经过时间、所述深度以及对应的预设权重加权计算得到可能性分数;其中,所述出入度、所述历史出错率以及所述深度与所述可能性分数呈正相关,所述更新经过时间与所述可能性分数呈负相关。
[0010]在一种实施方式中,所述根据所述可能性分数进行故障根因定位包括:将所述可能性分数进行降序排列,生成所述第二节点对应的故障根因TOPK。
[0011]第二方面,本申请实施例提供了一种根因定位装置,包括:第一根因定位模块或者第二根因定位模块;所述第一根因定位模块,用于:在待分析调用链调用成功的情况下,对所述待分析调用链的入口节点进行调用延迟检测;在调用延迟检测结果表征为异常的情况下,确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位;所述第二根因定位模块,用于:在所述待分析调用链调用失败的情况下,对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路;根据所述目标业务链路的第二节点进行可能性分数计算,确定可能性分数;根据所述可能性分数进行故障根因定位。
[0012]第三方面,本申请实施例提供了一种电子设备,包括:处理器和存储器,该存储器中存储指令,该指令由该处理器加载并执行,以实现上述各方面任一种实施方式中的方法。
[0013]第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被执行时实现上述各方面任一种实施方式中的方法。
[0014]上述技术方案中的有益效果至少包括:在待分析调用链调用成功的情况下,对待分析调用链的入口节点进行调用延迟检测,以入口节点作为判断基准,能够直接快速确定是否存在延迟,在调用延迟检测结果表征为异常的情况下,获取待分析调用链的所有第一节点的节点延迟以进行延迟根因定位,出现延迟时能够避免人工逐个排查,提高运维效率;或者,在所述待分析调用链调用失败的情况下,对待分析调用链与预设业务链路集合进行匹配,确定目标业务链路,根据目标业务链路的第二节点进行可能性分数计算,确定可能性分数,基于可能性分数进行故障根因定位,出现故障时能够避免人工逐个排查,有利于提高运维效率。
[0015]上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
[0016]在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
[0017]图1为本申请一实施例根因定位方法的步骤流程示意图;图2为本申请一实施例的根因定位装置的结构框图;图3为本申请一实施例的电子设备的结构框图。
具体实施方式
[0018]在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
[0019]参照图1,示出本申请一实施例的根因定位方法的流程图,该根因定位方法可以包括S100或者S200,S100包括步骤S110
‑
S120:S110、在待分析调用链调用成功的情况下,对待分析调用链的入口节点进行调用延迟检测。
[0020]本申请实施例中,待分析调用链可以为系统触发任务,根据任务所产生的用于完成任务的调用链。例如,用户在购物系统搜索了某个物品,后台可能会进行名称分类、相似名称搜索、名称搜索、结果排序等步骤,每个细粒度的步骤都可能是一个独立的服务/节点,多个服务/节点会形成一条调用链。
[0021]本申请实施例中,当待分析调用链中的各个本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种根因定位方法,其特征在于,包括:在待分析调用链调用成功的情况下,对所述待分析调用链的入口节点进行调用延迟检测;在调用延迟检测结果表征为异常的情况下,确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位;或者,在所述待分析调用链调用失败的情况下,对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路;根据所述目标业务链路的第二节点进行可能性分数计算,确定可能性分数;根据所述可能性分数进行故障根因定位。2.根据权利要求1所述根因定位方法,其特征在于:所述对所述待分析调用链的入口节点进行调用延迟检测包括:获取所述入口节点的调用延迟;将所述调用延迟与历史延迟阈值进行比较;其中,当所述调用延迟大于所述历史延迟阈值时,则确定所述调用延迟检测结果表征为异常。3.根据权利要求1或2所述根因定位方法,其特征在于:所述确定所述待分析调用链的所有第一节点的节点延迟以进行延迟根因定位包括:确定所述待分析调用链的所有第一节点的节点延迟以及每一所述第一节点对应的历史延迟值;根据所述历史延迟值计算异常分数;对所述待分析调用链进行深度优先遍历并去除所述异常分数表征正常的第一节点,得到节点顺序;根据所述节点顺序进行深度探测,将位于末端的第一节点作为延迟根因。4.根据权利要求3所述根因定位方法,其特征在于:所述历史延迟值包括延迟平均值以及标准差;所述根据所述历史延迟值计算异常分数包括:计算所述节点延迟与所述延迟平均值的差值;根据所述差值的绝对值与所述标准差的比值,得到异常分数;其中,当所述异常分数大于分数阈值时,所述异常分数表征异常。5.根据权利要求1所述根因定位方法,其特征在于:所述预设业务链路集合包括若干个预设业务链路;所述对所述待分析调用链与预设业务链路集合进行匹配,确定目标业务链路包括:获取每一所述预设业务链路的预设入口节点,确定所述...
【专利技术属性】
技术研发人员:王贝宁,宋蕴真,夏子承,
申请(专利权)人:广州嘉为科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。