一种分布式云平台故障自愈方法和系统
文献发布时间:2024-04-18 20:01:30
技术领域
本发明涉及云计算技术领域,具体为一种分布式云平台故障自愈方法和系统。
背景技术
分布式云场景下,云平台运维更加复杂。基于传统的自动化运维模式,由告警平台提供告警接入和工单推送,运维人员基于告警信息进行故障的响应和处理。由此一来,从故障告警集中接入、分析、工单推送,再到运维人员的响应处理,运维流程长、环节多,系统SLA的保障面临着巨大挑战。
现有技术中,为了提升分布式云场景下故障响应效率,一个有效的策略是实现自动化运维向智能化运维的转变,由人工响应故障转变为机器响应故障,这就是本发明所面临的故障自愈场景;故障自愈的实现机制,通常以告警事件作为驱动,基于机器学习算法识别根因告警,并基于知识库生成故障自愈脚本。根因告警识别的准确性,对于故障自愈来说至关重要。为了减小机器学习算法的误差,必须以人工经验作为辅助,对算法逻辑进行补充和调整。
发明内容
本发明的目的在于提供一种分布式云平台故障自愈方法和系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种分布式云平台故障自愈方法,所述方法包括如下步骤:
告警事件接入;
根因告警识别;
故障自愈方案生成;
脚本下发。
优选的,告警事件接入的具体操作包括:
各分布式云平台的告警组件基于监控、日志数据实现告警触发,并基于SD-WAN网络将告警消息推送到中心侧告警接入组件。
优选的,根因告警识别的具体操作包括:
告警特征提取,基于告警信息、监控信息、日志信息、变更日志、CMDB配置信息,提取告警特征信息,告警特征信息包括:告警名称、告警组件、严重级别、资源ID,告警特征信息提取完毕后,封装为告警向量组,作为根因识别算法的数据输入;
根因告警识别,告警特征提取输出的告警向量组作为输入,基于根因告警识别算法进行处理,输出根因告警和知识库记录,模式匹配是基于知识库倒排索引进行匹配,如果匹配成功,则返回根因告警和知识库记录。
优选的,故障自愈方案生成的具体操作包括:
参数提取,基于告警向量组,提取告警参数,用于自愈脚本的生成;
自愈脚本生成,基于告警知识记录,获取故障处理方案和脚本模板,基于模板引擎,实现故障处理脚本模板的参数化和实例化,最终输出具体可执行的自愈脚本。
优选的,脚本下发的具体操作包括:
故障自愈脚本下发,由故障自愈脚本下发模块,将自愈脚本推送到消息中间件Topic;
云中心自愈执行调度,分布式云平台中的自愈执行逻辑模块,负责监听由中心侧下发的故障自愈脚本消息,并调用运维编排工具执行自愈脚本;
运维编排执行,故障自愈脚本基于运维编排工具在云平台上执行,并返回执行结果。
一种分布式云平台故障自愈系统,包括告警事件接入、根因告警识别、自愈脚本生成、故障自愈脚本下发、自愈调度执行、运维编排工具六大模块;
告警事件接入模块,各分布式云平台基于SD-WAN网络将告警消息推送到中心侧告警接入组件;
根因告警识别模块,基于告警信息、监控信息、日志信息、变更日志、CMDB配置信息,提取告警特征信息;基于模式匹配和规则引擎,融合了机器学习算法和人工运维经验,更加精准的进行根因告警识别;
故障自愈方案生成模块,基于告警向量组提取告警参数,用于自愈脚本的生成;基于告警知识记录,获取故障处理方案中的脚本模板;基于模板引擎,实现故障处理脚本模板的参数实例化,最终输出具体可执行的自愈脚本;
故障自愈脚本下发模块,基于消息中间件,由故障自愈脚本下发模块实现故障自愈脚本的下发;
自愈脚本执行调度模块,负责监听故障自愈消息,并通过调用运维编排工具实现故障自愈脚本的执行。
优选的,告警特征信息包括:告警云平台编码、告警名称、告警组件、严重级别、开始时间、IP地址、资源ID、告警规则、告警详情,告警特征信息提取完毕后,封装为告警向量组,作为根因告警识别算法的输入。
与现有技术相比,本发明的有益效果是:
本发明提出的分布式云平台故障自愈方法和系统,基于模式匹配和规则运算融合了机器学习和人工运维经验,可以更加精准地识别根因告警;基于告警知识库和模板引擎,自动生成故障自愈脚本;基于SD-WAN网络和消息中间件,实现自愈脚本的自动下发;基于云平台侧的自愈调度执行模块和运维编排工具,实现自愈脚本的调度执行。
附图说明
图1为本发明分布式云故障自愈数据流图图;
图2为本发明根因告警识别算法流程图;
图3为本发明分布式云故障自愈逻辑架构图。
具体实施方式
为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
请参阅图1至图3,本发明提供一种技术方案:一种分布式云平台故障自愈方法,所述方法包括如下步骤:
基于告警信息、监控信息、日志信息、变更日志、CMDB配置信息等,提一、告警事件接入
各分布式云平台的告警组件基于监控、日志数据实现告警触发,并基于SD-WAN网络将告警消息推送到中心侧告警接入组件。
二、根因告警识别
1、告警特征提取
取告警特征信息。告警特征信息包括:告警名称、告警组件、严重级别、资源ID等。告警特征信息提取完毕后,封装为告警向量组,作为根因识别算法的数据输入。
2、根因告警识别
如图2所示是本发明所提出的根因告警识别算法流程图。
分布式云平台中的自愈执行逻辑模块,负责监听由中心侧下发的故障自愈脚
本发明所提出的算法以上述告警特征提取输出的告警向量组作为输入,基于根因告警识别算法进行处理,输出根因告警和知识库记录。
模式匹配是基于知识库倒排索引进行匹配,如果匹配成功,则返回根因告警和知识库记录。
如果模式匹配不成功,则表明基于现有知识库记录无法识别当前触发告警模式,本发明算法则基于规则引擎和预定义的规则进行匹配。规则匹配则是基于既定的规则逻辑和规则引擎进行规则运算,输出根因告警,并通过知识库关联得到相应根因告警的知识库记录。根因告警识别规则是根据运维经验定义的,比如基于告警触发事件排序、告警组件关联、告警严重级别排序等。
三、故障自愈方案生成
1、参数提取
基于告警向量组,提取告警参数,用于自愈脚本的生成。
2、自愈脚本生成
基于告警知识记录,获取故障处理方案和脚本模板。
基于模板引擎,实现故障处理脚本模板的参数化和实例化,最终输出具体可执行的自愈脚本。
四、脚本下发
如图3所示,是故障自愈脚本下发执行逻辑架构。其中,OpsCenter是中心侧,基于消息中间件,实现故障自愈脚本的下发;分布式云平台中的自愈执行逻辑,负责监听故障自愈消息,并通过调用编排工具实现故障自愈脚本的执行。
1、故障自愈脚本下发
由故障自愈脚本下发模块,将上述自愈脚本推送到消息中间件Topic。
2、云中心自愈执行调度
本消息,并
分布式云平台中的自愈执行逻辑模块,负责监听由中心侧下发的故障自愈脚本消息,并调用运维编排工具执行自愈脚本。
3、运维编排执行
故障自愈脚本基于运维编排工具在云平台上执行,并返回执行结果。
实施例二
在实施例一的基础上,提出一种分布式云平台故障自愈系统,包括告警事件接入、根因告警识别、自愈脚本生成、故障自愈脚本下发、自愈调度执行、运维编排工具六大模块;
一、告警事件接入
1、SD-WAN网络
各分布式云平台基于SD-WAN网络将告警消息推送到中心侧告警接入组件。
二、根因告警识别
1、告警特征提取
基于告警信息、监控信息、日志信息、变更日志、CMDB配置信息,提取告警特征信息。
算法以上述告警特征提取输出的告警向量组作为输入,基于模式匹配算
告警特征信息包括:告警云平台编码、告警名称、告警组件、严重级别、开始时间、IP地址、资源ID、告警规则、告警详情等。
告警特征信息提取完毕后,封装为告警向量组,作为根因告警识别算法的输入。
2、根因告警识别
如图2所示是本发明所提出的根因告警识别算法流程图。
法和规则引擎执行处理逻辑,输出根因告警和知识库记录。
本发明所提出的根因告警识别算法,同时基于模式匹配和规则引擎,融合了机器学习算法和人工运维经验,可以更加精准的进行根因告警识别。
本发明所指的告警知识记录是一个三元组。告警模式是具有关联关系的告警事件向量组;模式识别算法的核心采用FP-growth算法,输入历史告警事件数据,给定初始最小支持计数和置信概率,输出告警模式向量组,并标识根因告警事件;处理方案是故障处理步骤和脚本,最终和告警模式、根因标识一起形成告警知识记录。告警知识记录举例如下:
如果模式匹配不成功,则表明基于现有知识库记录无法识别当前触发告
知识库模式匹配是基于倒排索引进行模式匹配,如果匹配成功,则返回根因告警和知识库记录。
警模式,本发明算法设计基于规则引擎和预定义的规则进行匹配,输出根因告警,并通过关联知识库得到相应根因告警的知识库记录。根因告警识别规则逻辑是根据运维经验定义的,比如基于告警触发事件排序、告警组件关联、告警严重级别排序等。
三、故障自愈方案生成
1、参数提取
基于告警向量组提取告警参数,用于自愈脚本的生成。
2、自愈脚本生成
基于告警知识记录,获取故障处理方案中的脚本模板。
基于模板引擎,实现故障处理脚本模板的参数实例化,最终输出具体可执行的自愈脚本。
3、故障自愈脚本下发
由故障自愈脚本下发模块,将上述自愈脚本推送到消息中间件Topic。
四、故障自愈脚本下发
如图3所示,是故障自愈脚本下发执行逻辑架构。其中,OpsCenter是中心侧,基于消息中间件,由故障自愈脚本下发模块实现故障自愈脚本的下发。
五、自愈脚本执行调度
分布式云平台中的自愈执行模块,负责监听故障自愈消息,并通过调用运维编排工具实现故障自愈脚本的执行。
1、云中心自愈执行调度
分布式云平台中的自愈执行调度模块,负责监听由OpsCenter中心侧下发的故障自愈脚本消息,并调用运维编排工具执行自愈脚本。
2、运维编排执行
故障自愈脚本基于运维编排工具在云平台上执行,并返回执行结果。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。