基于资源拓扑的资源预警方法及系统与流程

文档序号:11410701阅读:179来源:国知局
基于资源拓扑的资源预警方法及系统与流程
本发明涉及信息告警
技术领域
,特别是涉及基于资源拓扑的资源预警方法及系统。
背景技术
:告警系统用于对设备及服务的异常情况进行告警,并提供告警信息查看、处理和订阅功能,广泛应用于各类互联网公司的生产环境中。告警系统接收到由监控系统传入的各类原始的指标值,这些指标值数据经过告警触发器的一系列运算和判断,在满足预设的告警条件时,告警触发器被触发,就会产生一个告警。这个告警最终会通过查询标识该告警的订阅者的订阅信息,找到告警的订阅者,最终投递到订阅者的短息、邮件产生一条告警信息。在现有的网络环境中,各种资源之间存在相互关联,一个资源的异常同时可能会引起其他资源的异常。但现有告警系统都只能针对实际应用环境中的某一个监控项的异常,触发一个告警,无法对告警可能引发的风险进行预警。技术实现要素:本发明实施例的目的在于提供一种基于资源拓扑的资源预警方法及系统,以实现对告警可能引发的风险进行预警。具体技术方案如下:一种基于资源拓扑的资源预警方法,包括:获取网络中的告警信息,确定所述告警信息告警的资源为异常资源;获取资源拓扑关系,其中,所述资源拓扑关系为根据所述配置管理数据库中的资源之间的依赖关系,将所述配置管理数据库中的资源由下至上多层级排列所形成的拓扑关系,且在所述资源拓扑关系中上层资源应用下层资源;在所述资源拓扑关系中,选取所述异常资源的上层资源,作为关联资源;根据所述告警信息,生成所述关联资源的预警信息。可选的,所述根据所述告警信息,生成所述关联资源的预警信息,包括:根据所述告警信息的严重级别,通过预先确定的预警权值及预设的预警系数,确定所述异常资源导致所述关联资源发生故障的风险率,其中,所述预警权值用于表征所述异常资源对所述关联资源的影响程度,所述预警系数用于表征所述严重级别对所述关联资源异常的影响程度;根据所述风险率,生成所述关联资源的预警信息。可选的,在所述根据所述告警信息的严重级别,通过预先确定的预警权值及预设的预警系数,确定所述异常资源导致所述关联资源发生故障的风险率之前,所述方法还包括:根据所述资源拓扑关系,设定所述预警权值的值;获取所述异常资源的上层资源的监控系统,针对所述异常资源做出的反馈,其中,所述反馈标识预设时间内所述异常资源的上层资源是否发生异常;根据所述反馈,调整所述预警权值的值。可选的,所述根据所述反馈,调整所述预警权值的值,包括:当所述反馈为所述预设时间内所述异常资源的上层资源发生异常时,增加所述异常资源的上层资源与所述异常资源之间的预警权值的值。可选的,所述预设的预警系数,包括:所述告警信息的不同严重级别,分别对应相应的预警系数,其中,所述严重级别的等级与所述严重级别对应的预警系数正相关。可选的,在所述获取资源拓扑关系之前,所述方法还包括:获取所述配置管理数据库中所有的资源之间的依赖关系;根据所述配置管理数据库中所有的资源之间的依赖关系,将所述配置管理数据库中所有的资源由下至上多层级排列,建立所述资源拓扑关系。可选的,在所述获取资源拓扑关系之前,所述方法还包括:在所述配置管理数据库中,以所述异常资源为起点,逐个递归查找应用所述异常资源的资源,直至满足预设的查找停止条件;将查找到的资源及所述异常资源,加入到所述资源拓扑关系中。可选的,所述查找停止条件包括:所述配置管理数据库中不包含应用所述查找到的资源的资源,或当前查找到的资源已经存在于所述资源拓扑关系中。可选的,在所述获取资源拓扑关系之前,所述方法还包括:在所述配置管理数据库中资源之间的依赖关系发生变更时,生成标识所述变更的变更消息;根据所述变更消息,更新所述资源拓扑关系。一种基于资源拓扑的资源预警系统,包括:异常资源确定模块,用于获取网络中的告警信息,确定所述告警信息告警的资源为异常资源;拓扑关系获取模块,用于获取资源拓扑关系,其中,所述资源拓扑关系为根据所述配置管理数据库中的资源之间的依赖关系,将所述配置管理数据库中的资源由下至上多层级排列所形成的拓扑关系,且在所述资源拓扑关系中上层资源应用下层资源;关联资源选取模块,用于在所述资源拓扑关系中,选取所述异常资源的上层资源,作为关联资源;预警信息生成模块,用于根据所述告警信息,生成所述关联资源的预警信息。可选的,所述预警信息生成模块,包括:第一运算子模块,用于根据所述告警信息的严重级别,通过预先确定的预警权值及预设的预警系数,确定所述异常资源导致所述关联资源发生故障的风险率,其中,所述预警权值用于表征所述异常资源对所述关联资源的影响程度,所述预警系数用于表征所述严重级别对所述关联资源异常的影响程度;第二运算子模块,用于根据所述风险率,生成所述关联资源的预警信息。可选的,所述预警信息生成模块还包括:预警权值设定子模块,用于根据所述资源拓扑关系,设定所述预警权值的值;上层反馈获取子模块,用于获取所述异常资源的上层资源的监控系统,针对所述异常资源做出的反馈,其中,所述反馈标识预设时间内所述异常资源的上层资源是否发生异常;预警权值调整子模块,用于根据所述反馈,调整所述预警权值的值。可选的,所述预警权值调整子模块,具体用于:当所述反馈为所述预设时间内所述异常资源的上层资源发生异常时,增加所述异常资源的上层资源与所述异常资源之间的预警权值的值。可选的,所述第一运算子模块中的预设的预警系数,包括:所述告警信息的不同严重级别,分别对应相应的预警系数,其中,所述严重级别的等级与所述严重级别对应的预警系数正相关。可选的,所述基于资源拓扑的资源预警系统,还包括:第一查询模块,用于获取所述配置管理数据库中所有的资源之间的依赖关系;第一拓扑关系建立模块,用于根据所述配置管理数据库中所有的资源之间的依赖关系,将所述配置管理数据库中所有的资源由下至上多层级排列,建立所述资源拓扑关系。可选的,所述基于资源拓扑的资源预警系统,还包括:第二查询模块,用于在所述配置管理数据库中,以所述异常资源为起点,逐个递归查找应用所述异常资源的资源,直至满足预设的查找停止条件;第二拓扑关系建立模块,用于将查找到的资源及所述异常资源,加入到所述资源拓扑关系中。可选的,所述第二查询模块中的查找停止条件包括:所述配置管理数据库中不包含应用所述查找到的资源的资源,或当前查找到的资源已经存在于所述资源拓扑关系中。可选的,所述基于资源拓扑的资源预警系统,还包括:变更消息获取模块,用于在所述配置管理数据库中资源之间的依赖关系发生变更时,生成标识所述变更的变更消息;拓扑关系更新模块,用于根据所述变更消息,更新所述资源拓扑关系。本发明实施例提供的基于资源拓扑的资源预警方法及系统,根据告警信息,确定异常资源,通过资源拓扑关系,确定告警信息对应的异常资源的上层资源,并根据告警信息,生成异常资源的上层资源的预警信息,实现对告警可能引发的风险进行预警。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例的基于资源拓扑的资源预警方法的示意图;图2为本发明实施例的资源拓扑关系的示意图;图3为本发明实施例的预警权值设定的示意图;图4为本发明实施例的预警权值更新的示意图;图5为本发明实施例的基于资源拓扑的资源预警系统的一种示意图;图6为本发明实施例的基于资源拓扑的资源预警系统工作流程的示意图;图7为本发明实施例的基于资源拓扑的资源预警系统的另一种示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。告警系统用于对设备及服务的异常情况进行告警,但现有告警系统都只能针对实际应用环境中的某一个监控项的异常,触发一个告警,无法在各种资源(设备及服务)相互关联的网络中,对异常资源所关联的资源进行预警。因此本发明实施例提供了一种基于资源拓扑的资源预警方法,参见图1,图1为本发明实施例的基于资源拓扑的资源预警方法的示意图,包括:s101,获取网络中的告警信息,确定告警信息告警的资源为异常资源。网络中的资源发生异常时,会触发告警系统产生告警信息。根据告警信息的内容,可以确定告警信息所告警的资源,即异常资源。在告警系统中,一个topic(话题)代表一个告警来源,当topic对应的触发条件达到时,就会产生一条event(告警信息)。预警系统确定event对应topic,在topic中获取异常资源的hostname(主机名称),从而确定异常资源。预警系统可以为一种设备,包括:处理器、存储器、通信接口和总线;处理器、存储器和通信接口通过总线连接并完成相互间的通信;存储器存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行基于资源拓扑的资源预警方法。预警系统还可以为一种应用于告警系统或告警订阅者的应用程序,用于在运行时执行基于资源拓扑的资源预警方法。预警系统还可以为一种应用于告警系统或告警订阅者的存储介质,用于存储可执行代码,可执行代码用于执行基于资源拓扑的资源预警方法。s102,获取资源拓扑关系,其中,资源拓扑关系为根据配置管理数据库中的资源之间的依赖关系,将配置管理数据库中的资源由下至上多层级排列所形成的拓扑关系,且在资源拓扑关系中上层资源应用下层资源。资源拓扑关系中记录了资源之间的依赖关系,在资源拓扑关系中,应用异常资源的资源a为异常资源的上层资源,异常资源为资源a的下层资源,同时,若资源b应用资源a,则资源b为资源a的上层资源,资源a为资源b的下层资源。获取资源拓扑关系,为后续预警系统通过查询资源拓扑关系,确定异常资源的上层资源提供了前提。资源拓扑关系可以为提前建立的,也可以是确定异常资源后实时建立的。在资源拓扑关系中上层资源应用至少一个下层资源。例如,在如图2所示的资源拓扑关系中,redis、activemq及hadoop位于最下层的集群层级,app1及app2位于中间层的app层级,project1位于最顶层的项目层级。其中,app2为hadoop的上层资源,hadoop为app2的下层资源。s103,在资源拓扑关系中,选取异常资源的上层资源,作为关联资源。在资源拓扑关系中,上层资源应用下层资源,即上层资源的运行依赖下层资源的正常工作,下层资源出现告警,则上层资源可能会受到影响。因此需要确定应用该异常资源的上层资源,作为待预警的资源,即关联资源。s104,根据告警信息,生成关联资源的预警信息。预警系统根据告警信息,生成预警信息,预警异常资源的上层资源。例如,参见图2,当告警信息告警app2时,生成project1(项目1)的预警信息:project1应用的资源app2发生告警,请注意排查project1。根据告警信息,生成预警信息,预警信息中标识告警信息的内容,相比于仅简单的预警上层资源,标识告警信息的预警信息预警的内容更加准确,方便运维人员根据预警信息中标识的告警信息分析异常的来源,以及时对上层资源作出调整,防止上层资源宕机。在本发明实施例中,根据告警信息,确定异常资源,通过资源拓扑关系,确定告警信息对应的异常资源的上层资源,并根据告警信息,生成异常资源的上层资源的预警信息,实现对告警可能引发的风险进行预警。可选的,根据告警信息,生成关联资源的预警信息,包括:步骤一,根据告警信息的严重级别,通过预先确定的预警权值及预设的预警系数,确定异常资源导致关联资源发生故障的风险率,其中,预警权值用于表征异常资源对关联资源的影响程度,预警系数用于表征严重级别对关联资源异常的影响程度。预警系统获取告警信息的严重级别对应的预警系数,根据预警权值(异常资源与异常资源的上层资源间的拓扑链路的权重),及预警系数,确定异常集群的上层资源的风险率。其计算方法为:风险率=预警系数×(当前链路的预警权值÷最大数值的预警权值)当前链路的预警权值为异常资源与待预警的上层资源间的预警权值,最大数值的预警权值为异常资源与其上层资源间的最大的预警权值。预警权值标识了下层资源对其上层资源的影响程度。一个上层资源的运行,可能会依赖多个下层资源的支持,每个下层资源的异常对上层资源的影响也不完全相同,为了区别不同下层资源对同一上层资源的影响,提高预警信息的准确度,加入了预警权值。当预警系数为0时,不进行预警,例如当告警信息的严重级别为warning(警告)或information(通知)时,预警系数为0,不进行上层资源的预警。这是因为当预警系数为0时,异常资源仍然能够运行,不会对该异常资源的上层资源的正常运行产生影响,所以不必预警。在预警系数不为0时,根据风险率发送上层资源的预警信息,当预警系数不为0时,异常资源可能会发生宕机的情况,会对该异常资源的上层资源的正常运行产生影响,因此需要发送预警信息。根据预警系数及预警权值,计算关联资源的风险率,计算出的风险率准确,生成的预警信息具有说服力。步骤二,根据风险率,生成关联资源的预警信息。预警信息标识风险率。风险率越高,相应的关联资源的预警信息的预警的程度越严重。相比于简单生成预警信息,根据标识风险率的预警信息预警关联资源,预警更准确。以图4为例,当接收到一个activemqcluster(集群)1的告警信息时,在严重级别为disaster(灾难)时,则app1的风险率为:0.9×(1/2)=45%,则app2的风险率为:0.9×(2/2)=90%。根据风险率,将会发出关于app1的预警信息:app1依赖的资源activemqcluster1发生disaster的告警xxx(告警信息的标识,如名称或编号),将有45%的概率导致app1发送故障,请注意排查。发出关于app2的预警信息:app2依赖的资源activemqcluster1发生disaster的告警xxx,将有90%的概率导致app2发送故障,请注意排查。在本发明实施例中,给出了预警信息的具体生成方法,通过预警权值及预警系数,确定风险率,进而生成预警信息,生成的预警信息合理,预警效果佳。可选的,预设的预警系数,包括:告警信息的不同严重级别,分别对应相应的预警系数,其中,严重级别的等级与严重级别对应的预警系数正相关。严重级别的等级与严重级别对应的预警系数正相关,告警信息中包含该告警信息的严重级别,当严重级别较低时,告警信息对应的异常资源产生的异常较小,仍然能够运行,因此应用该异常资源的上层资源受到的影响较小;但当严重级别较高时,异常资源产生的异常较大,甚至已经无法运行,这样就会对该异常资源的上层资源造成较大的影响。可选的,当告警信息的严重级别为disaster时,预警系数为0.9,当所述严重级别为high(高)时,预警系数为0.75,当所述严重级别为average(中等)时,预警系数为0.5,当所述严重级别为warning及information时,预警系数为0。其中,告警信息严重级别的等级disaster>high>average>warning>information。当预警系数为0时,不进行预警,即当告警信息的严重级别为warning或information时,不进行上层资源的预警。预警系数与严重级别的对应关系如表1所示。表1严重级别预警系数disaster0.9high0.75average0.5warning0information0在本发明实施例中,给出了预警系数的具体设定方法,告警信息的严重级别的等级与严重级别对应的预警系数正相关,预警系数设定合理,为根据预警系数确定风险率提供了支持。可选的,在根据告警信息的严重级别,通过预先确定的预警权值及预设的预警系数,确定异常资源导致关联资源发生故障的风险率之前,方法还包括:步骤一,根据资源拓扑关系,设定预警权值的值。预警权值标识了下层资源对其上层资源的影响程度。一个上层资源的运行,可能会依赖多个下层资源的支持,每个下层资源的异常对上层资源的影响也不完全相同,为了区别不同下层资源对同一上层资源的影响,提高预警信息的准确度,本发明实施例中在资源拓扑关系中,加入了预警权值。在资源拓扑关系中,设置具有依赖关系的上层资源和下层资源之间的预警权值的值。例如,初始状态下,预警权值的值均设置为1。步骤二,获取异常资源的上层资源的监控系统,针对异常资源做出的反馈,其中,反馈标识预设时间内异常资源的上层资源是否发生异常。通过监控系统检测异常资源的上层资源是否发生异常,并根据检测结果做出反馈,反馈标识预设时间内异常资源的上层资源是否发送异常。例如,反馈为预设时间内上层资源发生了异常,或预设时间内上层资源未发生异常。获取该反馈。监控系统是网络中常用的系统,用于检测系统中各个资源的运行情况。获取监控系统的反馈,相比于利用预警系统去检测上层资源的运行情况更加方便,且获取的反馈为后续调制预警权值提供了前提。步骤三,根据反馈,调整预警权值的值。根据反馈,判断异常资源的上层资源是否发生异常,进而调整异常资源与上层资源间的预警权值的值。若异常资源的上层资源发生了异常,增加异常资源与发生异常的上层资源之间的预警权值的值。在本发明实施例中,给出了确定预警权值的具体方法,根据反馈调整预警权值的值,预警权值准确,为确定风险率提供了支持。可选的,根据反馈,调整预警权值的值,包括:当反馈为预设时间内异常资源的上层资源发生异常时,增加异常资源的上层资源与异常资源之间的预警权值的值。预设时间为符合本发明实施例的任意时间,根据因下层资源异常而导致上层资源发生异常的反应时间进行设定。若预设时间内上层资源发生了异常,则认为上层资源受到异常资源异常的影响。预设时间的值不能太小,这是因此在告警系统发出异常资源的告警信息后,通常应用异常资源的上层资源要经过一段反应时间后才会产生异常,若预设时间小于反应时间不能准确的调整预警权值的值;预设时间的值也不能太大,这是因为上层资源还会受到除异常资源外的其他下层资源的影响,此外上层资源自身运行也可能出现异常,若预设时间太大,可能会将其他原因引起的上层资源的异常归结于异常资源引起上层资源的异常,造成预警权值不准确。例如,将预设时间设定为10分钟。参见图3,初始状态下activemqcluster1与app1之间的预警权值为1,activemqcluster1与app2之间的预警权值也为1。当产生activemqcluster1的告警信息后,经过10分钟(此时预设时间设定为10分钟)后,app1正常运行,app2发生异常,则将activemqcluster1与app2之间的预警权值增加1。此时的预警权值如图4所示。在本发明实施例中,当异常资源的上层资源发生异常时,增加异常资源的上层资源与异常资源之间的预警权值的值,对预警权值的值进行更新,相比于简单设定为一个定值,预警权值的值的设置更加合理,预警信息更加准确。若经过预设时间后,异常资源的上层资源未发生异常,不改变异常资源的上层资源与异常资源之间的预警权值。当然若经过预设时间后,异常资源的异常并为导致上层资源出现异常,也可以相应减少异常资源与其上层资源间的预警权值,但预警权值的值始终为正数。可选的,根据反馈,调整预警权值的值,包括:当反馈为预设时间内异常资源的上层资源未发生异常时,减少异常资源的上层资源与异常资源之间的预警权值的值,其中,预警权值的值为正数。例如,当前状态下activemqcluster1与app1之间的预警权值为10,当产生activemqcluster1的告警信息后,经过10分钟(此时预设时间设定为10分钟)后,app1仍正常运行,则将activemqcluster1与app1之间的预警权值减少1,则此时activemqcluster1与app1之间的预警权值为9。当activemqcluster1与app1之间的预警权值减小为1时,即使当产生activemqcluster1的告警信息后,经过10分钟app1仍正常运行,activemqcluster1与app1之间的预警权值也不再减小。在本发明实施例中,当异常资源的上层资源在预设时间内未发生异常时,减小异常资源的上层资源与异常资源之间的预警权值的值,对预警权值的值进行更新,相比于简单设定为一个定值,预警权值的值的设置更加合理,预警信息更加准确。在获取资源拓扑关系之前,需要确定资源拓扑关系。资源拓扑关系的建立过程为符合本发明实施例的任意过程。可以是根据所有资源间的依赖关系提前建立的,也可以为根据异常资源逐个建立的。可选的,在本发明实施例的基于资源拓扑的资源预警方法中,在获取资源拓扑关系之前,该方法还包括:步骤一,获取配置管理数据库中所有的资源之间的依赖关系。步骤二,根据配置管理数据库中所有的资源之间的依赖关系,将配置管理数据库中所有的资源由下至上多层级排列,建立资源拓扑关系。在资源拓扑关系中,上层资源应用下层资源,依赖下层资源而运行,通常情况下,类型相同的资源会分布在同一层级。例如,在如图2所示的资源拓扑关系中,redis、activemq及hadoop位于最下层的集群层级,app1及app2位于中间层的app层级,project1位于最顶层的项目层级。hadoop的上层资源为app2和project1,activemq的上层资源为app1、app2及project1,redis的上层资源为app1、app2及project1。在本发明实施例中,给出了资源拓扑关系的建立方法,为后续根据资源拓扑关系确定异常资源的上层资源提供了技术上的支持。可选的,在本发明实施例的基于资源拓扑的资源预警方法中,在获取资源拓扑关系之前,该方法还包括:步骤一,在配置管理数据库中,以异常资源为起点,逐个递归查找应用异常资源的资源,直至满足预设的查找停止条件。在配置管理数据库中,查找应用异常资源的资源,作为一级异常应用资源。然后再查找应用一级异常应用资源的资源,作为二级异常应用资源。继续查找,直至n级异常应用资源满足预设的查找停止条件,其中,n级异常应用资源为应用n-1级异常应用资源的资源,n为正整数。步骤二,将查找到的资源及异常资源,加入到资源拓扑关系中。在资源拓扑关系中,找到异常资源对应的层级,并将异常资源加入到该层级当中,例如,若异常资源为app则将异常资源加入到app层级中。然后,将一级异常应用资源加入到异常资源的上层,并标识异常资源与一级异常应用资源间的依赖关系,再将二级异常应用资源加入到一级异常应用资源的上层,并标识一级异常应用资源与二级异常应用资源间的依赖关系。直至将n级异常应用资源加入到资源拓扑关系,并标识n-1级异常应用资源与n级异常应用资源间的依赖关系。在本发明实施例中,查找与异常资源有依赖关系的资源,加入到资源拓扑关系中,在资源拓扑关系的建立与维护过程中,效率高,并且能够保证资源拓扑关系的准确性。可选的,查找停止条件包括:配置管理数据库中不包含应用查找到的资源的资源,或当前查找到的资源已经存在于资源拓扑关系中。当满足没有资源应用n级异常应用资源(当前查找到的资源),或满足n级异常应用资源已经存在于资源拓扑关系中时,停止查找。在本发明实施例中,给出了查找停止条件的具体内容,防止运算资源的浪费。可选的,在获取资源拓扑关系之前,方法还包括:步骤一,在配置管理数据库中资源之间的依赖关系发生变更时,生成标识变更的变更消息。在配置管理数据库中,监测资源拓扑关系中存储的资源,在这些资源间的依赖关系发生变更时,生成标识该变更的变更消息。例如,当app1的上层资源由project1变更为project2时,变更消息为:“app1:project1变更为project2”。步骤二,根据变更消息,更新资源拓扑关系。根据变更消息记录的依赖关系的变化,查询cmdb,自下而上更新资源拓扑关系。例如,若变更消息为:“app1:project1变更为project2”,则在资源拓扑关系中,将app1的上层资源删除,重新建立app1的上层资源project2,同时查询cmdb,向上逐级建立资源拓扑关系,直至满足上述的停止条件。在本发明实施例中,根据变更消息,更新资源拓扑关系,保证资源拓扑关系的准确性,从而保证了预警的准确性。本发明实施例提供了一种应用上述基于资源拓扑的资源预警方法的系统,参见图5,图5为本发明实施例的基于资源拓扑的预警系统的一种示意图,包括:资源拓扑维护模块501,用于从cmdb(configurationmanagementdatabase,配置管理数据库)中抽取集群、app及其他资源之间的拓扑关系,保证资源拓扑关系的存储和更新。如图6所示,资源拓扑维护模块501通过预警分析模块503确定异常资源,通过查询cmdb的接口,查找应用异常资源的资源,将查找到的资源以异常资源为起点,按照依赖关系,向上组成构建拓扑关系,建立由下至上多层级的资源拓扑关系,在该拓扑关系中,上层资源应用下层资源。同时,资源拓扑维护模块501订阅资源拓扑关系中资源间依赖关系的变更,当在cmdb中的写入资源拓扑关系中的资源间发生依赖关系发生变更时,消息系统会产生变更该标识的变更信息,资源拓扑维护模块501获取该变更信息,以更新资源拓扑关系。预警权值维护模块502,用于获取上层资源监控系统中接受异常事件的反馈,并根据反馈调整资源拓扑关系中资源的预警权值。预警权值维护模块502负责维护资源拓扑关系中资源的预警权值,在告警系统发出告警后,若在预设时间内,监控系统检测到异常信息的上层资源发生异常,消息系统产生反馈,该反馈标识发生异常的上层资源。预警权值维护模块502根据该反馈,增加异常信息与发生异常的上层资源间的预警权值。预警分析模块503,用于接收告警信息,从资源拓扑关系中找到此告警信息关联的上层资源,并根据预警权值计算及发送预警信息。如图6所示,在网络中的资源发生异常时,触发告警系统,生成告警信息。预警分析模块503分析该告警信息,确定发生异常的异常资源,根据告警信息的严重级别,确定预警系数。预警分析模块503获取资源拓扑关系,在资源拓扑关系中查找异常资源的上层资源(应用异常资源的资源),并获取异常资源与上层资源的预警权值,根据预警系数与预警权值计算上层资源发生风险的概率即风险率。预警分析模块503根据风险率,生成上层资源的预警信息。在本发明实施例中,通过告警信息的严重等级及预警权值,确定告警信息对应的异常资源的上层资源的风险率,根据风险率预警上层资源,可以对异常可能引发的上层资源故障进行预警。参见图7,图7为本发明实施例的基于资源拓扑的资源预警系统的另一种示意图,包括:异常资源确定模块701,用于获取网络中的告警信息,确定告警信息告警的资源为异常资源。拓扑关系获取模块702,用于获取资源拓扑关系,其中,资源拓扑关系为根据配置管理数据库中的资源之间的依赖关系,将配置管理数据库中的资源由下至上多层级排列所形成的拓扑关系,且在资源拓扑关系中上层资源应用下层资源。关联资源选取模块703,用于在资源拓扑关系中,选取异常资源的上层资源,作为关联资源。预警信息生成模块704,用于根据告警信息,生成关联资源的预警信息。在本发明实施例中,根据告警信息,确定异常资源,通过资源拓扑关系,确定告警信息对应的异常资源的上层资源,并根据告警信息,生成异常资源的上层资源的预警信息,实现对告警可能引发的风险进行预警。需要说明的是,本发明实施例的系统是应用上述基于资源拓扑的资源预警方法的系统,则上述基于资源拓扑的资源预警方法的所有实施例均适用于该系统,且均能达到相同或相似的有益效果。可选的,预警信息生成模块704,包括:第一运算子模块,用于根据告警信息的严重级别,通过预先确定的预警权值及预设的预警系数,确定异常资源导致关联资源发生故障的风险率,其中,预警权值用于表征异常资源对关联资源的影响程度,预警系数用于表征严重级别对关联资源异常的影响程度。第二运算子模块,用于根据风险率,生成关联资源的预警信息。在本发明实施例中,给出了预警信息的具体生成方法,通过预警权值及预警系数,确定风险率,进而生成预警信息,生成的预警信息合理,预警效果佳。可选的,预警信息生成模块704,还包括:预警权值设定子模块,用于根据资源拓扑关系,设定预警权值的值。上层反馈获取子模块,用于获取异常资源的上层资源的监控系统,针对异常资源做出的反馈,其中,反馈标识预设时间内异常资源的上层资源是否发生异常。预警权值调整子模块,用于根据反馈,调整预警权值的值。在本发明实施例中,给出了确定预警权值的具体方法,根据反馈调整预警权值的值,预警权值准确,为确定风险率提供了支持。可选的,预警权值调整子模块,具体用于:当反馈为预设时间内异常资源的上层资源发生异常时,增加异常资源的上层资源与异常资源之间的预警权值的值。在本发明实施例中,当异常资源的上层资源发生异常时,增加异常资源的上层资源与异常资源之间的预警权值的值,对预警权值的值进行更新,相比于简单设定为一个定值,预警权值的值的设置更加合理。可选的,第一运算子模块中的预设的预警系数,包括:告警信息的不同严重级别,分别对应相应的预警系数,其中,严重级别的等级与严重级别对应的预警系数正相关。在本发明实施例中,给出了预警系数的具体设定方法,告警信息的严重级别的等级与严重级别对应的预警系数正相关,预警系数设定合理,为根据预警系数确定风险率提供了支持。可选的,本发明实施例中的基于资源拓扑的资源预警系统,还包括:第一查询模块,用于获取配置管理数据库中所有的资源之间的依赖关系。第一拓扑关系建立模块,用于根据配置管理数据库中所有的资源之间的依赖关系,将配置管理数据库中所有的资源由下至上多层级排列,建立资源拓扑关系。在本发明实施例中,给出了资源拓扑关系的建立方法,为后续根据资源拓扑关系确定异常资源的上层资源提供了技术上的支持。可选的,本发明实施例中的基于资源拓扑的资源预警系统,还包括:第二查询模块,用于在配置管理数据库中,以异常资源为起点,逐个递归查找应用异常资源的资源,直至满足预设的查找停止条件。第二拓扑关系建立模块,用于将查找到的资源及异常资源,加入到资源拓扑关系中。在本发明实施例中,查找与异常资源有依赖关系的资源,加入到资源拓扑关系中,在资源拓扑关系的建立与维护过程中,效率高,并且能够保证资源拓扑关系的准确性。可选的,第二查询模块中的查找停止条件包括:配置管理数据库中不包含应用查找到的资源的资源,或当前查找到的资源已经存在于资源拓扑关系中。在本发明实施例中,给出了查找停止条件的具体内容,防止运算资源的浪费。可选的,本发明实施例中的基于资源拓扑的资源预警系统,还包括:变更消息获取模块,用于在配置管理数据库中资源之间的依赖关系发生变更时,生成标识变更的变更消息。拓扑关系更新模块,用于根据变更消息,更新资源拓扑关系。在本发明实施例中,根据变更消息,更新资源拓扑关系,保证资源拓扑关系的准确性,从而保证了预警的准确性。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1