发明内容
为解决上述问题,本发明提出一种服务器故障预测方法,包括:
获取服务器各个部件的运行数据及日志数据;
对所述运行数据和日志数据进行解析得到各个部件的状态数据;
基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率;
基于各个部件对服务器的影响概率计算服务器的故障概率,并将所述故障概率与预设的阈值进行比较,响应于所述故障概率高于所述阈值则发出关于所述服务器的故障预警。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率包括:
获取服务器故障时各个部件的状态数据,按照独立性权重法计算各个部件对服务器故障的影响权重。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
获取服务器故障时各个部件的状态数据,根据所述各个部件的状态数据通过独立性权重法确定各部件之间的关联关系;
根据所述关联关系计算所述各个部件的对应的其他部件的影响系数。
在本发明的一些实施方式中,方法还包括:
响应于各个部件之间存在关联关系,将具备关联关系的部件中影响权重最高的部件的影响权重共享给具备关联关系的其他部件。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
获取各个部件的状态数据,通过所述状态数据确定各个部件发生故障的次数和发生故障的时间;
并基于所述发送故障的次数和发生故障的时间确定各个部件发生故障的频率和趋势,并将所述频率和趋势作为所述预设规则的一个因素计算各个部件对服务器的影响概率。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
根据不同的服务器上各个部件的状态数据,通过回归模型对预设的规则进行回归训练确定不同的服务器对应的系数。
在本发明的一些实施方式中,获取服务器各个部件的运行数据及日志数据包括:
通过BMC收集服务器中各个部件的运行状态数据和事件日志信息。
本发明的另一方面还提出一种服务器故障预测系统,包括:
服务器数据收集模块,服务器数据收集模块配置用于获取服务器各个部件的运行数据及日志数据;
服务器数据解析模块,所述服务器数据解析模块配置用于对所述运行数据和日志数据进行解析得到各个部件的状态数据;
服务器数据分析模块,所服务器数据分析模块配置用于基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率;
服务器故障预测模块,所述服务器故障模块配置用于基于各个部件对服务器的影响概率计算服务器的故障概率,并将所述故障概率与预设的阈值进行比较,响应于所述故障概率高于所述阈值则发出关于所述服务器的故障预警。
本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种服务器故障预测方法,从多种维度获取服务器上各个部件的运行状态数据,并根据运行状态数据计算各个部件对服务器的影响概率,基于多个部件的影响概率预测服务器的运行状态,并在预测结果为故障时通知运维人员及时处理对应的异常部件。通过及时更换部件可有效解决因部分部件的长时间使用易发的异常导致服务器宕机的风险。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
如图1所示,为解决上述问题,本发明提出一种服务器故障预测方法,包括:
步骤S1、获取服务器各个部件的运行数据及日志数据;
步骤S2、对所述运行数据和日志数据进行解析得到各个部件的状态数据;
步骤S3、基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率;
步骤S4、基于各个部件对服务器的影响概率计算服务器的故障概率,并将所述故障概率与预设的阈值进行比较,响应于所述故障概率高于所述阈值则发出关于所述服务器的故障预警。
在本发明的实施例中,在步骤S1中,各个部件是指服务器上CPU、内存、硬盘、RAID卡、网卡、主板、电源等设备,运行数据包括各个部件的当前状态信息,所谓状态信息包括多种维度的信息,典型地,例如CPU,在本实施例中需要获取的CPU的运行状态,即是否正常运行,是否触发CPU的异常中断等CPU工作的状态信息,同时还需要获取CPU的温度以及CPU的功耗等传感器信息,对于内存同样需要获取内存的运行状态以及内存的温度等信息。通过运行状态和物理状态作为对应的部件的运行数据以表示各个部件的状态。
进一步,在本实施例中,还通过服务器的系统日志或各个部件的日志获取各个部件在一段时间的状态或异常的状态历史。
在步骤S2中,根据收集到的服务器上各个部件的运行数据获取当前服务器上各个部件的状态,即是否出现异常以及各个部件在服务器运行当中出现故障的次数。
在本发明的一些实施例中,服务器的状态数据还包括服务器上各个部件出现故障的发生时间信息。
在步骤S3中,根据获取到的各个部件的状态数据按照对于该服务器预先设定计算规则计算各个部件对服务器的影响概率,在本发明的实施例中,本发明提出的计算规则如下:
Pi=L×W×Wt
其中,Pi表示对应的部件对服务器的影响概率,L表示部件故障等级,故障越严重,则故障等级越高,数值越大,W表示部件故障对服务器影响权重,Wt:部件故障发生的趋势,默认为1,上升趋势越快,数值越大;如果故障只发生了一次或不是上升趋势,则值为1。
在本实施例中,L表示的故障等级是根据对应的部件对服务器的影响程度有运维经验确定,并按照部件故障时对服务器运行的直接影响作为判断依据,例如,CPU、内存等故障时则直接导致服务器出现宕机,则CPU以及内存对应的故障等级应设置为最高级,硬盘故障时分为多种情况,根据服务器上硬盘的RAID模式的区别进行不同设定,如果硬盘存在冗余备份的方式,则单个硬盘的故障时还要备份硬盘可用于数据使用,因此这种情况不会直接导致服务器宕机,不被分类为最高等级,如果是同为一组冗余备份的硬盘全部故障导致服务器数据写入出现异常则认为属于较高等级的故障,除非所有的硬盘全部故障才将硬盘的故障等级设定为最高级。硬盘故障等级可通过读取RAID卡上的硬盘状态进行确认。
进一步,基于上述公式根据各个部件的状态数据计算各个部件的影响概率。具体地,当对应的部件零故障时,该固件按照其等级以及权重的计算结果应为默认值即初始值,其对服务器的状态的影响几乎没有变化,当出现故障之后对应Wt则不为1,则对应的部件对服务器状态的影响开始增加。
在步骤S4中,将计算好的各个部件对服务器的影响概率进行求和得到服务器的故障概率,通过服务器上的各个部件出现故障对服务器的状态的影响预测当前服务器的状态。具体地,计算过程如下:
其中,Ps表示各个部件对服务器的影响概率的总和,Ps的值高于设定而定阈值时,则认为服务器可能会出现对应较严重的故障比如宕机等。
提别地,可从上诉公式中找出对服务器故障影响最大的部件,即将影响概率最大的部件认为是最容易导致使服务器故障的部件,或者是将影响概率超过设定的第二预定值(用于标记对应的部件的影响概率,如果超过这个预定值时作为判断是否更换对应部件的条件)的部件作为更换部件,提示对应的运维人员更换对应的部件。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率包括:
获取服务器故障时各个部件的状态数据,按照独立性权重法计算各个部件对服务器故障的影响权重。
在本实施例中,对于服务器上的各个部件额权重计算,本发明采用独立性权重计算法进行计算,通过收集的数据计算每一个部件出现故障导致服务器故障的概率作为权重。并以此作为对应部件对服务器的故障的影响权中。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
获取服务器故障时各个部件的状态数据,根据所述各个部件的状态数据通过独立性权重法确定各部件之间的关联关系;
根据所述关联关系计算所述各个部件的对应的其他部件的影响系数。
在本实施例中,在计算各个部件对服务器故障的影响概率时还考虑各个部件之间的关联关系Cjk,并同过独立性权重法确定各个部件之间在造成服务器故障时的关联关系Cjk,当对应的部件故障存在关联关系时采用以下计算公式计算每一个部件对服务器的影响概率:
Pi=L×Wj×Wt×Ijk
其中,Ijk表示除对应的部件自身外其他部件对该部件的影响系数,通过独立性权重法分别计算每一个部件对其他部件的影响概率,并求和得到对应部件受其他部件影响的影响系数Ijk并作为计算该部件的影响概率时的一个参数。
在本发明的一些实施方式中,方法还包括:
响应于各个部件之间存在关联关系,将具备关联关系的部件中影响权重最高的部件的影响权重共享给具备关联关系的其他部件。
在本实施例中,如果各个部件之间存在关联关系,且关联关系存在较强的因果性,例如CPU温度过高和风扇存在关联关系,CPU故障权重高,而风扇故障的权重相对较低,当CPU和风扇都发生故障,基本可以判断该故障由风扇故障锁引起,因此需要对风扇故障权重进行提权操作,根据关联关系Cjk,可以找到被影响固件故障的权重Wj,
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
获取各个部件的状态数据,通过所述状态数据确定各个部件发生故障的次数和发生故障的时间;
并基于所述发送故障的次数和发生故障的时间确定各个部件发生故障的频率和趋势,并将所述频率和趋势作为所述预设规则的一个因素计算各个部件对服务器的影响概率。
在本实施例中,如上述计算公式中Wt表示部件故障发生的趋势,因此需要获取各个部件的状态数据中所记录的在服务器运行后对应的部件发生故障的次数以及频率,通过在一定时间内发生的次数对部件故障的发生趋势进行量化,根据需要选择合适的判定时间,例如,以三个月年内为时间单位,如果一年内某个部件发生故障一次,则将将该部件的部件发生趋势+1,如果三个月内发生两次,则将部件故障发生趋势加2,以此类推,另外还可根据服务器的使用时间进行灵活设定对应的时间段,由于服务器随着时间的增加各个部件的稳定性将会降低,出现故障的可能性将会增加,因此,可将判定时间进行调整,比如以1年或半年的时间作为时间窗口,增加对应的部件发生趋势值。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
根据不同的服务器上各个部件的状态数据,通过回归模型对预设的规则进行回归训练确定不同的服务器对应的系数。
在本实施例中,为使计算各个部件对服务器的影响概率的计算规则公司对不同型号或品牌的服务器的进行适应,可在计算公式中增加一个表示服务器型号或品牌的影响系数r,增加影响系数r后的计算公式如下:
Pi=r×L×W×Wt
影响系数r根据不同服务器产品或服务器型号具有不同的数值,r的取值可通过收集对应的服务器的故障数据,并基于收集到的故障诗句通过回归模型进行计算得到对应的影响系数r。
在本发明的一些实施方式中,获取服务器各个部件的运行数据及日志数据包括:
通过BMC收集服务器中各个部件的运行状态数据和事件日志信息。
在本实施例中,通过BMC接口或IPMI接口收集服务器中CPU、内存、硬盘、RAID卡、网卡、电源等部件信息和各种传感器信息,以及事件日志等数据信息。用于计算对应的服务器的各个部件的影响概率。
通过本发明提出的一种服务器故障预测方法,从多种维度获取服务器上各个部件的运行状态数据,并根据运行状态数据计算各个部件对服务器的影响概率,基于多个部件的影响概率预测服务器的运行状态,并在预测结果为故障时通知运维人员及时处理对应的异常部件。通过及时更换部件可有效解决因部分部件的长时间使用易发的异常导致服务器宕机的风险。
如图2所示,本发明的另一方面还提出一种服务器故障预测系统,包括:
服务器数据收集模块1,服务器数据收集模块1配置用于获取服务器各个部件的运行数据及日志数据;
服务器数据解析模块2,所述服务器数据解析模块2配置用于对所述运行数据和日志数据进行解析得到各个部件的状态数据;
服务器数据分析模块3,所服务器数据分析模块3配置用于基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率;
服务器故障预测模块4,所述服务器故障模块4配置用于基于各个部件对服务器的影响概率计算服务器的故障概率,并将所述故障概率与预设的阈值进行比较,响应于所述故障概率高于所述阈值则发出关于所述服务器的故障预警。
在本发明的一些实施方式中,服务器数据解析模块2还配置用于:
获取服务器故障时各个部件的状态数据,按照独立性权重法计算各个部件对服务器故障的影响权重。
在本发明的一些实施方式中,服务器数据解析模块2还配置用于:
获取服务器故障时各个部件的状态数据,根据所述各个部件的状态数据通过独立性权重法确定各部件之间的关联关系;
根据所述关联关系计算所述各个部件的对应的其他部件的影响系数。
在本发明的一些实施方式中,服务器数据解析模块2还配置用于:
响应于各个部件之间存在关联关系,将具备关联关系的部件中影响权重最高的部件的影响权重共享给具备关联关系的其他部件。
在本发明的一些实施方式中,服务器数据解析模块2还配置用于:
获取各个部件的状态数据,通过所述状态数据确定各个部件发生故障的次数和发生故障的时间;
并基于所述发送故障的次数和发生故障的时间确定各个部件发生故障的频率和趋势,并将所述频率和趋势作为所述预设规则的一个因素计算各个部件对服务器的影响概率。
在本发明的一些实施方式中,服务器数据解析模块2还配置用于:
根据不同的服务器上各个部件的状态数据,通过回归模型对预设的规则进行回归训练确定不同的服务器对应的系数。
在本发明的一些实施方式中,服务器数据收集模块1进一步配置用于:
通过BMC收集服务器中各个部件的运行状态数据和事件日志信息。
如图3所示,本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器21;以及
存储器22,所述存储器22存储有可在所述处理器上运行的计算机指令23,所述指令23由所述处理器21执行时实现一种服务器故障预测方法,包括:
获取服务器各个部件的运行数据及日志数据;
对所述运行数据和日志数据进行解析得到各个部件的状态数据;
基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率;
基于各个部件对服务器的影响概率计算服务器的故障概率,并将所述故障概率与预设的阈值进行比较,响应于所述故障概率高于所述阈值则发出关于所述服务器的故障预警。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率包括:
获取服务器故障时各个部件的状态数据,按照独立性权重法计算各个部件对服务器故障的影响权重。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
获取服务器故障时各个部件的状态数据,根据所述各个部件的状态数据通过独立性权重法确定各部件之间的关联关系;
根据所述关联关系计算所述各个部件的对应的其他部件的影响系数。
在本发明的一些实施方式中,方法还包括:
响应于各个部件之间存在关联关系,将具备关联关系的部件中影响权重最高的部件的影响权重共享给具备关联关系的其他部件。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
获取各个部件的状态数据,通过所述状态数据确定各个部件发生故障的次数和发生故障的时间;
并基于所述发送故障的次数和发生故障的时间确定各个部件发生故障的频率和趋势,并将所述频率和趋势作为所述预设规则的一个因素计算各个部件对服务器的影响概率。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
根据不同的服务器上各个部件的状态数据,通过回归模型对预设的规则进行回归训练确定不同的服务器对应的系数。
在本发明的一些实施方式中,获取服务器各个部件的运行数据及日志数据包括:
通过BMC收集服务器中各个部件的运行状态数据和事件日志信息。
如图4所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序被处理器执行时实现一种服务器故障预测方法,包括:
获取服务器各个部件的运行数据及日志数据;
对所述运行数据和日志数据进行解析得到各个部件的状态数据;
基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率;
基于各个部件对服务器的影响概率计算服务器的故障概率,并将所述故障概率与预设的阈值进行比较,响应于所述故障概率高于所述阈值则发出关于所述服务器的故障预警。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率包括:
获取服务器故障时各个部件的状态数据,按照独立性权重法计算各个部件对服务器故障的影响权重。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
获取服务器故障时各个部件的状态数据,根据所述各个部件的状态数据通过独立性权重法确定各部件之间的关联关系;
根据所述关联关系计算所述各个部件的对应的其他部件的影响系数。
在本发明的一些实施方式中,方法还包括:
响应于各个部件之间存在关联关系,将具备关联关系的部件中影响权重最高的部件的影响权重共享给具备关联关系的其他部件。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
获取各个部件的状态数据,通过所述状态数据确定各个部件发生故障的次数和发生故障的时间;
并基于所述发送故障的次数和发生故障的时间确定各个部件发生故障的频率和趋势,并将所述频率和趋势作为所述预设规则的一个因素计算各个部件对服务器的影响概率。
在本发明的一些实施方式中,基于所述各个部件的状态数据按照预设的规则计算各个部件对服务器的影响概率还包括:
根据不同的服务器上各个部件的状态数据,通过回归模型对预设的规则进行回归训练计算确定不同的服务器对应的系数。
在本发明的一些实施方式中,获取服务器各个部件的运行数据及日志数据包括:
通过BMC收集服务器中各个部件的运行状态数据和事件日志信息。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。