一种基于聚类算法的故障诊断分析方法及系统技术方案

技术编号:27657504 阅读:24 留言:0更新日期:2021-03-12 14:21
一种基于聚类算法的故障诊断分析方法及系统,方法包括:集成监控工具springbootadmin,通过springbootadmin捕获服务异常,并记录服务异常的相关日志,即服务异常日志;整合@ExceptionHandler全局运行异常处理类,通过@ExceptionHandler全局运行异常处理类捕获运行异常,并记录运行异常的相关日志,即运行异常日志;将服务异常日志和运行异常日志存储至elasticsearch中;聚类分析运行异常日志和服务异常日志,基于聚类分析结果,判断发生故障或者容易发生故障的接口。本发明专利技术可以智能搜集运行异常日志和服务异常日志,可以实现对服务状态的监测,并且通过聚类分析运行异常日志和服务异常日志,能极大的提高运维人员发现故障的所在处,从而快速地解决问题。

【技术实现步骤摘要】
一种基于聚类算法的故障诊断分析方法及系统
本专利技术涉及故障诊断领域,具体涉及一种基于聚类算法的故障诊断分析方法及系统。
技术介绍
随着互联网的快速发展和web程序的广泛应用,web程序的稳定性和易于运维的能力之间的矛盾日益突出,人们迫切需要一种能够智能化运维的技术,其中故障诊断是智能化运维的重要环节之一,而在一般的web程序中,都缺少故障诊断的这一关键技术,往往在发生故障的时候,技术人员需要到服务器上查看海量的日志,从而分析出故障发生的位子,这样不仅会耗费大量的人力和时间,导致查找故障的效率低,而且很有可能会看漏日志而导致故障没有发现全,导致反复出现问题,而且在服务发故障的时候,难以第一时间发现服务发生故障甚至是宕机。
技术实现思路
鉴于现有技术中存在的技术缺陷和技术弊端,本专利技术实施例提供克服上述问题或者至少部分地解决上述问题的一种基于聚类算法的故障诊断分析方法及系统,具体方案如下:作为本专利技术的第一方面,提供一种基于聚类算法的故障诊断分析方法,所述方法包括:集成监控工具springbootadmin,通过监控工具springbootadmin捕获服务异常,并记录服务异常的相关日志,即服务异常日志;整合@ExceptionHandler全局运行异常处理类,通过@ExceptionHandler全局运行异常处理类捕获运行异常,并记录运行异常的相关日志,即运行异常日志;将服务异常日志和运行异常日志存储至搜索服务器elasticsearch中;聚类分析elasticsearch中存储的运行异常日志和服务异常日志,基于聚类分析结果,判断发生故障或者容易发生故障的接口。进一步地,集成监控工具springbootadmin,通过监控工具springbootadmin捕获服务异常,并记录服务异常的相关日志具体包括:从应用容器引擎docker上下载监控工具springbootadmin的image镜像,基于docker-compose部署springbootadmin的服务端,在需要捕获服务异常的服务上整合springbootadmin的客户端,配置好springbootadmin的服务端地址和信息,通过springbootadmin的客户端和服务端之间的心跳检测,实现服务状态的运行检查,一旦客户端离线,服务端即可监测到客户端的离线行为,从而记录下服务离线的相关日志,即服务异常日志。进一步地,整合@ExceptionHandler全局运行异常处理类,通过@ExceptionHandler全局运行异常处理类捕获运行异常,并记录运行异常的相关日志具体包括:在需要捕获运行异常的服务上整合@ExceptionHandler全局运行异常处理类,当代码级别发生报错的时候,如常见的空指针异常、数组越界异常等,通过@ExceptionHandler全局运行异常处理类记录异常的信息,将记录的异常信息存储到库中,实现全局运行异常日志的统一处理。进一步地,将服务异常日志和运行异常日志存储至搜索服务器elasticsearch中具体包括:将捕获的服务异常日志和运行异常日志发送到kafka中,故障诊断模块消费kafka中的服务异常日志和运行异常日志,并存储至elasticsearch中。进一步地,所述方法还包括:S01,根据存储在elasticsearch中的日志数据初始化k个原型{W1,W2...,Wk},Ij是wj的聚类因子,i和j的取值范围分别是j∈{1,2,......,k},i∈{1,2,......,n};S02,根据不同的日志分类,使每一个分离出来的聚类cj与原型wj相对应;S03,对于每一个输入变量ii,其中i∈{1,2,......,n},都将ii分配给最近的原型wj所属的聚类cj,即S04,计算错误函数对范围属于ej的进行求和;S05,定义日常日志相似度,选择两个日常日志i,j之间的相似度s(i,j)为对应异常的夹角的余弦值,不同的变量之间的相似性的测量方式略有不同,设日志的向量为vi=(ai1,ai2......,ai∈)来计算日志的相似度,那么设相似度矩阵为R=(rij)s×s,rij用来表示日志i和日志j的相似度:其中,rij=rji(i,j=1,2,......,s),对日志之间的相似度定义的方式也是很多的,比如定义其中|vi∩vj|是两种日志中都出现过的异常,|vi∪vj|是两种日志的总的数目;S06,对于矩阵R其中的aij=s(i,j),即日志i和日志j的相似度,矩阵R为日志集合的相似度矩阵将相似度矩阵,作为聚类算法的输入,进行聚类分析。作为本专利技术的第二方面,提供一种基于聚类算法的故障诊断分析系统,所述系统包括服务监控单元、运行监控单元、存储单元以及聚类单元;所述服务监控单元用于集成监控工具springbootadmin,通过监控工具springbootadmin捕获服务异常,并记录服务异常的相关日志,即服务异常日志;所述运行监控单元用于整合@ExceptionHandler全局运行异常处理类,通过@ExceptionHandler全局运行异常处理类捕获运行异常,并记录运行异常的相关日志,即运行异常日志;所述存储单元用于将服务异常日志和运行异常日志存储至搜索服务器elasticsearch中;所述聚类单元用于聚类分析elasticsearch中存储的运行异常日志和服务异常日志,基于聚类分析结果,判断发生故障或者容易发生故障的接口。进一步地,所述服务监控单元具体用于:从应用容器引擎docker上下载监控工具springbootadmin的image镜像,基于docker-compose部署springbootadmin的服务端,在需要捕获服务异常的服务上整合springbootadmin的客户端,配置好springbootadmin的服务端地址和信息,通过springbootadmin的客户端和服务端之间的心跳检测,实现服务状态的运行检查,一旦客户端离线,服务端即可监测到客户端的离线行为,从而记录下服务离线的相关日志,即服务异常日志。进一步地,运行监控单元具体用于:在需要捕获运行异常的服务上整合@ExceptionHandler全局运行异常处理类,当代码级别发生报错的时候,如常见的空指针异常、数组越界异常等,通过@ExceptionHandler全局运行异常处理类记录异常的信息,将记录的异常信息存储到库中,实现全局运行异常日志的统一处理。进一步地,所述存储单元具体用于:将捕获的服务异常日志和运行异常日志发送到kafka中,故障诊断模块消费kafka中的服务异常日志和运行异常日志,并存储至elasticsearch中。进一步地,所述系统还包括相似度矩阵计算模块,所述相似度矩阵计算模块计算模块具体用于:根据存储在elasticsearch中的日志数据初始化k个原型{W1,W2...,Wk},Ij是wj的聚类因子,本文档来自技高网...

【技术保护点】
1.一种基于聚类算法的故障诊断分析方法,其特征在于,所述方法包括:/n集成监控工具springbootadmin,通过监控工具springbootadmin捕获服务异常,并记录服务异常的相关日志,即服务异常日志;/n整合@ExceptionHandler全局运行异常处理类,通过@ExceptionHandler全局运行异常处理类捕获运行异常,并记录运行异常的相关日志,即运行异常日志;/n将服务异常日志和运行异常日志存储至搜索服务器elasticsearch中;/n聚类分析elasticsearch中存储的运行异常日志和服务异常日志,基于聚类分析结果,判断发生故障或者容易发生故障的接口。/n

【技术特征摘要】
1.一种基于聚类算法的故障诊断分析方法,其特征在于,所述方法包括:
集成监控工具springbootadmin,通过监控工具springbootadmin捕获服务异常,并记录服务异常的相关日志,即服务异常日志;
整合@ExceptionHandler全局运行异常处理类,通过@ExceptionHandler全局运行异常处理类捕获运行异常,并记录运行异常的相关日志,即运行异常日志;
将服务异常日志和运行异常日志存储至搜索服务器elasticsearch中;
聚类分析elasticsearch中存储的运行异常日志和服务异常日志,基于聚类分析结果,判断发生故障或者容易发生故障的接口。


2.根据权利要求1所述的基于聚类算法的故障诊断分析方法,其特征在于,集成监控工具springbootadmin,通过监控工具springbootadmin捕获服务异常,并记录服务异常的相关日志具体包括:
从应用容器引擎docker上下载监控工具springbootadmin的image镜像,基于docker-compose部署springbootadmin的服务端,在需要捕获服务异常的服务上整合springbootadmin的客户端,配置好springbootadmin的服务端地址和信息,通过springbootadmin的客户端和服务端之间的心跳检测,实现服务状态的运行检查,一旦客户端离线,服务端即可监测到客户端的离线行为,从而记录下服务离线的相关日志,即服务异常日志。


3.根据权利要求1所述的基于聚类算法的故障诊断分析方法,其特征在于,整合@ExceptionHandler全局运行异常处理类,通过@ExceptionHandler全局运行异常处理类捕获运行异常,并记录运行异常的相关日志具体包括:
在需要捕获运行异常的服务上整合@ExceptionHandler全局运行异常处理类,当代码级别发生报错的时候,通过@ExceptionHandler全局运行异常处理类记录异常的信息,将记录的异常信息存储到库中,实现全局运行异常日志的统一处理。


4.根据权利要求1所述的基于聚类算法的故障诊断分析方法,其特征在于,将服务异常日志和运行异常日志存储至搜索服务器elasticsearch中具体包括:将捕获的服务异常日志和运行异常日志发送到kafka中,故障诊断模块消费kafka中的服务异常日志和运行异常日志,并存储至elasticsearch中。


5.根据权利要求1所述的基于聚类算法的故障诊断分析方法,其特征在于,所述方法还包括:
S01,根据存储在elasticsearch中的日志数据初始化k个原型{W1,W2...,Wk},Ij是wj的聚类因子,i和j的取值范围分别是j∈{1,2,......,k},i∈{1,2,......,n};
S02,根据不同的日志分类,使每一个分离出来的聚类cj与原型wj相对应;
S03,对于每一个输入变量ii,其中i∈{1,2,......,n},都将ii分配给最近的原型wj所属的聚类cj,即
S04,计算错误函数对范围属于ej的进行求和;
S05,定义日常日志相似度,选择两个日常日志i,j之间的相似度s(i,j)为对应异常的夹角的余弦值,设日志的向量为vi=(ai1,ai2......,ai∈)来计算日志的相似度,那么设相似度矩阵为R=(rij)s×s,rij用来表示日志i和日志j的相似度:其中,rij=rji(i,j=1,2,......,s);
S06,对于矩阵R其中的aij=s(i,j),即日志i和日志j的相似度,矩阵R...

【专利技术属性】
技术研发人员:谢帆杨毅
申请(专利权)人:武汉烽火众智数字技术有限责任公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1