CN110474799B - 故障定位方法及装置 - Google Patents

故障定位方法及装置 Download PDF

Info

Publication number
CN110474799B
CN110474799B CN201910701115.6A CN201910701115A CN110474799B CN 110474799 B CN110474799 B CN 110474799B CN 201910701115 A CN201910701115 A CN 201910701115A CN 110474799 B CN110474799 B CN 110474799B
Authority
CN
China
Prior art keywords
fault
host
service
index
performance data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910701115.6A
Other languages
English (en)
Other versions
CN110474799A (zh
Inventor
王一大
姬长波
王新东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201910701115.6A priority Critical patent/CN110474799B/zh
Publication of CN110474799A publication Critical patent/CN110474799A/zh
Application granted granted Critical
Publication of CN110474799B publication Critical patent/CN110474799B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种故障定位方法及装置,涉及通信技术领域,用于根据特征阈值以及故障指标的关联关系对运行当前故障服务的主机性能数据中的性能指标进行筛选,以提高对故障进行定位的效率。该方法包括:在第一主机上调用第一服务的耗时超过第一服务对应的预设调用耗时阈值时,获取该第一主机的性能数据。将第一主机的性能数据中超过特征阈值的性能指标确定为第一主机的第一故障指标。根据第一故障指标以及故障指标的关联分析模型,确定与第一故障指标相关联的第二故障指标,进而确定第一主机的故障指标。

Description

故障定位方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种分布式服务的故障定位方法及装置。
背景技术
在大型互联网架构中,为提升平台的计算能力及资源利用率,普遍采用分布式技术。分布式技术是一种基于网络的计算机处理技术,与集中式相对应,是由网络中的多个计算机来完成同一服务。但是若主机的资源需求与资源分配不匹配、部分主机长时间负载过重导致服务失效,造成服务中断或者数据丢失时,由于服务分散在不同主机上,故障问题难以定位,运维人员排查耗时较长。因此,有必要对分布式环境中的服务故障预测及问题定位技术进行深入研究,提高故障排查的效率。
目前,现有的故障定位技术主要是,在服务发生故障时,由运维人员对完成该服务的所有主机逐个进行排查,以实现故障的定位,但这种方式会消耗大量人力,故障定位效率较低。
发明内容
本申请提供一种故障定位方法及装置,能够根据特征阈值以及故障指标的关联关系对运行当前故障服务的主机的性能数据中的性能指标进行筛选,以提高对故障进行定位的效率。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种故障定位方法,所述方法包括:在第一主机上调用第一服务的耗时超过第一服务对应的预设调用耗时阈值时,获取该第一主机的性能数据,第一主机为运行第一服务的至少一个主机中的一个,第一服务为当前故障服务,预设调用耗时阈值与第一主机存在对应关系,性能数据中包括至少一个性能指标。将第一主机的性能数据中超过特征阈值的性能指标确定为第一主机的第一故障指标,特征阈值与性能指标存在对应关系。根据第一故障指标以及故障指标的关联分析模型,确定与第一故障指标相关联的第二故障指标,确定第一主机的故障指标,该故障指标包括第一故障指标与第二故障指标。
第二方面,本申请提供一种故障定位装置,所述装置包括:获取单元在第一主机上调用第一服务的耗时超过第一服务对应的预设调用耗时阈值时,获取该第一主机的性能数据,第一主机为运行第一服务的至少一个主机中的一个,第一服务为当前故障服务,预设调用耗时阈值与第一主机存在对应关系,性能数据包括至少一个性能指标。确定单元将第一主机的性能数据中超过特征阈值的性能指标确定为第一主机的第一故障指标,特征阈值与性能指标存在对应关系,然后根据第一故障指标以及故障指标的关联分析模型,确定与第一故障指标相关联的第二故障指标,最后确定第一主机的故障指标为第一故障指标与第二故障指标。
第三方面,本申请提供一种存储一个或多个程序的计算机可读存储介质,计算机可读存储介质中存储有指令,所述一个或多个程序包括指令,所述指令当被计算机执行时使所述计算机执行第一方面及其各种可选的实现方式中任意之一所述的故障定位方法。
第四方面,本申请提供一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得所述计算机执行第一方面及其各种可选的实现方式中任意之一所述的故障定位方法。
第五方面,本申请提供一种故障定位装置,包括:处理器、存储器和通信接口。其中,通信接口用于与其他设备或通信网络通信,存储器用于存储一个或多个程序,所述一个或多个程序包括计算机执行指令,当该装置运行时,处理器执行存储器存储的所述计算机执行指令以使该装置执行第一方面及其各种可选的实现方式中任意之一所述的故障定位方法。
本申请的实施例提供一种故障定位方法及装置,在第一主机上调用第一服务的耗时超过第一服务对应的预设调用耗时阈值时,获取该第一主机的性能数据,第一主机为运行第一服务的至少一个主机中的一个,第一服务为当前故障服务,预设调用耗时阈值与第一主机存在对应关系,性能数据中包括至少一个性能指标。将第一主机的性能数据中超过特征阈值的性能指标确定为第一主机的第一故障指标,特征阈值与性能指标存在对应关系。根据第一故障指标以及故障指标的关联分析模型,确定与第一故障指标相关联的第二故障指标,确定第一主机的故障指标,该故障指标包括第一故障指标与第二故障指标。本申请通过对运行当前故障服务的第一主机的性能数据与特征阈值相对比,得到第一故障指标,再根据故障指标的关联关系和第一故障指标确定第二故障指标,进而确定第一主机的故障指标,对运行当前故障服务的主机的性能数据中的性能指标进行筛选,减少人力消耗,从而提高对故障进行定位的效率,具有重要的理论意义和实际应用价值。
附图说明
图1为本申请实施例提供的故障定位方法的流程图;
图1a为本申请实施例所涉及到的基于最小生成树的K中心点
(K-mediods)聚类的流程图;
图1b为本申请实施例所涉及到的Apriori的流程图;
图2为本申请实施例提供的另一种故障定位方法的流程图;
图2a为本申请实施例所涉及到的决策树算法的流程图;
图3为本申请实施例提供的故障定位装置的结构示意图一;
图4为本申请实施例提供的故障定位装置的结构示意图二。
具体实施方式
本申请实施例提供了一种故障定位方法,主要应用到分布式系统中,其执行主体为该分布式系统中的计算机设备,如服务器。在分布式系统中,一组独立的计算机作为一个统一的整体,共同完成同一任务。系统中存在一个以全局的方式管理计算机资源的分布式操作系统,拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。如图1所示,所述故障定位方法包括步骤S101-S104:
S101、获取第一主机的性能数据。
当第一主机上调用第一服务的耗时超过第一服务对应的预设调用耗时阈值时,获取第一主机的性能数据。其中,第一主机为运行第一服务的至少一个主机中的一个,第一服务为当前故障服务,预设调用耗时阈值与第一主机存在对应关系,性能数据包括至少一个性能指标。
示例性的,运行第一服务的主机有三个,分别为主机1、主机2和主机3,主机1调用第一服务的耗时为1ms,主机2调用第一服务的耗时为2ms,主机3调用第一服务的耗时为2.5ms,主机1、主机2和主机3对应的预设调用耗时阈值可以相同,也可以不同。以主机1、主机2和主机3对应的预设耗时阈值均为1.5ms为例,则获取主机2和主机3的性能数据。
示例性的,性能指标包括网络流入流量、网络流出流量、用户中央处理器(centralprocessing unit,CPU)使用率、系统CPU使用率、CPU整体剩余情况、写入IO流量、网络控制报文协议(internet control message protocol,ICMP)、数据库连接数、数据库MySQL数量、数据库长连接数量中的至少一项。性能指标还可以为除本申请实施例中涉及到的性能指标之外的其他性能指标,例如运算速度等。
示例性的,通过实时监控服务(application real-time monitoring service,ARMS)采集服务调用耗时数据,通过Zabbix采集与当前服务相对应的各主机的性能数据,并将采集到的数据存入数据库管理系统MariaDB以构建全量数据。MariaDB中存储有运行当前服务的主机的性能数据和相应的服务调用耗时,以及运行历史服务的主机的性能数据和相应的服务调用耗时。因此,除直接从第一主机获取其性能数据,还可从MariaDB中获取第一主机的性能数据。
S102、将第一主机的性能数据中超过特征阈值的性能指标确定为第一主机的第一故障指标。
其中,特征阈值与性能指标存在对应关系。
示例性的,第一主机的性能数据中有三个性能指标分别为a、b和c,其中a=10%,b=5,c=6,与这三个指标对应的特征阈值分别为20%、7和5,则第一主机的第一故障指标为c。
需要说明的是,步骤S102中涉及到的特征阈值是根据主机运行历史故障服务时的性能数据来确定的。可选的,在一种可能的实现方式中,当第二主机上调用第二服务的耗时超过第二服务对应的预设调用耗时阈值时,获取第二主机的性能数据,第二主机是运行第二服务的至少一个主机中的一个,第二服务为历史故障服务,预设调用耗时阈值与第二主机存在对应关系,性能数据中包括至少一个性能指标。根据所有第二主机的性能数据以及第一预设算法,确定性能数据中各个性能指标的特征阈值。其中,第一主机与第二主机可以为同一主机。
示例性的,第一预设算法为基于最小生成树的聚类算法,对所有第二主机的性能数据中的每个性能指标进行基于最小生成树的聚类分析,得到至少一个聚类簇,聚类簇与性能指标存在对应关系,取这些聚类簇的聚类中心点作为与其对应的性能指标的特征阈值。
示例性的,第一预设算法为基于最小生成树的K中心点(K-mediods)算法,下面结合图1a对基于最小生成树的K中心点(K-mediods)算法进行简要介绍,包括步骤S1021-S10210:
S1021、输入多个样本点。
S1022、根据多个样本点间的距离,生成顶点集和边集。
若样本点为某种数值,则计算样本点之间的差值。若样本点为某种位置,则计算样本点之间的距离,并生成相应的顶点集和边集。以样本点有3个,分别为a、b、c为例,这三个样本点之间的距离分别为ab、ac和bc,则顶点集为{a、b、c},边集为{ab、ac、bc}。
S1023、确定最小边的两个顶点的中间点。
S1024、将顶点集中的最小边的顶点替换为中间点,得到新的顶点集和边集。
示例性的,以顶点集为{a、b、c},边集为{ab、ac、bc}来进行说明,若ab为边集中的最小边,对边ab的顶点a和b取中间点得到d,则新的顶点集和边集分别为{d,c}和{dc}。
S1025、判断顶点集中的顶点数量是否超过K。
若顶点集中的顶点数量超过K,则进行步骤S1023,顶点集中的顶点数量未超过K,则进行步骤S1026。其中,K的取值即为最终得到的聚类簇的数量。
示例性的,K=1,顶点集和边集分别为{d,c}和{dc},则进行步骤S1023,确定d和c的中间点为e,则得到顶点集为{e},进行步骤S1026。
S1026、确定初始聚类中心点。
确定顶点集中的K个顶点为初始聚类中心点。
S1027、计算各个样本点与聚类中心点的距离。
S1028、对多个样本点进行聚类,确定新的聚类中心点。
将距离同一聚类中心点较近且不超过预设阈值的样本点放入同一聚类簇中。
示例性的,K=1,样本点有3个,分别为a、b和c,顶点集为{e},则初始聚类中心点为e,将a、b和c归入到同一聚类簇中,然后确定新的聚类中心点。分别进行加权求和,得到这三个样本点的权重值,a的权重值为(ab+ac),b的权重值为(ab+bc),c的权重值为(ac+bc),且(ab+ac)>(ab+bc)>(ac+bc),则确定c为新的聚类中心点。
S1029、判断聚类中心点是否发生改变。
确定每个聚类簇的新的聚类中心点,若新的聚类中心点与初始聚类中心点不同,则将新的聚类中心点作为初始聚类中心点进行步骤S1027。若新的聚类中心点与初始聚类中心点相同,则进行步骤S10210。
S10210、聚类结束。
在本申请的实施例中,得到k个聚类簇。在本申请的实施例中,将聚类中心点确定为特征阈值。
在本申请的实施例中将新的聚类中心点确定为特征阈值。
示例性的,获取某一历史时间段内的故障服务的相关数据,这一历史时间段内的故障服务有3个,分别为服务1、服务2和服务3。运行服务1的主机有3个,分别为主机A1、A2和A3,这3个主机调用服务1的耗时分别为1ms、3ms、4ms,对应的预设调用耗时阈值分别为2ms、2ms、3ms,则获取主机A2和主机A3运行服务1时的性能数据。运行服务2的主机有2个,分别为主机A2和主机A4,这两个主机调用服务2的耗时分别为2ms、3ms,对应的预设调用耗时阈值分别为1ms、2ms,则获取主机A2和主机A4运行服务2时的性能数据。运行服务3的主机有1个,为主机A5,主机A5调用服务3的耗时为5ms,对应的预设调用耗时阈值为3ms,则获取主机A5运行服务3时的性能数据。性能数据中包含3个性能指标a、b和c,以性能指标a为例,在获取到的运行服务1的主机A2和A3、运行服务2的主机A2和A4以及运行服务3的主机A5的性能数据中,a的取值分别为a1=1、a2=2、a3=5、a4=6、a5=8。先对取值相近的a1和a2取均值得到a6,a6的取值为1.5,然后对取值相近的a3和a4取均值得到a7,a7的取值为5.5,继续对取值相近的a5和a7取均值得到a8,a8的取值为6.75,最后对a8和a6取均值得a9,a9的取值为4.125,确定性能指标a对应的聚类簇的初始聚类中心点为4.125,进行聚类分析得到聚类簇1,确定聚类簇1中与其他性能指标取值最近的a3作为聚类簇1的聚类中心点,性能指标a的特征阈值为5,因此,a是运行服务2的主机A4和运行服务3的主机A5的第一故障指标。
需要说明的是,第一预设算法可以根据实际情况确定,并不局限于本申请实施例中所提到的基于最小生成树的K-mediods算法。例如,第一预设算法还可以为基于最小生成树的K-means算法或者其他的衍生算法。
S103、根据第一故障指标以及故障指标的关联分析模型,确定与第一故障指标相关联的第二故障指标。
其中,故障指标的关联分析模型用于表示第一故障指标与第二故障指标的关联关系。
示例性的,关联分析模型中的第一故障指标与第二故障指标的关联关系如下表1所示。若关联分析模型中无法查询到第一故障指标,则不存在与该第一故障指标相关联的第二故障指标。
表1
第一故障指标 第二故障指标
A c
B c
C a、b
a、c b
需要说明的是,步骤S103中涉及到的关联分析模型是根据主机运行历史故障服务时的性能数据以及特征阈值来确定的。可选的,在一种可能的实现方式中,当第二主机上调用第二服务的耗时超过第二服务对应的预设调用耗时阈值时,获取第二主机的性能数据,第二主机是运行第二服务的至少一个主机中的一个,第二服务为历史故障服务,预设调用耗时阈值与第二主机存在对应关系,性能数据中包括至少一个性能指标。然后将所有第二主机的性能数据中超过特征阈值的性能指标确定为第一故障指标矩阵,再根据第一指标故障矩阵以及第二预设算法,确定故障指标的关联分析模型。其中,第二预设算法为关联分析算法。
在另一种可能的实现方式中,可以直接从Hive等数据仓库中直接获取第一指标故障矩阵。若无法获取到所需的第一指标故障矩阵,可以按照上述方式来确定第一指标故障矩阵,并将其存储到Hive等数据仓库中。
示例性的,以主机的性能数据中包括a、b和c三个性能指标为例,获取某一历史时间段内的所有第二主机的性能数据,第二主机为这一历史时间段内运行故障服务的至少一个主机中的一个。所有的第二主机的性能数据包括主机A2和主机A3运行故障服务1时的性能数据,主机A4运行故障服务2时的性能数据。根据特征阈值确定第一故障指标矩阵为
Figure BDA0002150857770000081
第一故障指标矩阵中从上之下的第一行和第二行分别为运行故障服务1的主机A2和主机A3的第一故障指标,第三行为运行故障服务2的主机A4的第一故障指标。
示例性的,第二预设算法可以为Apriori算法。下面结合附图1b对Apriori算法进行简要介绍,包括步骤S1031-S1034:
S1031、获取数据集。
示例性的,第一故障指标矩阵为
Figure BDA0002150857770000082
则获取到的数据集有{b}、{a,c}和{a,b,c}。
S1032、确定候选项集。
若获取的数据集为{b}、{a,c}和{a,b,c},则候选项集为{a,b,c}的所有非空子集。
S1033、根据数据集和候选项集确定频繁项集。
通过数据集合确定每个候选项集出现的次数,进而计算每个候选项集的支持度,若候选项集的支持度大于预设最小支持度,则确定该候选项集为频繁项集。
示例性的,预设最小支持度为p,数据集中有i个集合(即i条数据记录),第j个候选项集为cj,确定第j个候选项集中的候选项同时出现在数据集的集合中的次数m,j个候选项集的支持度Pj=m/i。若Pj>p,则第j个候选项集为频繁项集。
S1034、根据频繁项集确定关联规则。
确定每个频繁项集的非空真子集,进而根据该频繁项集的非空真子集的支持度,计算频繁项集中各个项之间的关联规则的可信度(即关联程度),将可信度超过预设可信度阈值的关联规则确定为所需关联规则。在本申请的实施例中,将所需关联规则放入故障指标的关联分析模型中,用于表示第一故障指标与第二故障指标之间存在关联。
示例性的,频繁项集为{a,b,c},则该频繁项集的非空真子集为{a}、{b}、{c}、{a,c}、{a,b}和{b,c}。关联规则a->b的可信度confidence(a→b)={a,b}的支持度/{a}的支持度,即a和b同时出现在数据集的集合中的次数与a出现在数据集的集合中的次数的比值。若关联规则a->b的可信度confidence(a→b)超过预设可信度阈值,将该关联规则放入关联分析模型中,则可以确定故障指标a和b之间存在关联关系,若第一故障指标为a时,可以确定第二故障指标中存在b。
S104、确定第一主机的故障指标。
其中,第一主机的故障指标包括第一主机的第一故障指标以及与该第一故障指标相关联的第二故障指标。
在一种可能的实现方式中,确定第一主机的故障指标之后,可以通过前端界面或者RESTful API等方式显示第一主机的故障指标,以协助运维人员对故障问题进行定位。
本申请的实施例提供一种故障定位方法,在第一主机上调用第一服务的耗时超过第一服务对应的预设调用耗时阈值时,获取该第一主机的性能数据,第一主机为运行第一服务的至少一个主机中的一个,第一服务为当前故障服务,预设调用耗时阈值与第一主机存在对应关系,性能数据中包括至少一个性能指标。将第一主机的性能数据中超过特征阈值的性能指标确定为第一主机的第一故障指标,特征阈值与性能指标存在对应关系。根据第一故障指标以及故障指标的关联分析模型,确定与第一故障指标相关联的第二故障指标,确定第一主机的故障指标,该故障指标包括第一故障指标与第二故障指标。本申请通过对运行当前故障服务的第一主机的性能数据与特征阈值相对比,得到第一故障指标,再根据故障指标的关联关系和第一故障指标确定第二故障指标,进而确定第一主机的故障指标,对运行当前故障服务的主机的性能数据中的性能指标进行筛选,减少人力消耗,从而提高对故障进行定位的效率,具有重要的理论意义和实际应用价值。
在通过上述过程确定第一主机运行当前故障服务时的故障指标之前,为了实现尽早发现故障,并及时对故障进行定位的目的,还可以根据第一主机的运行历史服务时的性能数据,对第一主机运行当前服务时是否会发生故障进行预测,以进一步提高运维人员对故障进行定位的效率。因此本申请的实施例还提供了一种故障预测方法,该方法应用于分布式系统中,其执行主体为计算机设备,如服务器。如附图2所示,所述方法包括S201-S203:
S201、确定第一主机在第一预设时间段内的历史性能数据以及第二预设时间段的故障标识为训练数据。
其中,第一预设时间段内的历史性能数据与第二预设时间段的故障标识存在对应关系,第二预设时间段在第一预设时间段之后,故障标识用于表示运行在第一主机上的服务在第二预设时间段是否发生故障,历史性能数据中包含至少一项性能指标。
示例性的,所获取的第一预设时间段(3min)内的第一主机IP1的历史性能数据以及第一主机在第二预设时间段(1min)的历史服务调用耗时如下表2所示,第一预设时间段在第二预设时间段之前,与第二预设时间段间隔3min。根据表2中的数据得到的训练数据如下表3所示。
表2
Figure BDA0002150857770000111
表3
主机性能数据 标签
SET 1,SET 2,SET 3 LABEL 7
SET 2,SET 3,SET 4 LABEL 8
SET 3,SET 4,SET 5 LABEL 9
可选的,在一种可能的实现方式中,故障标识用于表示运行在第一主机上的服务是否发生故障。当历史服务调用耗时超过与其相对应的预设调用耗时阈值时,第一主机的故障标识用于表示运行在第一主机上的服务发生故障,当历史服务调用耗时未超过与其相对应的预设调用耗时阈值时,第一主机的故障标识用于表示运行在第一主机上的服务正常运行。
在另一种可能的实现方式中,可以从Hive等数据仓库中直接获取所需的标签数据。若无法直接获取所需的标签数据,则可以按照上述方式确定所需的标签数据,并将其存储在Hive等数据仓库中。
示例性的,第二预设时间段为3min,第三预设时间段为3min,表1所示的数据进行拼接处理后,得到拼接数据如表3所示。根据该拼接数据得到的训练数据进行模型训练后,得到的故障预测模型可以预测距离当前时间3min之后的服务是否会发生故障。
S202、根据训练数据以及第三预设算法进行模型训练,确定第一主机的故障预测模型。
其中,第三预设算法为决策树算法。
可选的,利用较大部分的数据以及决策树算法进行模型训练,生成故障预测模型,再利用剩余的较小部分的数据对该故障预测模型进行验证,得到验证结果,若验证的准确率较高,则该故障预测模型为第一主机的故障预测模型。
可选的,在另一种可能的实现方式中,利用训练数据以及决策树算法进行Q次模型训练,得到Q个故障预测模型,并得到Q个验证结果,对验证结果中准确率较高的模型,确定该模型为第一主机的故障预测模型。
需要说明的是,相对于最近邻(k-nearest neighbor,kNN)算法、逻辑回归(logistic regression)算法、朴素贝叶斯(naive bayesian)算法和支持向量机(supportvector machine,SVM)算法,利用本申请实施例中所应用的决策树算法进行模型训练,所得到的故障预测模型的准确率较高,具体对比结果如下表4所示。表4中的算法1-5分别为决策树(decision tree)算法、kNN算法、逻辑回归算法、朴素贝叶斯算法、SVM算法,可以看出,利用朴素贝叶斯算法得到的故障预测模型的准确率较低,相对于利用其它算法得到的故障预测模型来说,利用决策树算法进行模型训练得到的故障预测模型对故障进行预测的F测度值和召回率较高,因此,相对于利用其它算法进行模型训练所得到的故障预测模型,利用决策树算法进行模型训练所得到的故障预测模型的效果更好,更适用于本申请的应用场景。
表4
Figure BDA0002150857770000121
Figure BDA0002150857770000131
示例性的,分类算法可以为决策树算法,下面结合本申请实施例对决策树算法进行简要介绍,如附图2a所示:先生成结点node。然后判断训练数据集D={(x1,y1),(x2,y2),…,(xn,yn)}是否全部属于同一类别C。若是,则将该结点node标记为C类叶结点。若否,则继续判断性能指标集A={a1,a2,…,ad}是否为空集,或者D中样本在A上的取值相同,若是,则将该结点node标记为叶结点,其类别标记为D中样本数最多的类,若否,则从A中选择最优划分性能指标a。对于性能指标a中的每一个取值,都先为node生成一个分支结点,Dv表示D在a上取值为av的样本子集,如果Dv为空集,则将该将分支结点标记为叶结点,其类别标记为D中样本最多的类;如果Dv不为空集,则确定该分支结点为分支结点TreeGenerate(Dv,A\{a}),并在确定分支结点后,重新确定最优划分性能指标。其中,训练数据集D中的(x1,y1)中的x1表示主机的性能数据,x1包括性能指标集A中的所有性能指标,y1表示与x1相对应的主机运行的服务是否发生故障,若发生故障则y1取值为1,未发生故障则y1取值为2。
需要说明的是,从A中选择最优划分性能指标a*,是决策树生成的重要步骤,通常随着划分过程不断进行,决策树的分支结点所包含的样本尽可能多地属于同一类别,即分支结点的纯度越来越高。利用信息熵作为度量样本集合纯度常用指标,通过信息熵可以进一步获取每个性能指标的信息增益,从而根据每个性能指标的信息增益,选择合适的最优划分性能指标。
示例性的,当前样本集合D中第k类样本所占比例为pk(k=1,2…y),则D的信息熵
Figure BDA0002150857770000141
Ent(D)的值越小则D的纯度越高。性能指标a有V中可能的取值{a1,a2,…,av},则利用a对D进行划分,会产生V个分支结点,其中第v个分支结点包含D中所有在性能指标a上取值为av的样本并记为Dv,计算Dv的信息熵。不同分支结点所包含的样本数量不同,为每个分支结点赋予权重值,即样本数越多的分支结点影响越大,因此可计算出利用性能指标a对样本集D进行划分所获得的信息增益为
Figure BDA0002150857770000142
通常信息增益越大,使用性能指标a进行划分所获得的纯度提升越大。因此,可使用信息增益对决策树的划分性能指标进行选择,
Figure BDA0002150857770000143
其中,
Figure BDA0002150857770000144
表示Dv中样本数量与D中样本数量的比值。
S203、将第一主机的当前性能数据输入故障预测模型中,得到故障预测结果。
其中,故障预测结果表示在第三预设时间段后是否有故障发生。
在一种可能的实现方式中,得到故障预测结果后,可以将故障预测结果通过短信等形式显示告警信息,并发送给相关人员。
需要说明的是,也可以第一主机的历史数据输入到故障预测模型中,以确定当前服务是否会有故障发生,在预测到有故障发生时,利用步骤S101-S104来确定第一主机的故障指标,对故障进行定位。通过上述步骤S201-S203,可以根据某一主机运行历史服务的历史性能数据和故障标识,可以确定该主机的故障预测模型,以实现对该主机运行服务时是否会发生故障进行较为准确的预测,或者可以利用多个主机运行历史服务的历史性能数据和相对应的故障标识,可以确定这多个主机可以通用的故障预测模型,在进行故障预测的同时减少工作量。
本申请的实施例提供一种故障预测方法,获确定第一主机在第一预设时间段内的历史性能数据以及第二预设时间段的故障标识为训练数据,根据训练数据以及第三预设算法进行模型训练,确定第一主机的故障预测模型。将第一主机的当前性能数据输入故障预测模型中,得到故障预测结果。本申请通过主机的历史性能数据和历史服务调用耗时得到训练数据,结合第三预设算法进行模型训练,确定故障预测模型,最后利用当前的主机性能数据,预测在第三预设时间段后是否会发生故障,实现较为准确的服务故障预测,具有重要的理论意义和实际应用价值。
需要说明的是,在图1-图2所示的故障定位方法中,在获取到主机的性能数据和服务调用耗时等数据后,可以先对数据进行预处理,例如ETL(extract-transform-load)处理,来完成对数据的清洗,对噪声数据等干扰数据进行过滤,例如无效数据等。当所获取到的数据还涉及文本信息时,需要对该文本信息进行处理,例如分词等操作,同时针对差距较大的数据需进行归一化处理,例如为使CPU利用率与磁盘读写IO的单位统一需而进行归一化处理。
本申请实施例提供了一种故障定位装置,可以用于执行如图1-图2所示的故障定位方法。如图3所示,该故障定位装置包括获取单元301、确定单元302、处理单元303:
获取单元301,用于在第一主机上调用第一服务的耗时超过所述第一服务对应的预设调用耗时阈值时,获取所述第一主机的性能数据。其中,第一主机为运行第一服务的至少一个主机中的一个,第一服务为当前故障服务,预设调用耗时阈值与第一主机存在对应关系,性能数据包括至少一个性能指标。
确定单元302,用于将第一主机的性能数据中超过特征阈值的性能指标确定为第一主机的第一故障指标。其中,特征阈值与性能指标存在对应关系。
具体的,获取单元301,还用于在第二主机上调用第二服务的耗时超过第二服务对应的预设调用耗时阈值时,获取第二主机的性能数据。
处理单元303,还用于根据所有第二主机的性能数据以及第一预设算法,确定性能数据中各个性能指标的特征阈值。其中,第二主机为运行第二服务的至少一个主机中的一个,第二服务为历史故障服务,预设调用耗时阈值与第二主机存在对应关系,性能数据中包括至少一个性能指标。
确定单元302,还用于根据第一故障指标以及故障指标的关联分析模型,确定与第一故障指标相关联的第二故障指标。其中,故障指标的关联分析模型用于表示第一故障指标与第二故障指标的关联关系。
具体的,确定单元302,还用于确定第一故障指标矩阵,第一故障指标矩阵包括所有第二主机的性能数据中超过特征阈值的性能指标。
处理单元303,还用于根据第一故障指标矩阵以及第二预设算法,确定故障指标的关联分析模型。
确定单元302,还用于确定第一主机的故障指标。其中,故障指标包括第一故障指标与第二故障指标。
可选的,在另一种可能的实现方式中,确定单元302,还用于将第一主机在第一预设时间段内的性能数据以及第一主机在第二预设时间段的故障标识确定为训练数据。其中,第一预设时间段内的性能数据与第二预设时间段的故障标识存在对应关系,第二预设时间段在所述第一预设时间段之后,故障标识用于表示第一主机在第二预设时间段是否发生故障。
处理单元303,还用于根据训练数据以及第三预设算法进行模型训练,确定第一主机的故障预测模型。
确定单元302,还用于将第一主机的当前性能数据输入故障预测模型中,得到故障预测结果。其中,故障预测结果表示在第二预设时间段后是否有故障发生。
本申请的实施例提供一种故障定位装置,如图4所示,该装置包括:处理器401和通信接口402,处理器401用于对装置的动作进行控制管理,和/或用于执行本文所描述的技术的其它过程。通信接口402用于支持装置与其他网络实体的通信。装置还可以包括存储器403和总线404,存储器403用于存储装置的程序代码和数据。
其中,上述处理器401(或者描述为控制器)可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元模块和电路。该处理器或控制器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
通信接口402可以是收发电路。
存储器403可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线404可以是扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的实施例提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被计算机执行时使计算机执行所述的故障定位方法。
本申请的实施例还提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行所述的故障定位方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦式可编程只读存储器(erasable programmable read only memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specific integrated circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (6)

1.一种故障定位方法,其特征在于,所述方法包括:
若第一主机上调用第一服务的耗时超过所述第一服务对应的预设调用耗时阈值,则获取所述第一主机的性能数据;所述第一主机为运行所述第一服务的至少一个主机中的一个,所述第一服务为当前故障服务,所述预设调用耗时阈值与所述第一主机存在对应关系,所述性能数据包括至少一个性能指标;
将所述第一主机的性能数据中超过特征阈值的性能指标确定为所述第一主机的第一故障指标,所述特征阈值与所述性能指标存在对应关系;
根据所述第一故障指标以及故障指标的关联分析模型,确定与所述第一故障指标相关联的第二故障指标,所述故障指标的关联分析模型用于表示所述第一故障指标与第二故障指标的关联关系;
确定所述第一主机的故障指标,所述故障指标包括所述第一故障指标与所述第二故障指标;
若第二主机上调用第二服务的耗时超过第二服务对应的预设调用耗时阈值,则获取所述第二主机的性能数据;所述第二主机为运行所述第二服务的至少一个主机中的一个,所述第二服务为历史故障服务,所述预设调用耗时阈值与所述第二主机存在对应关系,所述性能数据中包括至少一个性能指标;
根据所有第二主机的性能数据以及基于最小生成树的聚类算法,确定所述性能数据中各个性能指标的特征阈值;
确定第一故障指标矩阵,所述第一故障指标矩阵包括所有第二主机的性能数据中超过特征阈值的性能指标;
根据所述第一故障指标矩阵以及关联分析算法,确定所述故障指标的关联分析模型。
2.根据权利要求1所述的故障定位方法,其特征在于,所述方法还包括:
将第一主机在第一预设时间段内的历史性能数据以及第一主机在第二预设时间段的故障标识确定为训练数据,所述第一预设时间段内的历史性能数据与所述第二预设时间段的故障标识存在对应关系,所述第二预设时间段在所述第一预设时间段之后,所述故障标识用于表示第一主机在第二预设时间段是否发生故障;
根据所述训练数据以及分类算法进行模型训练,确定所述第一主机的故障预测模型;
将第一主机的当前性能数据输入所述故障预测模型中,得到故障预测结果,所述故障预测结果表示在第二预设时间段是否有故障发生。
3.一种故障定位装置,其特征在于,所述装置包括:
获取单元,用于在第一主机上调用第一服务的耗时超过所述第一服务对应的预设调用耗时阈值时,获取所述第一主机的性能数据;所述第一主机为运行所述第一服务的至少一个主机中的一个,所述第一服务为当前故障服务,所述预设调用耗时阈值与所述第一主机存在对应关系,所述性能数据包括至少一个性能指标;
确定单元,用于将所述第一主机的性能数据中超过特征阈值的性能指标确定为所述第一主机的第一故障指标,所述特征阈值与所述性能指标存在对应关系;
所述确定单元,还用于根据所述第一故障指标以及故障指标的关联分析模型,确定与所述第一故障指标相关联的第二故障指标,所述故障指标的关联分析模型用于表示所述第一故障指标与第二故障指标的关联关系;
所述确定单元,还用于确定所述第一主机的故障指标,所述故障指标包括所述第一故障指标与所述第二故障指标;
所述获取单元,还用于在第二主机上调用第二服务的耗时超过第二服务对应的预设调用耗时阈值时,获取所述第二主机的性能数据;所述第二主机为运行所述第二服务的至少一个主机中的一个,所述第二服务为历史故障服务,所述预设调用耗时阈值与所述第二主机存在对应关系,所述性能数据中包括至少一个性能指标;
处理单元,用于根据所有第二主机的性能数据以及基于最小生成树的聚类算法,确定所述性能数据中各个性能指标的特征阈值;
所述确定单元,还用于确定第一故障指标矩阵,所述第一故障指标矩阵包括所有第二主机的性能数据中超过特征阈值的性能指标;
所述处理单元,还用于根据所述第一故障指标矩阵以及关联分析算法,确定所述故障指标的关联分析模型。
4.根据权利要求3所述的故障定位装置,其特征在于,
所述确定单元,还用于将第一主机在第一预设时间段内的性能数据以及第一主机在第二预设时间段的故障标识确定为训练数据,所述第一预设时间段内的性能数据与所述第二预设时间段的故障标识存在对应关系,所述第二预设时间段在所述第一预设时间段之后,所述故障标识用于表示第一主机在第二预设时间段是否发生故障;
所述处理单元,还用于根据所述训练数据以及分类算法进行模型训练,确定所述第一主机的故障预测模型;
所述确定单元,还用于将第一主机的当前性能数据输入所述故障预测模型中,得到故障预测结果,所述故障预测结果表示在第二预设时间段后是否有故障发生。
5.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,当所述指令被计算机执行时使所述计算机执行如权利要求1或2所述的故障定位方法。
6.一种故障定位装置,其特征在于,包括:处理器、存储器和通信接口;其中,通信接口用于与其他设备或通信网络通信,存储器用于存储一个或多个程序,所述一个或多个程序包括计算机执行指令,当该装置运行时,处理器执行存储器存储的所述计算机执行指令以使该装置执行如权利要求1或2所述的故障定位方法。
CN201910701115.6A 2019-07-31 2019-07-31 故障定位方法及装置 Active CN110474799B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910701115.6A CN110474799B (zh) 2019-07-31 2019-07-31 故障定位方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910701115.6A CN110474799B (zh) 2019-07-31 2019-07-31 故障定位方法及装置

Publications (2)

Publication Number Publication Date
CN110474799A CN110474799A (zh) 2019-11-19
CN110474799B true CN110474799B (zh) 2022-03-25

Family

ID=68508434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910701115.6A Active CN110474799B (zh) 2019-07-31 2019-07-31 故障定位方法及装置

Country Status (1)

Country Link
CN (1) CN110474799B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363895B (zh) * 2020-08-14 2024-02-23 北京达佳互联信息技术有限公司 一种系统故障的定位方法、装置及电子设备
CN114513470B (zh) * 2020-10-23 2023-08-15 中国移动通信集团河北有限公司 网络流量控制方法、装置、设备及计算机可读存储介质
CN113032157B (zh) * 2021-05-31 2021-08-24 睿至科技集团有限公司 一种服务器自动智能扩缩容方法及系统
CN113656287B (zh) * 2021-07-28 2024-06-04 北京宝兰德软件股份有限公司 软件实例故障的预测方法、装置、电子设备及存储介质
CN117353966A (zh) * 2022-06-29 2024-01-05 华为技术有限公司 网络风险评估方法及相关装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0604516A1 (en) * 1991-09-10 1994-07-06 Electric Power Research Institute Advanced method and cable fault locator
CN102129397A (zh) * 2010-12-29 2011-07-20 深圳市永达电子股份有限公司 一种自适应磁盘阵列故障预测方法及系统
CN103412805A (zh) * 2013-07-31 2013-11-27 交通银行股份有限公司 一种it故障源诊断方法及系统
CN106294076A (zh) * 2016-08-24 2017-01-04 浪潮(北京)电子信息产业有限公司 一种服务器关联故障预测方法及其系统
CN108183813A (zh) * 2017-12-05 2018-06-19 中国联合网络通信集团有限公司 群障处理方法及装置
CN108320040A (zh) * 2017-01-17 2018-07-24 国网重庆市电力公司 基于贝叶斯网络优化算法的采集终端故障预测方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110314337A1 (en) * 2010-06-18 2011-12-22 International Business Machines Corporation Method and Apparatus for Locating Input-Model Faults Using Dynamic Tainting

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0604516A1 (en) * 1991-09-10 1994-07-06 Electric Power Research Institute Advanced method and cable fault locator
CN102129397A (zh) * 2010-12-29 2011-07-20 深圳市永达电子股份有限公司 一种自适应磁盘阵列故障预测方法及系统
CN103412805A (zh) * 2013-07-31 2013-11-27 交通银行股份有限公司 一种it故障源诊断方法及系统
CN106294076A (zh) * 2016-08-24 2017-01-04 浪潮(北京)电子信息产业有限公司 一种服务器关联故障预测方法及其系统
CN108320040A (zh) * 2017-01-17 2018-07-24 国网重庆市电力公司 基于贝叶斯网络优化算法的采集终端故障预测方法及系统
CN108183813A (zh) * 2017-12-05 2018-06-19 中国联合网络通信集团有限公司 群障处理方法及装置

Also Published As

Publication number Publication date
CN110474799A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN110474799B (zh) 故障定位方法及装置
US20220004931A1 (en) Root cause discovery engine
CN108683530B (zh) 多维度数据的数据分析方法、装置及存储介质
US9870270B2 (en) Realizing graph processing based on the mapreduce architecture
CN103513983B (zh) 用于预测性警报阈值确定工具的方法和系统
US20180081629A1 (en) Method and apparatus for providing ordered sets of arbitrary percentile estimates for varying timespans
US8112546B2 (en) Routing users to receive online services based on online behavior
US20140189436A1 (en) Fault detection and localization in data centers
US20180227210A1 (en) Methods Providing Performance Management Using A Proxy Baseline And Related Systems And Computer Program Products
CN109388657B (zh) 数据处理方法、装置、计算机设备及存储介质
CN110932901A (zh) 一种告警等级调整方法及系统
US20210158102A1 (en) Determining Data Representative of Bias Within a Model
US10282245B1 (en) Root cause detection and monitoring for storage systems
US11507563B2 (en) Unsupervised anomaly detection
US10223189B1 (en) Root cause detection and monitoring for storage systems
US20190158362A1 (en) Instance usage facilitating system
CN113162801B (zh) 一种告警分析方法、装置及存储介质
CN114297037A (zh) 一种告警聚类方法及装置
CN114282603A (zh) 一种告警信息聚类方法、装置及存储介质
US10261945B1 (en) Systems and methods for storing and accessing monitoring data
CN105897503A (zh) 基于资源信息增益的Hadoop集群瓶颈检测算法
LYU et al. Alarm-Based Root Cause Analysis Based on Weighted Fault Propagation Topology for Distributed Information Network
US11558271B2 (en) System and method of comparing time periods before and after a network temporal event
CN111740871A (zh) 一种数据采集方法及装置
CN112512072B (zh) VoLTE网络故障预测方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant