故障预测诊断方法及系统与流程

文档序号:18703904发布日期:2019-09-17 23:21阅读:1122来源:国知局
故障预测诊断方法及系统与流程

本发明涉及系统故障诊断分析领域,具体地,涉及一种故障预测诊断方法及系统。



背景技术:

目前it系统规模日益庞大、功能愈加丰富,企业大量核心交易都依赖it系统处理。在日常的测试及生产活动中,面对海量的运维管理对象,如何能够快速且准确的识别和定位潜在的功能及性能问题,并及时进行处理,对于维护企业正常的经营活动显得至关重要。

目前从业界通常做法来看,主要依赖基于固定阀值的监控报警系统。虽然系统间可以根据系统的差异性配置不同的监控阀值,但是对于单个系统,阀值相对固定。这种方案虽然可以快速的发现问题,但是误报率高、弹性差且无法通过监控事件定位原因。随着自动化运维理念和技术的发展,这种监控方案无法有效驱动后续的运维自动化动作。

测试环境更为特殊,由于资源投入有限,测试环境配置一般都比投产后环境小很多,数据量也与实际存在较大差异,这样就给问题分析和定位带来了更大的挑战。传统的基于阀值报警的问题发现和诊断方法在测试环境明显存在短板,主要体现在误报率和漏报率较高。



技术实现要素:

本发明实施例的主要目的在于提供一种故障预测诊断方法及系统,以根据不同监控对象特点和问题预测诊断故障原因,快速准确地发现潜在问题,满足了监控需求的多样性,有效降低了系统的运行风险,驱动了后续的运维自动化动作。

为了实现上述目的,本发明实施例提供一种故障预测诊断方法,包括:

采集被监控对象上预设的多个监控指标;

按照预设的历史运行趋势判断每个监控指标的风险等级;

当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;其中,监控事件包括多个监控指标;

判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标;

根据一个或多个异常监控指标预测诊断故障原因。

本发明实施例还提供一种故障预测诊断系统,包括:

采集单元,用于采集被监控对象上预设的多个监控指标;

第一判断单元,用于按照预设的历史运行趋势判断每个监控指标的风险等级;

定位单元,用于当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;其中,监控事件包括多个监控指标;

第二判断单元,用于判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标;

故障预测诊断单元,用于根据一个或多个异常监控指标预测诊断故障原因。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

采集被监控对象上预设的多个监控指标;

按照预设的历史运行趋势判断每个监控指标的风险等级;

当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;其中,监控事件包括多个监控指标;

判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标;

根据一个或多个异常监控指标预测诊断故障原因。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

采集被监控对象上预设的多个监控指标;

按照预设的历史运行趋势判断每个监控指标的风险等级;

当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;其中,监控事件包括多个监控指标;

判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标;

根据一个或多个异常监控指标预测诊断故障原因。

本发明实施例的故障预测诊断方法及系统先采集被监控对象上预设的多个监控指标,再按照预设的历史运行趋势判断每个监控指标的风险等级;当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;然后判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标,最后根据一个或多个异常监控指标预测诊断故障原因,可以快速准确地发现潜在问题,满足了监控需求的多样性,有效降低了系统的运行风险,驱动了后续的运维自动化动作。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明第一实施例中故障预测诊断方法的流程图;

图2是本发明第二实施例中故障预测诊断方法的流程图;

图3是本发明实施例中故障预测诊断系统的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

鉴于现有技术无法有效驱动后续的运维自动化动作,误报率和漏报率较高,本发明实施例提供一种故障预测诊断方法,以根据不同监控对象特点和问题预测诊断故障原因,可以快速准确地发现潜在问题,满足了监控需求的多样性,有效降低了系统的运行风险,驱动了后续的运维自动化动作。以下结合附图对本发明进行详细说明。

图1是本发明第一实施例中故障预测诊断方法的流程图。如图1所示,故障预测诊断方法包括:

s101:采集被监控对象上预设的多个监控指标。

具体实施时,可以采用开源zabbix工具、自主研发的dbmonitor工具采集监控指标。

s102:按照预设的历史运行趋势判断每个监控指标的风险等级。

具体实施时,可以根据历史采集的数据构建出被监控对象的各个监控指标的历史运行趋势,按照历史最小值、历史平均值、历史最大值和历史最大值的1.5倍由低到高划分为四个风险等级。由于各个被监控对象的特点不同(例如联机事务型或批量作业型),每个监控指标的度量标准是不一样的;同时,由于系统资源的差异,相同的被监控对象在不同资源环境下运行,产生的监控指标也存在很大差异。通过划分风险等级,可以与自身历史运行情况进行比较,过滤低风险等级的监控指标,减少因特点不同和资源差异不同造成的监控指标判断失真现象,提高监控的准确率。

s103:当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;其中,监控事件包括多个监控指标。

s104:判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标。

具体实施时,还可以借助其他人工判断标准判断是否在异常时间段出现异常,以提升监控的准确率和解决效率,降低误报率。如果监控事件对应的全部监控指标或大部分监控指标出现异常,即认为命中监控事件;如果只有单独监控指标出现异常,即认为命中监控指标。例如,如果监控指标的风险等级大于或等于该监控指标对应的阈值风险等级,则判断该监控指标出现异常。

s105:根据一个或多个异常监控指标预测诊断故障原因。

例如,对于数值型的监控指标,可以利用线性拟合模型,以时间为维度,对数值型监控指标的增长趋势进行分析,如果呈现持续增长的趋势,则预测未来将会产生故障。

图1所示的故障预测诊断方法的执行主体可以为计算机。由图1所示的流程可知,本发明实施例的故障预测诊断方法先采集被监控对象上预设的多个监控指标,再按照预设的历史运行趋势判断每个监控指标的风险等级;当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;然后判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标,最后根据一个或多个异常监控指标预测诊断故障原因,可以快速准确地发现潜在问题,满足了监控需求的多样性,有效降低了系统的运行风险,驱动了后续的运维自动化动作。

图2是本发明第二实施例中故障预测诊断方法的流程图。如图2所示,执行s101之前,还包括:

s201:接收监控需求,按照预设的第一分类规则对监控需求进行分类。

例如,可以根据监控需求的来源将监控需求分为“发现历史生产问题”,“满足生产监控需求”和“满足版本改造测试需求”三个大类。

s202:按照预设的第二分类规则将每类监控需求均分为多个监控事件。

例如,在“发现历史生产问题”大类中,对生产环境发生过的性能问题进行根因分析,将“发现历史生产问题”大类分为9个主要根因,并将9个主要根因定义为监控事件。

s203:将每个监控事件划分为多个监控指标。

例如,“c3:索引分裂”监控事件对应的监控指标为“数据库等待时间”和“会话数量”。

s204:将每个监控事件对应的至少一个监控指标作为被监控对象上预设的监控指标。

具体实施时,可以先定义每个监控指标对应的指标代码,然后选择相应的指标代码作为预设的监控指标。例如,可以选择“数据库等待时间”对应的指标代码“enq:tx-indexcontention”作为预设的监控指标。

为了解决监控指标的机器时间与自然时间不一致的情况,在执行s101之后,还可以包括:接收每个监控指标的机器时间;根据当前自然时间与每个监控指标的机器时间确定每个监控指标的自然时间;按照每个监控指标的自然时间对多个监控指标进行时序编排。此时s102具体包括:按照预设的历史运行趋势判断每个进行时序编排后的监控指标的风险等级。s104具体包括:判断监控事件对应的其余多个监控指标是否在时序编排后的异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标。

具体实施时,被监控对象会定时发送监控指标的机器时间给本发明实施例的故障预测诊断系统,故障预测诊断系统收到机器时间后会与当前自然时间进行比较,并计算一个时间差值,被监控对象两次发送的间隔内采集到的监控指标都会利用这个时间差值与当前自然时间进行换算,保证所有监控指标都能记录发生的自然时间和机器时间。这样可以按照统一时序对不同被监控对象产生的监控指标按照时间维度进行关联分析。

一实施例中,执行s106之后,还可以包括:根据故障原因和预设的响应规则判断是否触发运维自动化操作;当触发运维自动化操作时,执行运维自动化操作,选择相对应的处理方法自动完成故障的修复;如果不触发运维自动化操作,则忽略故障或者转人工处理,最后发送运维自动化操作的处理结果至相关测试和运维人员。

本发明的其中一个具体实施例如下:

1、接收监控需求,按照预设的第一分类规则对监控需求进行分类。

2、按照预设的第二分类规则将每类监控需求均分为多个监控事件,并将每个监控事件划分为多个监控指标。

3、将每个监控事件对应的至少一个监控指标作为被监控对象上预设的监控指标。

4、采集被监控对象上预设的多个监控指标。

5、按照预设的历史运行趋势判断每个监控指标的风险等级。当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段。

例如,发现监控指标出现异常,具体为被监控对象的某一台服务器cpu资源使用率从某一时间点开始出现了持续增长的趋势,并最终冲高到接近99%。此时检查发现该监控指标对应的监控事件为数据库进程执行事件。

6、判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标。

例如,遍历数据库进程执行事件所需的所有监控指标,发现数据库进程执行共包含10个监控指标。对10个监控指标进行检查,判断监控指标是否在时序编排后的异常时间段存在异常。在指标数据来源“会话连接数统计”和“异常等待事件统计”中,发现“出现等待事件的会话数量”和“索引分裂等待事件”这两个监控指标在相同的异常时间段出现异常。以“索引分裂等待事件”监控指标为例,按照该监控指标的历史运行趋势,被监控对象的相同语句在单位时间内发生“索引分裂等待事件”的次数只有15次,而在该异常时间段内,发生“索引分裂等待事件”的最大次数为28次,超过历史版本的1.5倍,此时定义为高风险等级,触发事件报警。

7、根据一个或多个异常监控指标预测诊断故障原因。

例如,根据异常的“出现等待事件的会话数量”监控指标、“索引分裂等待事件”监控指标和cpu资源的使用情况,预测诊断故障原因为索引分裂。

8、根据故障原因和预设的响应规则判断是否触发运维自动化操作;当触发运维自动化操作时,执行运维自动化操作,选择相对应的处理方法自动完成故障的修复;如果不触发运维自动化操作,则忽略故障或者转人工处理,最后发送运维自动化操作的处理结果至相关测试和运维人员。

例如,根据预设的响应规则判断索引分裂故障是否触发运维自动化操作;当触发运维自动化操作时,执行运维自动化操作,选择相对应的处理方法修复索引分裂故障;如果不触发运维自动化操作,则忽略索引分裂故障或者转人工处理,最后发送索引分裂故障的处理结果至相关测试和运维人员。

综上,本发明实施例的故障预测诊断方法先采集被监控对象上预设的多个监控指标,再按照预设的历史运行趋势判断每个监控指标的风险等级;当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;然后判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标,最后根据一个或多个异常监控指标预测诊断故障原因,可以快速准确地发现潜在问题,满足了监控需求的多样性,有效降低了系统的运行风险,帮助运维人员快速定位问题原因,驱动了后续的运维自动化动作。

基于同一发明构思,本发明实施例还提供了一种故障预测诊断系统。图3是本发明实施例中故障预测诊断系统的结构框图。如图3所示,故障预测诊断系统包括:

采集单元,用于采集被监控对象上预设的多个监控指标;

第一判断单元,用于按照预设的历史运行趋势判断每个监控指标的风险等级;

定位单元,用于当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;其中,监控事件包括多个监控指标;

第二判断单元,用于判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标;

故障预测诊断单元,用于根据一个或多个异常监控指标预测诊断故障原因。

在其中一种实施例中,还包括:

第一分类单元,用于接收监控需求,按照预设的第一分类规则对监控需求进行分类;

第二分类单元,用于按照预设的第二分类规则将每类监控需求均分为多个监控事件;

划分单元,用于将每个监控事件划分为多个监控指标;

预设监控指标单元,用于将每个监控事件对应的至少一个监控指标作为被监控对象上预设的监控指标。

在其中一种实施例中,还包括:

接收单元,用于接收每个监控指标的机器时间;

自然时间单元,用于根据当前自然时间与每个监控指标的机器时间确定每个监控指标的自然时间;

时序编排单元,用于按照每个监控指标的自然时间对多个监控指标进行时序编排;

第一判断单元具体用于:

按照预设的历史运行趋势判断每个进行时序编排后的监控指标的风险等级。

在其中一种实施例中,还包括:

第三判断单元,用于根据故障原因和预设的响应规则判断是否触发运维自动化操作;

运维单元,用于当触发运维自动化操作时,执行运维自动化操作;

发送单元,用于发送运维自动化操作的处理结果。

综上,本发明实施例的故障预测诊断系统先采集被监控对象上预设的多个监控指标,再按照预设的历史运行趋势判断每个监控指标的风险等级;当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;然后判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标,最后根据一个或多个异常监控指标预测诊断故障原因,可以快速准确地发现潜在问题,满足了监控需求的多样性,有效降低了系统的运行风险,帮助运维人员快速定位问题原因,驱动了后续的运维自动化动作。

本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

采集被监控对象上预设的多个监控指标;

按照预设的历史运行趋势判断每个监控指标的风险等级;

当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;其中,监控事件包括多个监控指标;

判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标;

根据一个或多个异常监控指标预测诊断故障原因。

综上,本发明实施例的计算机设备先采集被监控对象上预设的多个监控指标,再按照预设的历史运行趋势判断每个监控指标的风险等级;当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;然后判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标,最后根据一个或多个异常监控指标预测诊断故障原因,可以快速准确地发现潜在问题,满足了监控需求的多样性,有效降低了系统的运行风险,帮助运维人员快速定位问题原因,驱动了后续的运维自动化动作。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

采集被监控对象上预设的多个监控指标;

按照预设的历史运行趋势判断每个监控指标的风险等级;

当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;其中,监控事件包括多个监控指标;

判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标;

根据一个或多个异常监控指标预测诊断故障原因。

综上,本发明实施例的计算机可读存储介质先采集被监控对象上预设的多个监控指标,再按照预设的历史运行趋势判断每个监控指标的风险等级;当其中一个监控指标的风险等级大于或等于该监控指标对应的阈值风险等级时,定位该监控指标对应的监控事件和异常时间段;然后判断监控事件对应的其余多个监控指标是否在异常时间段出现异常,以确定监控事件对应的一个或多个异常的监控指标,最后根据一个或多个异常监控指标预测诊断故障原因,可以快速准确地发现潜在问题,满足了监控需求的多样性,有效降低了系统的运行风险,帮助运维人员快速定位问题原因,驱动了后续的运维自动化动作。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1