一种基于时序演化基因的Docker容器故障智能预测方法
技术领域
本发明涉及一种基于时序演化基因的Docker容器故障智能预测方法,具体涉及一种面向PaaS平台运维提出一种基于时序演化基因的Docker容器故障智能预测方法,本发明属于通信领域。
背景技术
PaaS平台的传统运维模式是网管系统发现设备告警后,通知维护人员进行维修,属于事后的人工修复,故障响应时间长,不能满足实时性高的业务需求。系统运维人员处于大部分时间和精力都是处理一些简单重复的问题,体力劳动偏大,工作效率低,需要投入大量的维护资源。
PaaS平台通常有以下缺点:
(1)PaaS平台的网管系统不具备智能故障分析功能,业务异常时需要维护人员耗费大量的人力来进行故障查证,寻找故障原因,系统维护效率低。
(2)PaaS平台的网管系统不具备智能故障预警功能,一旦出现严重故障还会影响系统的正常运行,系统维护较为被动。
发明内容
本发明的目的在于,提供一种基于时序演化基因的Docker容器故障智能预测方法,以克服现有技术所存在的上述缺点和不足。本发明利用时序演化基因深度学习方法构建Docker容器故障智能预测模型,通过离线训练和在线训练相结合,准确预测Docker容器可能发生的未来故障。
本发明的目的是提升PaaS平台的智能化运维能力,实现PaaS平台运维从“事后”向“事前”发展,真正实现PaaS平台运维的“防患于未然”。
本发明所需要解决的技术问题,可以通过以下技术方案来实现:
作为本发明的第一方面,一种基于时序演化基因的Docker容器故障智能预测方法,其特征在于,包括:
对多维的时序进行切分,划分为很多片段;
对片段进行聚类,发现典型的模式;
对不同的模式,采用条件对抗网络(CVAE-GAN)捕捉其分布特征;
组合分布特征随时间的变化,预测即将发生的异常。
进一步,包括以下步骤:
步骤1:采集K8S组件日志和K8S组件状态,K8S是一个Docker容器管理工具;
步骤2:分析K8S组件日志和K8S组件状态,提取Docker容器特征指标;
步骤3:构建时序演化基因深度学习训练模型,进行历史数据的离线训练和实时数据的在线训练;
步骤四:输出Docker容器故障智能预警信息,并评估模型预测效果。
其中,步骤3还包括:
步骤3.1:在一条完成的时间序列上,对于每一时间分段
步骤3.2:之后通过变分自编码机(VAE)(包涵编码器网络E,解码器网络G)对每一个
具体来说,编码器E将
步骤3.3:通过KL散度来减少编码与采样之间的误差;
步骤3.4:生成器网络G在再采样的
步骤3.5:判别器网络D目标将真实样本和生成样本进行区分,其目标函数为:
步骤3.6:完成上述训练之后,模型组合每一时段的隐变量
进一步,Docker容器特征指标如下:
前24小时日志数;
每个小时的日志数;
每个小时component Name均值方差最大值最小值;
每个小时host均值方差最大值最小值;
每个小时severity中info、error、warning的占比及数量。
作为本发明的第二方面,一种基于时序演化基因的Docker容器故障智能预测模型图谱。
其中,模型组合每一时段的隐变量
其中,Docker容器特征指标如下:
前24小时日志数;
每个小时的日志数;
每个小时component Name均值方差最大值最小值;
每个小时host均值方差最大值最小值;
每个小时severity中info、error、warning的占比及数量。
本发明的有益效果:
1、本发明通过Docker容器的历史时序数据训练,获得了Docker容器的故障预测模型,通过基因演化模型可以准确预测Docker容器的运行故障,有效提升云平台Docker的维护水平。
2、本发明同时通过在线时序数据的输入,可以不断更新Docker容器的算法,为Docker容器的运行基因演化模型提供更多的最新特征序列,从而保证Docker容器故障算法的时效性和精确度。
附图说明
图1为深度学习数据处理流程图。
图2为本发明的原理示意图。
图3为故障特征1的折线图。
图4为故障特征2的折线图。
图5为故障特征3的折线图。
图6为故障特征4的折线图。
具体实施方式
以下结合具体实施例,对本发明作进一步说明。应理解,以下实施例仅用于说明本发明而非用于限定本发明的范围。
实施例1
图1为深度学习数据处理流程图,图2为本发明的原理示意图,如图1-图2所示。一种基于时序演化基因的Docker容器故障智能预测方法,包括:
本发明的深度学习数据处理流程如下:
本发明的一种基于时序演化基因的Docker容器故障智能预测方法,如下:
(1)、对多维的时序进行切分,划分为很多片段;
(2)、对片段进行聚类,发现典型的模式;
(3)、对不同的模式,采用条件对抗网络(CVAE-GAN)捕捉其分布特征;
(4)、组合分布特征随时间的变化,预测即将发生的异常。
进一步,包括以下步骤:
步骤1:采集K8S组件日志和K8S组件状态,K8S是一个Docker容器管理工具;
步骤2:分析K8S组件日志和K8S组件状态,提取Docker容器特征指标;
步骤3:构建时序演化基因深度学习训练模型,进行历史数据的离线训练和实时数据的在线训练;
步骤四:输出Docker容器故障智能预警信息,并评估模型预测效果。
其中,步骤3还包括:
步骤3.1:在一条完成的时间序列上,对于每一时间分段
步骤3.2:之后通过变分自编码机(VAE)(包涵编码器网络E,解码器网络G)对每一个
具体来说,编码器E将
步骤3.3:通过KL散度来减少编码与采样之间的误差;
步骤3.4:生成器网络G在再采样的
步骤3.5:判别器网络D目标将真实样本和生成样本进行区分,其目标函数为:
步骤3.6:完成上述训练之后,模型组合每一时段的隐变量
实验结果:
1、故障特征1:某些之前一直访问量很低的host访问突然变多。
图3为故障特征1的折线图,如图3所示,上面的图是8月每分钟出现日志条数的折线图,下面的图是8月每分钟故障特征1的某个值出现的条数的折线图。黑线代表发生异常的时间。
2、故障特征2:某个host访问变多,出现上升沿。
图4为故障特征2的折线图,如图4所示,上面的图是8月每分钟出现日志条数的折线图,下面的图是8月每分钟故障特征2的某个值出现的条数的折线图。黑线代表发生异常的时间。
3、故障特征3:日志数量变多、Warning和Error个数变多。
图5为故障特征3的折线图,如图5所示,上面的图是8月每分钟出现日志条数的折线图,下面的图是8月每分钟故障特征3的某个值出现的条数的折线图。黑线代表发生异常的时间。
4、故障特征4:某个服务的调用量突增。
图6为故障特征4的折线图,如图6所示,上面的图是8月每分钟出现日志条数的折线图,下面的图是8月每分钟故障特征4的某个值出现的条数的折线图。黑线代表发生异常的时间。
以上对本发明的具体实施方式进行了说明,但本发明并不以此为限,只要不脱离本发明的宗旨,本发明还可以有各种变化。