CN111274084A - 故障诊断方法、装置、设备及计算机可读存储介质 - Google Patents
故障诊断方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111274084A CN111274084A CN202010036224.3A CN202010036224A CN111274084A CN 111274084 A CN111274084 A CN 111274084A CN 202010036224 A CN202010036224 A CN 202010036224A CN 111274084 A CN111274084 A CN 111274084A
- Authority
- CN
- China
- Prior art keywords
- central point
- target
- predicted
- fault diagnosis
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及人工智能技术领域,公开了一种故障诊断方法,包括以下步骤:接收历史日志,将历史日志转化为具有相同格式的目标日志;将目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合;从预置已知故障类型的数据簇中获取所述日志集合的第一中心点,并随机初始化所述第一中心点;将数据组中的数据分配到所述已知故障类型的数据簇中;按照预置迭代次数对所述第一中心点进行迭代,得到目标中心点;计算各个待预测数据组与目标中心点之间的最小距离;确定故障类型。本发明还公开了一种故障诊断装置、设备及计算机可读存储介质。本发明提供的故障诊断方法提高了故障诊断的效率。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种故障诊断方法、装置、设备及计算机可读存储介质。
背景技术
在传统的故障定位中,开发或运维人员会根据错误日志或业务报错来定位发生故障的点。然而在面对采用微服务的复杂系统时,现有的故障诊断系统往往需要面对几十个甚至上百个模块以及庞大的日志文件,模块之间又存在复杂的调用链路关系,甚至形成服务网格化,这种情形下定位一个故障问题往往需要耗费大量的人力成本和时间成本,故障不能很快定位,对于系统稳定性和可用性,甚至对于用户体验都会造成不好的影响。如何提高微服务框架下故障诊断的效率,是目前本领域亟待解决的技术问题。
发明内容
本发明的主要目的在于提供一种故障诊断方法、装置、设备及计算机可读存储介质,旨在解决故障诊断效率低的技术问题。
为实现上述目的,本发明提供一种故障诊断方法,所述故障诊断方法包括以下步骤:
接收各个主机、容器和模块的历史日志,将所述历史日志转化为具有相同格式的目标日志;
将所述目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合;
从预置已知故障类型的数据簇中获取所述日志集合的第一中心点,并随机初始化所述第一中心点;
计算所述日志集合中的每个数据组与所述第一中心点之间距离,并按照最小距离原则,将每个数据组中的数据分配到所述已知故障类型的数据簇中;
按照预置迭代次数对所述第一中心点进行迭代,直至所述第一中心点不再变化,得到目标中心点;
接收待预测日志集合,计算所述待预测日志集合中的各个待预测数据组与所述目标中心点之间的最小距离,所述待预测日志集合包括多个待预测数据组;
根据所述目标中心点所对应的半径与所述最小距离的大小关系,确定故障类型。
可选地,所述将所述目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合,包括以下步骤:
将所述目标日志按预置顺序实时进行集中存储、融合以及将所述目标日志中的文本切分成多个短句;
将所述短句切分为特征词条,建立特征词条的特征表示,得到文本特征向量;
通过主成分分析方法对所述文本特征向量进行降维处理,得到日志集合。
可选地,所述按照预置迭代次数对所述第一中心点进行迭代,直至所述第一中心点不再变化,得到目标中心点,包括以下步骤:
通过以下公式计算每个数据组中所有数据的平均值,根据所述平均值得到第二中心点;
其中,Ui为第i个分类Ci的向量平均值,即新类中心,xi为分类Ci内的所有向量,i为分类的编号,N*为正整数;
判断所述第二中心点是否与第一中心点相同;
若所述第二中心点与第一中心点相同,则得到目标中心点;
若所述第二中心点与第一中心点不相同,则按照预置迭代次数对所述第一中心点进行迭代,直至所述第一中心点不再变化,得到目标中心点。
可选地,所述根据所述目标中心点所对应的半径与所述最小距离的大小关系,确定故障类型,包括以下步骤:
判断最小距离d是否小于目标中心点所对应的半径r;
若所述最小距离d小于所述目标中心点所对应的半径r,则判断所述最小距离d与所述目标中心点所对应的半径r之间的差值L是否小于或等于预设阈值,其中,L=(r-d);
若L小于或等于预设阈值,则获取与所述r相对应的故障类型。
可选地,在所述根据所述目标中心点所对应的半径与所述最小距离的大小关系,确定故障类型之后,所述故障诊断方法还包括以下步骤:
收集指定时间段内的实际故障类型;
检测所述实际故障类型是否增加;
若所述实际故障类型增加,则通过聚类分析获取所述指定时间段内实际日志的数据簇。
可选地,在所述将所述目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合之前,所述故障诊断方法还包括以下步骤:
获取时间戳和请求ID;
基于所述时间戳和所述请求ID确定预置顺序。
可选地,所述接收待预测日志集合,计算所述待预测日志集合中的各个待预测数据组与所述目标中心点之间的最小距离,所述待预测日志集合包括多个待预测数据组包括以下步骤:
从一个或多个相互交互的主机、容器或模块获取待预测日志集合,所述待预测日志集合包括多个待预测数据组;
通过欧式距离公式计算所述待预测日志集合中的各个待预测数据组与所述目标中心点之间的最小距离。
进一步地,为实现上述目的,本发明还提供一种故障诊断装置,所述故障诊断装置包括以下模块:
转换模块,用于接收各个主机、容器和模块的历史日志,将所述历史日志转化为具有相同格式的目标日志;
降维处理模块,用于将所述目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合;
初始化模块,用于从预置已知故障类型的数据簇中获取所述日志集合的第一中心点,并随机初始化所述第一中心点;
计算模块,用于计算所述日志集合中的每个数据组与所述第一中心点之间距离,并按照最小距离原则,将所述数据组中的数据分配到所述已知故障类型的数据簇中;
迭代模块,用于按照预置迭代次数对所述第一中心点进行迭代,直至所述第一中心点不再变化,得到目标中心点;
接收模块,用于接收待预测日志集合,计算所述待预测日志集合中的各个待预测数据组与所述目标中心点之间的最小距离,所述待预测日志集合包括多个待预测数据组;
分类模块,用于根据所述目标中心点所对应的半径与所述最小距离的大小关系,确定故障类型。
可选地,所述降维处理模块包括以下单元:
切分单元,用于将所述目标日志按预置顺序实时进行集中存储、融合以及将所述目标日志中的文本切分成多个短句;
构建单元,用于将所述短句切分为特征词条,建立特征词条的特征表示,得到文本特征向量;
降维单元,用于通过主成分分析方法对所述文本特征向量进行降维处理,得到日志集合。
可选地,所述迭代模块包括以下单元:
平均值计算单元,用于通过以下公式计算每个数据组中所有数据的平均值,根据所述平均值得到第二中心点;
其中,Ui为第i个分类Ci的向量平均值,即新类中心,xi为分类Ci内的所有向量,i为分类的编号,N*为正整数;
第二中心点判断单元,用于判断所述第二中心点是否与第一中心点相同;
目标中心点获取单元,用于若所述第二中心点与第一中心点相同,则得到目标中心点;
第一中心点迭代单元,用于若所述第二中心点与第一中心点不相同,则按照预置迭代次数对所述第一中心点进行迭代,直至所述第一中心点不再变化,得到目标中心点。
可选地,所述分类模块包括以下单元:
最小距离判断单元,用于判断最小距离d是否小于目标中心点所对应的半径r;
选择单元,用于若所述最小距离d小于所述目标中心点所对应的半径r,则判断所述最小距离d与所述目标中心点所对应的半径r之间的差值L是否小于或等于预设阈值,其中,L=(r-d);
故障类型获取单元,用于若L小于或等于预设阈值,则获取与所述r相对应的故障类型。
可选地,所述故障诊断装置还包括以下模块:
收集模块,用于收集指定时间段内的实际故障类型;
检测模块,用于检测所述实际故障类型是否增加;
数据簇获取模块,用于若所述实际故障类型增加,则通过聚类分析获取所述指定时间段内实际日志的数据簇。
可选地,所述故障诊断装置还包括以下模块:
时间戳获取模块,用于获取时间戳和请求ID;
预置顺序选择模块,用于基于所述时间戳和所述请求ID确定预置顺序。
可选地,所述接收模块包括以下单元:
待预测日志集合获取单元,用于从一个或多个相互交互的主机、容器或模块获取待预测日志集合,所述待预测日志集合包括多个待预测数据组;
最小距离计算单元,用于通过欧式距离公式计算所述待预测日志集合中的各个待预测数据组与所述目标中心点之间的最小距离。
进一步地,为实现上述目的,本发明还提供一种故障诊断设备,所述故障诊断设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的故障诊断程序,所述故障诊断程序被所述处理器执行时实现如上述任一项所述的故障诊断方法的步骤。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有故障诊断程序,所述故障诊断程序被处理器执行时实现如上述任一项所述的故障诊断方法的步骤。
本发明实施例中,将微服务框架中不同的模块中的历史日志数据进行提前整合,对整合在一起的历史日志数据进行集中处理,对来自于不同模块的数据进行聚类,以得到故障诊断结果,由于日志数据是来自于不同模块的,因此,可根据诊断出的故障结果得到所述故障发生的位置。克服了现有技术中,由于模块之间交互复杂需要逐一诊断的缺陷,提高了故障诊断的效率。
附图说明
图1为本发明实施例方案涉及的故障诊断设备运行环境的结构示意图;
图2为本发明故障诊断方法的第一实施例的流程示意图;
图3为图2中步骤S20的一个实施例的细化流程示意图;
图4为图2中步骤S50的一个实施例的细化流程示意图;
图5为图2中步骤S70的一个实施例的细化流程示意图;
图6为本发明故障诊断方法的第二实施例的流程示意图;
图7为本发明故障诊断方法的第三实施例的流程示意图;
图8为图2中步骤S60的一个实施例的细化流程示意图;
图9为本发明故障诊断装置的一个实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例涉及的故障诊断方法主要应用于故障诊断设备,该故障诊断设备可以是PC、便携计算机、移动终端等具有显示和处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的故障诊断设备的硬件结构示意图。本发明实施例中,故障诊断设备可以包括处理器1001(例如CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的硬件结构并不构成对故障诊断设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及故障诊断程序。
在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的故障诊断程序,并执行本发明实施例提供的故障诊断方法。
本发明实施例提供了一种故障诊断方法。
参照图2,图2为本发明故障诊断方法的第一实施例的流程示意图。本实施例中,故障诊断方法包括以下步骤:
步骤S10,接收各个主机、容器和模块的历史日志,将历史日志转化为具有相同格式的目标日志;
本实施例中,统一所有模块的日志打印格式,日志需要打印时间、日志等级,如使用关键字Error、Warning进行分级,还需要打印微服务名称、请求ID等信息,可以使用日志转换工具对日志格式进行统一转换,转换工具取决于使用的编程语言,比如java可以用log4j,slf4j等。Log4j为Apache的一个开源项目,通过配置来控制日志的输出,主要是控制日志的输出级别、输出位置和输出内容格式;slf4j为日志输出接口,可借助日志框架实现日志输出,可实现日志框架的切换而无需修改代码。统一日志的打印格式的目的是为了方便后续流程中对数据的集中处理。主机、容器和模块之间的链路关系包括多链路关系和单链路关系。
步骤S20,将目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合;
本实施例中,日志融合的工具包括:队列和Log Forward。将不同微服务平台中不同模块的日志融合后,便于集中式处理。在故障诊断时,仅需对融合后的日志进行诊断,而无需对微服务平台中的所有模块依次诊断,可以节约故障诊断的时间,提高故障诊断的效率。日志集合包括多个数据组,每个数据组的数据分别来自于一个或多个相互交互的主机、容器或模块的日志数据。
步骤S30,从预置已知故障类型的数据簇中获取日志集合的第一中心点,并随机初始化第一中心点;
本实施例中,已知故障类型的日志集合包括多个数据簇,每种数据簇代表一种故障类型,每种故障类型都以不同的中心点来表示。
步骤S40,计算日志集合中的每个数据组与第一中心点之间距离,并按照最小距离原则,将每个数据组中的数据分配到已知故障类型的数据簇中;
本实施例中,通过距离公式对数据间的距离进行计算,例如欧式距离公式,数据之间的距离越近,说明数据之间的相似度越大,本实施例,就是将与第一中心点距离最近的数据划分到同一数据簇内。
步骤S50,按照预置迭代次数对第一中心点进行迭代,直至第一中心点不再变化,得到目标中心点;
本实施例中,在不确定故障类型时,第一中心点是不断变化的,只有第一中心点不再变化时,才可以确定故障类型,需要预先准备好一些数据,根据这些数据可以预先得知故障类型,此时若需要知道这些数据的中心点在哪里,就需要不断优化算法的参数,直至找到最终的中心点,最终的中心点指的是不再变化的数据点,当找到这个中心点时,则为这个中心点以及中心点周围的数据打上该故障类型的标签。当接收到新的待预测数据时,就可以以已经得到的中心点为依据获取新的待预测数据所属的故障类型。
计算日志集合中的每个数据组与第一中心点之间距离,不断优化第一中心点,当优化到一定程度时,即第一中心点不再变化时,则说明可以对任意数据组内的数据进行准确分类。
步骤S60,接收待预测日志集合,计算待预测日志集合中的各个待预测数据组与目标中心点之间的最小距离,待预测日志集合包括多个待预测数据组;
本实施例中,由于根据目标中心点可将距离其最近的数据归为一类,因此,可以根据目标中心点获取与其距离最近的数据。在本实施例中可通过计算距离的公式对最小距离进行计算,要注意的是,目标中心点是代称,它包括多个中心点,计算待预测数据组与各个中心点之间的距离,然后对得到的距离进行排序,得到最小距离。
步骤S70,根据目标中心点所对应的半径与最小距离的大小关系,确定故障类型。
本实施例中,已知故障类型的日志数据的中心点会对应一个已知距离的半径r,根据半径r与最小距离之间的关系,可以得到当前错误日志所对应的故障类型。每个中心点对应的距离r都代表一种故障类型,待诊断的数据与已知故障类型的中心点的距离越近,则说明越接近某一故障类型,而已知故障类型的中心点会对应不同的r,d与r的差距越小,说明越接近与r对应的故障类型。
将微服务框架中不同的模块中的日志数据进行提前整合,对整合在一起的数据进行集中处理,对来自于不同模块的数据进行聚类,以得到故障诊断结果,由于日志数据是来自于不同模块的,因此,可根据诊断出的故障结果可得到故障发生的位置。克服了现有技术中,由于模块之间交互复杂需要逐一诊断的缺陷,提高了故障诊断的效率。
参照图3,图3为图2中步骤S20的一个实施例的细化流程示意图。本实施例中,步骤S20,将目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合,包括以下步骤:
步骤S201,将目标日志按预置顺序实时进行集中存储、融合以及将目标日志中的文本切分成多个短句;
本实施例中,在此过程中可以通过jieba分词技术来实现对日志中的文本的切分。
步骤S202,将短句切分为特征词条,建立特征词条的特征表示,得到文本特征向量;
本实施例中,将短句转化成文本特征向量的好处是便于通过主成分分析等方法对特征向量进行处理,使其在保留较多的关键信息的情况下实现维度降低。
步骤S203,通过主成分分析方法对文本特征向量进行降维处理,得到日志集合。
本实施例中,为了减少后续的计算量,需要对特征向量进行降维,可以通过主成分分析的方式实现降维。
本实施例作用是,对日志数据进行降维处理,包括融合处理和降维处理,通过融合处理可以按照预置顺序将微服务平台内不同模块的日志融合起来,融合的工具可以为队列、Log Forward等工具,预置顺序包括时间戳和请求ID,根据时间戳可以对不同的时间内日志进行融合,通过请求ID可以得到不同的模块的日志数据,因此可以根据请求ID将不同的日志数据融合在一起。
参照图4,图4为图2中步骤S50的一个实施例的细化流程示意图。本实施例中,步骤S50,按照预置迭代次数对第一中心点进行迭代,直至第一中心点不再变化,得到目标中心点,包括以下步骤:
步骤S501,通过以下公式计算每个数据组中所有数据的平均值,根据平均值得到第二中心点;
其中,Ui为第i个分类Ci的向量平均值,即新类中心,xi为分类Ci内的所有向量,i为分类的编号,N*为正整数;
本实施例中,每一轮迭代过后,都要通过迭代的初始故障诊断模型输出迭代结果,不同的故障类型会有不同的中心点,在迭代的过程中,中心点会不断变化,得到新类中心,并逐步趋近于已知故障类型的中心点。计算每组所有点的平均值的目的是方便得到与已知故障类型的中心点距离较近的新类中心。
步骤S502,判断第二中心点是否与第一中心点相同;
本实施例中,基于第一中心点只能对一小部分数据进行故障诊断,当接收到新的数据时,可根据新的数据对第一中心点进行不断优化,时得到的新的中心点可以最为诊断故障的依据。
步骤S503,若第二中心点与第一中心点相同,则得到目标中心点;
本实施例中,当中心点不再变更时,说明可以根据最终的中心点对本场景下的所有待预测数据进行故障诊断。
步骤S504,若第二中心点与第一中心点不相同,则按照预置迭代次数对第一中心点进行迭代,直至第一中心点不再变化,得到目标中心点。
本实施例中,不断对第一中心点进行迭代,可使第一中心点不断得到优化,从而使第一中心点具备对故障数据进行分类的能力,若是第一中心点处于变化中,则说明没有优化完毕,即不能准确地对故障数据进行诊断,通过本实施例,可以将来自不同微服务模块的数据进行诊断,提高了故障诊断的效率。
参照图5,图5为图2中步骤S70的一个实施例的细化流程示意图。本实施例中,步骤S70,根据目标中心点所对应的半径与最小距离的大小关系,确定故障类型,包括以下步骤:
步骤S701,判断最小距离d是否小于目标中心点所对应的半径r;
本实施例中,因为不同的错误日志可能距离不同的中心点的d是各不相同的,例如,A故障的d大于第一故障类型的中心点所对应的半径r1,A故障的d小于第二故障类型的中心点所对应的半径r2,则说明A故障属于第二故障类型。
步骤S702,若最小距离d小于目标中心点所对应的半径r,则判断最小距离d与目标中心点所对应的半径r之间的差值L是否小于或等于预设阈值,其中,L=(r-d);
本实施例中,若最小距离d小于中心点所对应的半径r,则判断L=(r-d)的差值是否小于或等于预设阈值。
步骤S703,若L小于或等于预设阈值,则根据r得到与r相对应的故障类型。
本实施例中,若是差值是否小于或等于预设阈值,则说明可以确定当前日志所对应的故障类型,若大于预设阈值,则说明不属于已分类出的故障类型。
本实施例的作用是,通过故障诊断模型,以日志数据与已知故障类型的数据之间的距离为依据,筛选出符合预置条件的故障类型,从而实现故障诊断。通过将微服务框架中不同的模块中的日志数据进行提前整合,便于统一处理,在故障诊断的过程中采用了基于K-Means算法构建的故障诊断模型,实现对故障的诊断,克服了现有技术中,由于模块之间交互复杂需要逐一诊断的缺陷,提高了故障诊断的效率。
参照图6,图6为本发明故障诊断方法的第二实施例的流程示意图。本实施例中,在步骤S70,根据目标中心点所对应的半径与最小距离的大小关系,确定故障类型之后,故障诊断方法还包括以下步骤:
步骤S80,收集指定时间段内的实际故障类型;
本实施例中,通过数据采集工具采集指定时间段内的实际故障类型。实际故障类型指的是实际场景下微服务平台的各个模块发生的故障类型。
步骤S90,检测实际故障类型是否增加;
本实施例中,由于随着时间的推移或者是部署在微服务平台上的模块的增加,故障的类型也会增加,因此需要通过预置监控设备实时监控实际故类型是否发生变化。
步骤S100,若实际故障类型增加,则通过聚类分析获取指定时间段内实际日志的数据簇。
本实施例中,实际故障类型只是一个粗略的类型,无法展示由于微服务平台的各个模块之间的交互关系,因此可通过聚类算法对该指定时间段内的实际日志进行聚类,得到的聚类结果可以很好地展示各个模块之间的交互关系。
参照图7,图7为本发明故障诊断方法的第三实施例的流程示意图。本实施例中,在步骤S20,将目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合之前,在步骤S10,接收各个主机、容器和模块的历史日志,将历史日志转化为具有相同格式的目标日志之后,故障诊断方法还包括以下步骤:
步骤S110,获取时间戳和请求ID;
本实施例中,由于在实际故障诊断过程中,有时候会需要查看指定时间内的故障类型,或者根据请求来和获取故障类型,因此需要预先获取日志的时间戳和请求ID。
步骤S120,基于时间戳和请求ID确定预置顺序。
本实施例中,可根据时间戳和请求ID作为确定预置顺序的依据。
参照图8,图8为图2中步骤S60的一个实施例的细化流程示意图。本实施例中,步骤S60,接收待预测日志集合,计算待预测日志集合中的各个待预测数据组与目标中心点之间的最小距离,待预测日志集合包括多个待预测数据组包括以下步骤:
步骤S601,从一个或多个相互交互的主机、容器或模块获取待预测日志集合,待预测日志集合包括多个待预测数据组;
本实施例中,可通过日志收集工具对一个或多个相互交互的主机、容器或模块的日志进行收集。
步骤S602,通过欧式距离公式计算待预测日志集合中的各个待预测数据组与目标中心点之间的最小距离。
本实施例中,为了计算出待预测日志集合中的各个待预测数据组与目标中心点之间的最小距离,因此采用到了欧式距离的公式。通过将微服务框架中不同的模块中的日志数据进行提前整合,便于统一处理,克服了现有技术中,由于模块之间交互复杂需要逐一诊断的缺陷,提高了故障诊断的效率。
微服务框架内一般包括多个的模块,各个模块之间可以有不同的交互路径。由于模块众多,且各个模块之间交互复杂,在出现故障的时候,往往很难诊断出具体是什么故障类型,因此,本实施例中,将不同主机、容器或模块的日志集中在一起,日志数据作为待预测数据组的组成部分,可实现统一诊断的目的,而不用对每个模块单独诊断,无需要考虑不同模块之间的交互关系。
参照图9,图9为本发明故障诊断装置的一个实施例的功能模块示意图。本实施例中,故障诊断装置包括:
转换模块10,用于接收各个主机、容器和模块的历史日志,将历史日志转化为具有相同格式的目标日志;
降维处理模块20,用于将目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合;
初始化模块30,用于从预置已知故障类型的数据簇中获取日志集合的第一中心点,并随机初始化第一中心点;
计算模块40,用于计算日志集合中的每个数据组与第一中心点之间距离,并按照最小距离原则,将数据组中的数据分配到已知故障类型的数据簇中;
迭代模块50,用于按照预置迭代次数对第一中心点进行迭代,直至第一中心点不再变化,得到目标中心点;
接收模块60,用于接收待预测日志集合,计算待预测日志集合中的各个待预测数据组与目标中心点之间的最小距离,待预测日志集合包括多个待预测数据组;
分类模块70,用于根据目标中心点所对应的半径与最小距离的大小关系,确定故障类型。
本实施例中,通过本装置中的模块可将微服务框架中不同的模块中的历史日志数据进行提前整合,对整合在一起的数据进行集中处理,对来自于不同模块的数据进行聚类,以得到故障诊断结果,由于日志数据是来自于不同模块的,因此,可根据诊断出的故障结果可得到故障发生的位置。克服了现有技术中,由于模块之间交互复杂需要逐一诊断的缺陷,提高了故障诊断的效率。
本发明还提供一种计算机可读存储介质。
本实施例中,所述计算机可读存储介质上存储有故障诊断程序,所述故障诊断程序被处理器执行时实现如上述任一项实施例中所述的故障诊断方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。
Claims (10)
1.一种故障诊断方法,其特征在于,所述故障诊断方法包括以下步骤:
接收各个主机、容器和模块的历史日志,将所述历史日志转化为具有相同格式的目标日志;
将所述目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合;
从预置已知故障类型的数据簇中获取所述日志集合的第一中心点,并随机初始化所述第一中心点;
计算所述日志集合中的每个数据组与所述第一中心点之间距离,并按照最小距离原则,将每个数据组中的数据分配到所述已知故障类型的数据簇中;
按照预置迭代次数对所述第一中心点进行迭代,直至所述第一中心点不再变化,得到目标中心点;
接收待预测日志集合,计算所述待预测日志集合中的各个待预测数据组与所述目标中心点之间的最小距离,所述待预测日志集合包括多个待预测数据组;
根据所述目标中心点所对应的半径与所述最小距离的大小关系,确定故障类型。
2.如权利要求1所述的故障诊断方法,其特征在于,所述将所述目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合,包括以下步骤:
将所述目标日志按预置顺序实时进行集中存储、融合以及将所述目标日志中的文本切分成多个短句;
将所述短句切分为特征词条,建立特征词条的特征表示,得到文本特征向量;
通过主成分分析方法对所述文本特征向量进行降维处理,得到日志集合。
4.如权利要求1-3中任一项所述的故障诊断方法,其特征在于,所述根据所述目标中心点所对应的半径与所述最小距离的大小关系,确定故障类型,包括以下步骤:
判断最小距离d是否小于目标中心点所对应的半径r;
若所述最小距离d小于所述目标中心点所对应的半径r,则判断所述最小距离d与所述目标中心点所对应的半径r之间的差值L是否小于或等于预设阈值,其中,L=(r-d);
若L小于或等于预设阈值,则获取与所述r相对应的故障类型。
5.如权利要求1所述的故障诊断方法,其特征在于,在所述根据所述目标中心点所对应的半径与所述最小距离的大小关系,确定故障类型之后,所述故障诊断方法还包括以下步骤:
收集指定时间段内的实际故障类型;
检测所述实际故障类型是否增加;
若所述实际故障类型增加,则通过聚类分析获取所述指定时间段内实际日志的数据簇。
6.如权利要求1所述的故障诊断方法,其特征在于,在所述将所述目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合之前,所述故障诊断方法还包括以下步骤:
获取时间戳和请求ID;
基于所述时间戳和所述请求ID确定预置顺序。
7.如权利要求1所述的故障诊断方法,其特征在于,所述接收待预测日志集合,计算所述待预测日志集合中的各个待预测数据组与所述目标中心点之间的最小距离,所述待预测日志集合包括多个待预测数据组包括以下步骤:
从一个或多个相互交互的主机、容器或模块获取待预测日志集合,所述待预测日志集合包括多个待预测数据组;
通过欧式距离公式计算所述待预测日志集合中的各个待预测数据组与所述目标中心点之间的最小距离。
8.一种故障诊断装置,其特征在于,所述故障诊断装置包括以下模块:
转换模块,用于接收各个主机、容器和模块的历史日志,将所述历史日志转化为具有相同格式的目标日志;
降维处理模块,用于将所述目标日志按预置顺序实时进行集中存储、融合以及降维处理,得到日志集合;
初始化模块,用于从预置已知故障类型的数据簇中获取所述日志集合的第一中心点,并随机初始化所述第一中心点;
计算模块,用于计算所述日志集合中的每个数据组与所述第一中心点之间距离,并按照最小距离原则,将所述数据组中的数据分配到所述已知故障类型的数据簇中;
迭代模块,用于按照预置迭代次数对所述第一中心点进行迭代,直至所述第一中心点不再变化,得到目标中心点;
接收模块,用于接收待预测日志集合,计算所述待预测日志集合中的各个待预测数据组与所述目标中心点之间的最小距离,所述待预测日志集合包括多个待预测数据组;
分类模块,用于根据所述目标中心点所对应的半径与所述最小距离的大小关系,确定故障类型。
9.一种故障诊断设备,其特征在于,所述故障诊断设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的故障诊断程序,所述故障诊断程序被所述处理器执行时实现如权利要求1-7中任一项所述的故障诊断方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有故障诊断程序,所述故障诊断程序被处理器执行时实现如权利要求1-7中任一项所述的故障诊断方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010036224.3A CN111274084A (zh) | 2020-01-14 | 2020-01-14 | 故障诊断方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010036224.3A CN111274084A (zh) | 2020-01-14 | 2020-01-14 | 故障诊断方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111274084A true CN111274084A (zh) | 2020-06-12 |
Family
ID=70996899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010036224.3A Pending CN111274084A (zh) | 2020-01-14 | 2020-01-14 | 故障诊断方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274084A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934910A (zh) * | 2020-07-14 | 2020-11-13 | 中国联合网络通信集团有限公司 | 故障处理方法、设备及存储介质 |
CN113608916A (zh) * | 2021-10-08 | 2021-11-05 | 苏州浪潮智能科技有限公司 | 故障诊断的方法、装置、电子设备及存储介质 |
CN115617953A (zh) * | 2022-11-15 | 2023-01-17 | 成都九洲电子信息系统股份有限公司 | 一种网络业务链路故障智能诊断方法及系统 |
CN116307938A (zh) * | 2023-05-17 | 2023-06-23 | 成都瑞雪丰泰精密电子股份有限公司 | 一种加工中心进给系统健康状态评估方法 |
-
2020
- 2020-01-14 CN CN202010036224.3A patent/CN111274084A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934910A (zh) * | 2020-07-14 | 2020-11-13 | 中国联合网络通信集团有限公司 | 故障处理方法、设备及存储介质 |
CN111934910B (zh) * | 2020-07-14 | 2023-03-24 | 中国联合网络通信集团有限公司 | 故障处理方法、设备及存储介质 |
CN113608916A (zh) * | 2021-10-08 | 2021-11-05 | 苏州浪潮智能科技有限公司 | 故障诊断的方法、装置、电子设备及存储介质 |
WO2023056723A1 (zh) * | 2021-10-08 | 2023-04-13 | 苏州浪潮智能科技有限公司 | 故障诊断的方法、装置、电子设备及存储介质 |
CN115617953A (zh) * | 2022-11-15 | 2023-01-17 | 成都九洲电子信息系统股份有限公司 | 一种网络业务链路故障智能诊断方法及系统 |
CN116307938A (zh) * | 2023-05-17 | 2023-06-23 | 成都瑞雪丰泰精密电子股份有限公司 | 一种加工中心进给系统健康状态评估方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3796176B1 (en) | Fault root cause analysis method and apparatus | |
CN111274084A (zh) | 故障诊断方法、装置、设备及计算机可读存储介质 | |
CN111177095A (zh) | 日志分析方法、装置、计算机设备及存储介质 | |
CN113254254B (zh) | 系统故障的根因定位方法、装置、存储介质及电子装置 | |
KR102068622B1 (ko) | 이기종 네트워크 보안시스템을 위한 빅데이타 분석기반의 지능형 장애예측 시스템 | |
CN109635292B (zh) | 基于机器学习算法的工单质检方法和装置 | |
CN111290900B (zh) | 一种基于微服务日志的软件故障检测方法 | |
CN112183758A (zh) | 用于实现模型训练的方法及装置、计算机存储介质 | |
CN110471945B (zh) | 活跃数据的处理方法、系统、计算机设备和存储介质 | |
CN112769605B (zh) | 一种异构多云的运维管理方法及混合云平台 | |
CN103746829A (zh) | 一种基于集群的故障感知系统及其方法 | |
CN111669281B (zh) | 告警分析方法、装置、设备及存储介质 | |
CN109240895A (zh) | 一种分析日志故障的处理方法及装置 | |
CN111367782B (zh) | 回归测试数据自动生成的方法及装置 | |
CN112035286A (zh) | 故障原因的确定方法及装置、存储介质、电子装置 | |
CN111258874B (zh) | 一种基于web数据的用户操作轨迹分析方法及装置 | |
CN116155541A (zh) | 面向网络安全应用的自动化机器学习平台以及方法 | |
CN114385398A (zh) | 一种请求响应状态确定方法、装置、设备和存储介质 | |
CN114064434A (zh) | 一种日志异常的预警方法、装置、电子设备及存储介质 | |
Mijumbi et al. | MAYOR: machine learning and analytics for automated operations and recovery | |
CN115145623A (zh) | 软件业务系统的白盒监控方法、装置、设备和存储介质 | |
CN111737371A (zh) | 可动态预测的数据流量检测分类方法及装置 | |
CN117555501B (zh) | 基于边缘计算的云打印机运维数据处理方法以及相关装置 | |
CN117370052B (zh) | 微服务故障分析方法、装置、设备及存储介质 | |
CN115330559B (zh) | 一种信息数据时空协同的配电网弹性评估方法和装置 |
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 |