异常根因定位方法以及相关装置、设备
文献发布时间:2023-06-19 10:35:20
技术领域
本申请涉及根因定位的技术领域,特别是涉及异常根因定位方法以及相关装置、设备。
背景技术
故障检测和根因定位在通信系统中具有非常重要的意义。通过对特性指标的实时数据采集能及时查看指标表现情况,对相关数据的挖掘能定位到造成指标波动的原因,这些都是保证产品稳定性及系统高可用的重要手段。
现有的指标监控及排障手段主要是通过BI一屏排障,使用人眼来对数据变化进行判断。同时结合对数据的简单聚合、挖掘等方式,找出某些表现较差的属性及具体属性值辅助判断。其中最具代表性的解决方案大致有Grafana、Tableau等可视化辅助软件。
然而,传统一屏排障故障检测具有数据不敏感、维度下钻难以进行灵活的交叉计算等缺点,限制了排障范围和精确度。同时需要人工对多个图表进行比对分析,不能直指影响指标表现的关键维度。
发明内容
本申请提供了异常根因定位方法以及相关装置、设备,已解决现有技术中存在的异常根因定位困难的问题。
本申请提供了一种异常根因定位方法,包括:响应于获取到待检测对象的异常告警信息,分别计算得到待检测对象的各观测对象对待检测对象的表现情况影响的贡献度;分别获取到各观测对象的属性类型;其中,属性类型包括原子属性以及非原子属性;利用各观测对象的属性类型及其贡献度从各观测对象中确定异常观测对象。
其中,响应于获取到待检测对象的异常告警信息,分别计算得到待检测对象的各观测对象对待检测对象的表现情况影响的贡献度的步骤包括:获取到各观测对象的第一总体表现情况以及目标观测对象的单体表现情况;基于目标观测对象的单体表现情况对第一总体表现情况进行剔除操作,得到剔除目标观测对象后的剩余观测对象的第二总体情况;将第一总体表现情况与第二总体情况进行对比,得到第一总体表现情况和第二总体表现情况之间的表现情况差别;基于表现情况差别确定目标观测对象的贡献度。
其中,第一总体表现情况包括总体上报数据量以及总体成功数据量,单体表现情况包括单体上报数据量以及单体成功数据量;基于目标观测对象的单体表现情况对第一总体表现情况进行剔除操作,得到剔除目标观测对象后的剩余观测对象的第二总体情况的步骤包括:用总体上报数据量减去单体上报数据量,得到剩余上报数据量,用总体成功数据量减去单体成功数据量,得到剩余成功数据量;基于剩余上报数据量与剩余成功数据量之间的比值得到第二总体情况。
其中,获取到各观测对象的第一总体表现情况以及目标观测对象的单体表现情况的步骤还包括:获取到各观测对象的反馈数据;基于各观测对象的反馈数据类型对反馈数据进行排序管理;基于排序管理后的反馈数据获取到各观测对象的第一总体表现情况和目标观测对象的单体表现情况。
其中,利用各观测对象的属性类型及其贡献度从各观测对象中确定异常观测对象的步骤包括:基于各观测对象的属性类型获取到原子属性的观测对象和非原子属性的观测对象;利用统计学方法从非原子属性的观测对象中确定异常观测对象;利用迭代剔除法从原子属性的观测对象中确定异常观测对象。
其中,利用统计学方法从非原子属性的观测对象中确定异常观测对象的步骤和利用迭代剔除法从原子属性的观测对象中确定异常观测对象的步骤之后还包括:检测异常观测对象的异常程度;选择与异常程度对应的提醒方式进行异常提醒。
其中,利用统计学方法从非原子属性的观测对象中确定异常观测对象的步骤包括:将各非原子属性的观测对象的贡献度进行大小排序,得到各非原子属性的观测对象的贡献度序列;判断贡献度序列是否服从正态分布;如果贡献度序列服从正态分布,则基于贡献度序列通过三西格玛法计算得到第一异常范围,将符合第一异常范围的贡献度对应的观测对象确定为非原子属性的异常观测对象;如果贡献度序列不服从正态分布,则基于贡献度序列通过箱线图异常值法计算得到第二异常范围,将符合第二异常范围的贡献度对应的观测对象确定为非原子属性的异常观测对象。
其中,检测异常观测对象的异常程度,选择与异常程度对应的提醒方式进行异常提醒的步骤包括:判断非原子属性的异常观测对象的广泛程度是否超过广泛阈值;如果非原子属性的异常观测对象的广泛程度超过广泛阈值,则确定非原子属性的异常观测对象的异常程度为显著异常,对非原子属性的异常观测对象进行显著异常提醒;如果异常的非原子属性的广泛程度没有超过广泛阈值,则确定非原子属性的异常观测对象的异常程度为普通异常,对非原子属性的异常观测对象进行普通异常提醒。
其中,利用迭代剔除法从原子属性的观测对象中确定异常观测对象的步骤包括:基于各原子属性的观测对象的单体表现情况或贡献度大小对各原子属性的观测对象进行升序排列,得到原子属性序列;按照原子属性序列的排列顺序将原子属性的观测对象从原子属性序列中剔除,获取剔除原子属性的观测对象后剩余观测对象对应的第三总体表现情况;将第三总体表现情况与各观测对象的预设表现情况进行对比,以确定原子属性的异常观测对象。
其中,将第三总体表现情况与预设表现情况进行对比,以确定原子属性的异常观测对象的步骤包括:将与预设表现情况相同的第三总体表现情况对应的原子属性的观测对象确定为原子属性的异常观测对象。
其中,按照原子属性序列的排列顺序将原子属性的观测对象从原子属性序列中剔除,获取剔除原子属性的观测对象后剩余原子属性的观测对象对应的第三总体表现情况的步骤之前包括:判断从原子属性序列中剔除的观测对象的数量是否超过剔除阈值;如果超过剔除阈值,则结束对原子属性序列的剔除操作;如果没有超过剔除阈值,则执行按照原子属性序列的排列顺序将原子属性的观测对象从原子属性序列中剔除,获取剔除原子属性的观测对象后剩余原子属性的观测对象对应的第三总体表现情况的步骤。
其中,检测异常观测对象的异常程度,选择与异常程度对应的提醒方式进行异常提醒的步骤包括:判断是否获取到原子属性的异常观测对象;如果获取到原子属性的异常观测对象,将原子属性的异常观测对象的异常程度确定为普通异常,对原子属性的异常观测对象进行普通异常提醒;如果没有获取到原子属性的异常观测对象,对原子属性的观测对象进行显著异常提醒。
本申请还提供了一种异常根因定位装置,包括:计算模块,用于响应于获取到待检测对象的异常告警信息,分别计算得到待检测对象的各观测对象对待检测对象的表现情况影响的贡献度;获取模块,用于分别获取到各观测对象的属性类型;其中,属性类型包括原子属性以及非原子属性;确定模块,用于利用各观测对象的属性类型及其贡献度从各观测对象中确定异常观测对象。
本申请还提供了一种电子设备,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述任一项的异常根因定位方法。
本申请还提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述任一项的异常根因定位方法。
上述方案,本申请在获取到待检测对象的异常告警信息后,分别计算得到各观测对象对待检测对象的表现情况影响的贡献度,再基于各观测对象的属性类型及其贡献度从各观测对象中确定异常观测对象。从而通过各观测对象贡献度,也就是各观测对象实际对待检测对象的影响对待检测对象的异常问题进行定位,以提高异常根因定位的准确性,并基于观测对象的属性类型,分别从不同属性的观测对象中确定异常观测对象,从而考虑到观测对象属性类型的不同判断方式,提高异常判断的针对性,以进一步提高异常根因定位的准确性。
附图说明
图1是本申请异常根因定位方法一实施例的流程示意图;
图2是本申请异常根因定位方法另一实施例的流程示意图;
图3是图2实施例中步骤S21中贡献度计算一实施例的流程示意图;
图4是本申请异常根因定位装置一实施例的框架示意图;
图5是本申请电子设备一实施例的框架示意图;
图6为本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,可以存在三种关系,例如,A和/或B,可以:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般前后关联对象是一种“或”的关系。此外,本文中的“多”两个或者多于两个。
请参阅图1,图1是本申请异常根因定位方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S11:响应于获取到待检测对象的异常告警信息,分别计算得到待检测对象的各观测对象对待检测对象的表现情况影响的贡献度。
获取到待检测对象的异常告警信息后,分别计算待检测对象的各观测对象的贡献度,其中,各观测对象的贡献度是指各观测对象所能对待检测对象的表现情况产生影响的程度。
在一个具体的应用场景中,待检测对象可以为通信系统、无线网络、软件程序、工业系统等整个系统或各系统中某个独立部位,具体的待检测对象在此不做限定。而待检测对象的各观测对象是指待检测对象中能够对待检测对象的表现情况产生影响的全部属性。在一个具体的应用场景中,当待检测对象为通信系统中某个接口时,待检测对象的各观测对象可以为与该接口相关并影响该接口的连通与否的所有属性。
在待检测对象的运行过程中,对异常告警信息进行监控。在一个具体的应用场景中,可以判断在预设时间内,待检测对象的表现情况是否高于或低于预设阈值,当待检测对象的表现情况是高于或低于预设阈值时,即可确定获取到待检测对象的异常告警信息。在另一个具体的应用场景中,也可以通过学习时间序列检测方法对待检测对象的表现情况进行检测,以确定待检测对象是否出现异常,从而判断是否获得待检测对象的异常告警信息。具体对待检测对象进行异常检测的方法在此不做限定。其中,预设时间可以基于实际应用的具体情况而定。例如:3分钟、5分钟等,在此不做限定。
步骤S12:分别获取到各观测对象的属性类型;其中,属性类型包括原子属性以及非原子属性。
基于各观测对象自身的属性类型进行属性分类,从而分别获取到各观测对象的属性类型。其中,属性类型包括原子属性以及非原子属性。
在本申请中,原子属性的观测对象是指最小单位的属性,原子属性无法往下进行划分得到子属性。例如:用户ID、设备ID等具有唯一信息含义的属性。而非原子属性的观测对象是指非最小单位的属性,非原子属性可以往下进行划分得到子属性,例如版本属性可以往下划分为版本v2.2.2、版本v2.2.3或其他版本;地理属性可以往下划分为亚洲、欧洲或南美洲等。
步骤S13:利用各观测对象的属性类型及其贡献度从各观测对象中确定异常观测对象。
在得到了各观测对象的属性类型后,基于各观测对象的属性类型和各观测对象的贡献度从各观测对象中确定异常观测对象。其中,异常观测对象是指导致待检测对象产生异常观测对象。
在一个具体的应用场景中,可以基于属性类型将各观测对象分类成原子属性的观测对象和得原子属性的观测对象。利用各观测对象的贡献度分别采用不同的判断方式对原子属性的观测对象和非原子属性的观测对象进行异常判断,从而得到原子属性的异常观测对象和/或非原子属性的异常观测对象。
在一个具体的应用场景中,当观测对象为非原子属性时,可以通过设置阈值,将阈值与观测对象的贡献度进行对比,从而确定该观测对象是否异常。在一个具体的应用场景中,当观测对象为非原子属性时,也可以通过各非原子属性的观测对象的贡献度之间的差别大小来确定异常观测对象。在一个具体的应用场景中,当观测对象为原子属性时,可以利用各原子属性的观测对象之间的贡献度大小,依次对各原子属性的观测对象进行异常判断。
通过上述步骤,本实施例的异常根因定位方法在获取到待检测对象的异常告警信息后,分别计算得到各观测对象对待检测对象的表现情况影响的贡献度,再基于各观测对象的属性类型及其贡献度从各观测对象中确定异常观测对象。从而通过各观测对象贡献度,也就是各观测对象实际对待检测对象的影响来对待检测对象的异常问题进行定位,以提高异常根因定位的准确性,并基于观测对象的属性类型,分别从不同属性的观测对象中确定异常观测对象,从而考虑到观测对象属性类型的不同判断方式,提高异常判断的针对性,以进一步提高异常根因定位的准确性。
请参阅图2,图2是本申请异常根因定位方法另一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S21:响应于获取到待检测对象的异常告警信息,分别计算得到待检测对象的各观测对象对待检测对象的表现情况影响的贡献度。
当获取到待检测对象的异常告警信息时,先获取到可能对待检测对象的表现情况产生影响的全部观测对象,即对可能影响待检测对象的表现情况的属性列表遍历。
获取到待检测对象的各观测对象后,获取预设异常时间内各观测对象的反馈数据,反馈数据为待检测对象在运行中,各观测对象反馈回来的实时数据。在一个具体的应用场景中,当待检测对象为通信系统中某个接口时,待检测对象的各观测对象可以为与该接口相关并影响该接口的连通与否的所有属性,而反馈数据可以为各属性的实时属性值。而预设异常时间是指在获取到异常告警信息前的一段时间,具体可以根据实际情况进行设置,在此不做限定。
在一个具体的应用场景中,获取到各观测对象的反馈数据后,可以判断是否获取到了每个观测对象对应的反馈数据,如果存在没有获取到对应反馈数据的观测对象,则继续获取该观测对象的反馈数据。如果获取到了每个观测对象对应的反馈数据,则基于各反馈数据的类型对各反馈数据进行排序管理。在一个具体的应用场景中,可以根据反馈数据中的时间信息类型、经纬度信息类型或其他参数信息类型进行排序管理,以便于后续贡献度的计算。
请参阅图3,图3是图2实施例中步骤S21中贡献度计算一实施例的流程示意图。
步骤S211:获取到各观测对象的第一总体表现情况以及目标观测对象的单体表现情况。
从排序管理后的反馈数据中提取到各观测对象的第一总体表现情况和目标观测对象的单体表现情况。在一个具体的应用场景中,当待检测对象为通信系统中某个接口时,各观测对象的第一总体表现情况可以为该接口的连通成功率,通过在反馈数据中提取该接口的所有上报连通次数和成功连通次数,从而计算出该接口的连通成功率。在一个具体的应用场景中,当待检测对象为通信系统中某个接口,目标观测对象为该接口10个版本中的某个版本属性时,该版本的单体表现情况可以为该版本下接口的连通成功率,从通过在反馈数据中提取该版本下接口的上报连通次数和成功连通次数,从而计算出该版本的连通成功率。
步骤S212:基于目标观测对象的单体表现情况对第一总体表现情况进行剔除操作,得到剔除目标观测对象后的剩余观测对象的第二总体情况。
获得了待检测对象的第一总体表现情况和目标观测对象的单体表现情况后,将目标观测对象从待检测对象的各观测对象中剔除,以获得不包含目标观测对象的剩余所有观测对象的第二总体表现情况。
在一个具体的应用场景中,将目标观测对象从待检测对象的各观测对象中剔除的步骤可以为从待检测对象的各观测对象的所有反馈数据中将目标观测对象的反馈数据全部剔除掉,从而得到不包含目标观测对象的剩余所有观测对象的第二总体表现情况。
在一个具体的应用场景中,待检测对象第一总体表现情况可以包括总体上报数据量以及总体成功数据量,目标观测对象的单体表现情况可以包括单体上报数据量以及单体成功数据量,用总体上报数据量减去单体上报数据量,得到剩余上报数据量,用总体成功数据量减去单体成功数据量,得到剩余成功数据量,基于剩余上报数据量与剩余成功数据量之间的比值得到第二总体情况。
步骤S213:将第一总体表现情况与第二总体情况进行对比,得到第一总体表现情况和第二总体表现情况之间的表现情况差别。
将待检测对象的第一总体表现情况和剔除目标观测对象后的剩余观测对象的第二总体情况进行对比,得到第一总体表现情况和第二总体表现情况之间的表现情况差别。第一总体表现情况和第二总体表现情况之间的表现情况差别即可充分反映目标观测对象在待检测对象的第一总体表现情况中的实际作用程度。
步骤S214:基于表现情况差别确定目标观测对象的贡献度。
基于目标观测对象的表现情况差别来确定目标观测对象的贡献度。目标观测对象的表现情况差别越大,则目标观测对象的贡献度越大,目标观测对象的表现情况差别与目标观测对象的贡献度呈正比。
其他观测对象的贡献度的计算方法与目标观测对象相同,请参阅前文,在此不再赘述。分别剔除所有的观测对象后,获得所有观测对象的贡献度。
另外,本实施例通过对目标观测对象进行剔除操作来计算目标观测对象的贡献度,而非直接通过目标观测对象的单体表现情况来确定其贡献度的原因是在预设异常时间内,目标观测对象的单体表现情况难以在一定程度上反映目标观测对象对待检测对象的影响,其可能受到时间因素、地理因素、对应的反馈数据量以及突发事件等因素的影响,使得目标观测对象的单体表现情况缺乏客观性。
通过上述方法,本实施例通过将目标观测对象从各观测对象中剔除,以通过剔除目标观测对象后剩余观测对象的第二总体表现和所有观测对象的第一总体表现之间的表现情况差别来确定目标观测对象对待检测对象的贡献度,从而能够更加综合、直接地考虑目标观测对象对待检测对象的影响,从而提高计算得到的目标观测对象的贡献度的准确性。
步骤S22:基于各观测对象的属性类型获取到原子属性的观测对象和非原子属性的观测对象。
本步骤与图1实施例中步骤S12相同,请参阅前文实施例,在此不再赘述。
步骤S23:利用统计学方法从非原子属性的观测对象中确定异常观测对象。
本步骤对非原子属性的观测对象进行异常判断。具体地,将各非原子属性的观测对象的贡献度进行大小排序,得到各非原子属性的观测对象的贡献度序列。
判断贡献度序列是否服从正态分布,如果贡献度序列服从正态分布,则基于贡献度序列通过三西格玛法计算得到第一异常范围,将符合第一异常范围的贡献度对应的观测对象确定为非原子属性的异常观测对象。具体地,下列公式(1)或公式(2)计算得到第一异常范围。其中,服从正态分布的贡献度序列可以为近似正态分布或正态分布。
y>μ+3σ (1)
y<μ-3σ (2)
其中,y为观测对象的贡献度,μ为贡献度序列中各贡献度的平均值,σ为贡献度序列中各贡献度的标准差。本步骤通过设置各贡献度的平均值加减三倍标准差与各贡献度进行大小对比,将大于各贡献度的平均值加三倍标准差的贡献度对应的观测对象与小于各贡献度的平均值减三倍标准差的贡献度非原子属性的观测对象确定为异常观测对象。即第一异常范围为(-∞,μ-3σ)以及(μ+3σ,+∞)。
如果贡献度序列不服从正态分布,则基于贡献度序列通过箱线图异常值法计算得到第二异常范围,将符合第二异常范围的贡献度对应的非原子属性的观测对象确定为异常观测对象。具体地,先计算贡献度序列中1、3分位数的分位距,并分别使用1、3分位数减去和/或加上1.5倍的分位距确定第二异常范围。计算1、3分位数与分位距通过下列公式(3)获得。
IQR=Q
其中,IQR为分位距,Q3为3分位数,Q1为1分位数,qn(0.75)为贡献度序列中排列在整个序列75%位置的贡献度,qn(0.25)为贡献度序列中排列在整个序列25%位置的贡献度。
则通过公式(4)和公式(5)来确定第二异常范围。
y>Q
y 本步骤通过设置贡献度序列的1、3分位数减去和加上1.5倍的分位距与各贡献度进行大小对比,将大于3分位数加上1.5倍的分位距的贡献度对应的非原子属性的观测对象与小于1分位数减去1.5倍的分位距的贡献度的非原子属性的观测对象确定为异常观测对象。即第一异常范围为(-∞,Q 使用上述3西格玛法和箱线图异常值法,分别对呈正态分布的贡献度序列和散乱的贡献度序列的非原子属性的观测对象进行异常判断,以将非原子属性中异常观测对象筛查出来。 步骤S24:利用迭代剔除法从原子属性的观测对象中确定异常观测对象。 基于各原子属性的观测对象的单体表现情况或贡献度大小对各原子属性的观测对象进行升序排列,得到原子属性序列。在一个具体的应用场景中,当各观测对象的为10个接口时的成功率时,可以按照这10个接口的成功率的大小进行升序排列,得到原子属性序列。其中,观测对象的单体表现情况从观测对象的反馈数据中获得,且考虑到原子属性的观测对象的离散程度高,其获取的反馈数据的时间区间较短。 按照原子属性序列的排列顺序将原子属性的观测对象从原子属性序列中剔除,获取剔除原子属性的观测对象后剩余原子属性的观测对象对应的第三总体表现情况。在一个具体的应用场景中,若原子属性序列是按成功率进行排列的,则剔除顺序为先将成功率最低的观测对象从原子属性序列中剔除,再将成功率第二低的观测对象从原子属性序列中剔除,再将成功率第三低的观测对象从原子属性序列中剔除...依次类推,按照原子属性序列的升序顺序对各原子属性的观测对象进行剔除。其中,在一个具体的应用场景中,剔除规则为:当原子属性的观测对象共有10个,剔除成功率最低的观测对象后,剩余观测对象为9个,而下一次剔除则在9个观测对象的基础上进行剔除,得到剩余8个的观测对象...依次类推。 当剔除某个原子属性的观测对象后,得到剩余观测对象的第三总体表现情况,其中,本步骤中的剩余观测对象指非原子属性和原子属性的观测对象中剔除成功率最低的观测对象后剩余的观测对象。将第三总体表现情况与预设表现情况进行对比,其中预设表现情况为正常情况下待检测对象的表现情况,如果第三总体表现情况与预设表现情况相同,则说明在剔除成功率最低的观测对象后,待检测对象的表现情况恢复正常,则可以将成功率最低的观测对象确定为原子属性的异常观测对象。如果第三总体表现情况与预设表现情况相同,则说明在剔除成功率最低的观测对象后,待检测对象的表现情况没有改变,成功率最低的原子属性的观测对象不为异常观测对象,则继续按照剔除规则依次剔除原子属性序列中的观测对象。 在原子属性序列的剔除过程中,判断从原子属性序列中剔除的观测对象的数量是否超过剔除阈值;如果超过剔除阈值,则说明整个原子属性的观测对象中存在大面积异常,则结束对原子属性序列的剔除操作。考虑到实际应用中,原子属性的观测对象的数量非常大,因此,在原子属性的观测对象的异常判断中设置剔除阈值,来避免对原子属性序列进行多次无效的剔除操作,从而造成时间和资源的浪费。 如果没有超过剔除阈值,则执行按照原子属性序列的排列顺序继续将原子属性的观测对象从原子属性序列中剔除,获取剔除原子属性的观测对象后剩余原子属性的观测对象对应的第三总体表现情况的步骤,以从原子属性的观测对象中确定原子属性的异常观测对象。 在一个具体的应用场景中,当各观测对象的贡献度相差不大,难以通过统计学方法或迭代剔除法判断异常观测对象时,可以基于各观测对象自身的单体表现情况进行异常判断。例如:通过接口自身的成功率判断该接口是否异常。 步骤S25:检测异常观测对象的异常程度,选择与异常程度对应的提醒方式进行异常提醒。 当确定非原子属性的异常观测对象后,由于非原子属性的观测对象中不是最小单位的观测对象,其可能存在不同范围和程度的异常情况。因此,通过设置广泛阈值来对非原子属性的异常观测对象的异常程度进先判断。 具体地,判断非原子属性的异常观测对象的广泛程度是否超过广泛阈值;如果非原子属性的异常观测对象的广泛程度超过广泛阈值,则说明该非原子属性的异常观测对象中存在大面积异常,确定非原子属性的异常观测对象的异常程度为显著异常,对非原子属性的异常观测对象进行显著异常提醒;如果异常的非原子属性的广泛程度没有超过广泛阈值,则说明该非原子属性的异常观测对象中只存在小面积异常,确定非原子属性的异常观测对象的异常程度为普通异常,对非原子属性的异常观测对象进行普通异常提醒。 其中,本步骤中的广泛程度和广泛阈值都可以基于实际应用中观测对象的具体类型而定,例如:当非原子属性的异常观测对象为版本类型时,广泛程度可以依据使用该版本的用户数而定。当非原子属性的异常观测对象为地理属性时,广泛程度可以依据地理面积而定。在此不做限定,而广泛阈值即基于广泛程度的设置进行相应设置,在此也不做限定。 在一个具体的应用场景中,当非原子属性的异常观测对象为版本v2.2.2时,可以判断使用版本v2.2.2的用户数是否超过设定值或设定比例,如果超过,则可以确定版本v2.2.2出现显著异常,对版本v2.2.2进行显著异常提醒。如果没有超过,则可以确定版本v2.2.2出现普通异常,对版本v2.2.2进行普通异常提醒。 而针对原子属性的异常观测对象的提醒方式,需要先判断是否获取到原子属性的异常观测对象;如果获取到原子属性的异常观测对象,也就是在剔除阈值的范围内,通过剔除操作确定了原子属性的异常观测对象,则将原子属性的异常观测对象的异常程度确定为普通异常,对原子属性的异常观测对象进行普通异常提醒; 如果没有获取到原子属性的异常观测对象,则说明在剔除阈值的范围内,没有确定原子属性的异常观测对象,原子属性的观测对象中存在大面积异常,对原子属性的观测对象进行显著异常提醒。 当确定了异常观测对象的提醒方式后,将异常的观测对象及其相关信息综合为提醒信息,并通过实时通信的方式将提醒信息展示给人工。异常的观测对象的相关信息可以包括边缘情况的提示、异常的观测对象的时间、地理、异常程度等相关信息,以使人工能够清楚地通过提醒信息或者待检测对象出现异常的根因,以便于人工即使对异常的观测对象进行相应处理,使待检测对象恢复正常。 在一个具体的应用场景中,可以对提醒信息进行降级处理,以简化提醒信息的提醒内容,提高人工获取提醒信息的效率。 通过上述步骤,本实施例的异常根因定位方法在获取到待检测对象的异常告警信息后,分别对目标观测对象进行剔除,从而通过剩余观测对象的第二总体表现和所有观测对象的第一总体表现之间的表现情况差别来确定目标观测对象对待检测对象的贡献度,来使贡献度能够真实全面地反应目标观测对象对待检测对象的影响程度,从而提高依据贡献度进行的根因定位的准确率。本实施例还区分原子属性和非原子属性的观测对象,分别采用统计学方法和迭代剔除算法,进行异常判断,并通过广泛性检验和剔除阈值的设置,区分不同的异常程度,根据不同的异常程度采用不同的提醒方式对人工进行提醒,从而给出人性化的根因定位提示。 本实施例能在获取到异常告警信息的同时进行计算,用较小的时间消耗,丰富告警内容,提供排障方向。实际应用中,考虑到多各待检测对象的告警需求,设置了多种降级方法及提示信息,降低了告警信息传播复杂度,有效提升故障检测和定位效率。 请参阅图4,图4是本申请异常根因定位装置一实施例的框架示意图。异常根因定位装置40包括计算模块41、获取模块42以及确定模块43。计算模块41,用于响应于获取到待检测对象的异常告警信息,分别计算得到待检测对象的各观测对象对待检测对象的表现情况影响的贡献度;获取模块42用于分别获取到各观测对象的属性类型;其中,属性类型包括原子属性以及非原子属性;确定模块43,用于利用各观测对象的属性类型及其贡献度从各观测对象中确定异常观测对象。 计算模块41还用于获取到各观测对象的第一总体表现情况以及目标观测对象的单体表现情况;基于目标观测对象的单体表现情况对第一总体表现情况进行剔除操作,得到剔除目标观测对象后的剩余观测对象的第二总体情况;将第一总体表现情况与第二总体情况进行对比,得到第一总体表现情况和第二总体表现情况之间的表现情况差别;基于表现情况差别确定目标观测对象的贡献度。 计算模块41还用于获取到各观测对象的反馈数据;基于各观测对象的反馈数据类型对反馈数据进行排序管理;基于排序管理后的反馈数据获取到各观测对象的第一总体表现情况和目标观测对象的单体表现情况。 确定模块43还用于基于各观测对象的属性类型获取到原子属性的观测对象和非原子属性的观测对象;利用统计学方法从非原子属性的观测对象中确定异常观测对象;利用迭代剔除法从原子属性的观测对象中确定异常观测对象。 确定模块43还用于检测异常观测对象的异常程度;选择与异常程度对应的提醒方式进行异常提醒。 确定模块43还用于将各非原子属性的观测对象的贡献度进行大小排序,得到各非原子属性的观测对象的贡献度序列;判断贡献度序列是否服从正态分布;如果贡献度序列服从正态分布,则基于贡献度序列通过三西格玛法计算得到第一异常范围,将符合第一异常范围的贡献度对应的观测对象确定为非原子属性的异常观测对象;如果贡献度序列不服从正态分布,则基于贡献度序列通过箱线图异常值法计算得到第二异常范围,将符合第二异常范围的贡献度对应的观测对象确定为非原子属性的异常观测对象; 确定模块43还用于基于各原子属性的观测对象的单体表现情况或贡献度大小对各原子属性的观测对象进行升序排列,得到原子属性序列;按照原子属性序列的排列顺序将原子属性的观测对象从原子属性序列中剔除,获取剔除原子属性的观测对象后剩余观测对象对应的第三总体表现情况;将第三总体表现情况与预设表现情况进行对比,以确定原子属性的异常观测对象。 上述方案,能够提高异常根因定位的准确性。 请参阅图5,图5是本申请电子设备一实施例的框架示意图。电子设备50包括相互耦接的存储器51和处理器52,处理器52用于执行存储器51中存储的程序指令,以实现上述任一异常根因定位方法实施例的步骤。在一个具体的实施场景中,电子设备50可以包括但不限于:微型计算机、服务器,此外,电子设备50还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。 具体而言,处理器52用于控制其自身以及存储器51以实现上述任一异常根因定位方法实施例的步骤。处理器52还可以称为CPU(Central Processing Unit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器52可以由集成电路芯片共同实现。 上述方案,能够提高异常根因定位的准确性。 请参阅图6,图6为本申请计算机可读存储介质一实施例的框架示意图。计算机可读存储介质60存储有能够被处理器运行的程序指令601,程序指令601用于实现上述任一异常根因定位方法实施例的步骤。 上述方案,能够提高异常根因定位的准确性。 在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
- 异常根因定位方法以及相关装置、设备
- 异常根因定位方法、装置、电子设备及存储介质