服务器活跃度检测系统及方法与流程

文档序号:12491871阅读:1039来源:国知局
服务器活跃度检测系统及方法与流程

本发明涉及一种服务器运维领域,特别是涉及一种服务器活跃度检测系统及方法。



背景技术:

随着虚拟化、云平台、docker等技术的发展,服务器(包括虚拟机和物理服务器)的自动化部署的效率越来越高。“服务器交付”成为一件非常容易的运维事件,带来的结果是服务器数量也随着飞速增加。

这给运维人员带来了一个问题:这些线上的服务器是否真正的take traffic,是否会随着应用功能更新迭代渐渐的不再被使用。仅仅依靠用户主动意识到服务器不再被使用而提出服务器下线请求这种方式,往往不能覆盖全面。在线上环境中肯定会存在低负载的服务器、甚至于僵尸机器。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中的缺陷仅仅依靠用户主动意识到服务器不再被使用而提出服务器下线请求这种方式,往往不能覆盖全面,而提供一种服务器活跃度检测系统及方法。

本发明是通过下述技术方案来解决上述技术问题的:

本发明提供了一种服务器活跃度检测系统,其特点在于,包括:

监控数据采集模块,用于采集服务器的监控数据;

运维事件采集模块,用于采集服务器的运维事件,并从所述运维事件中获取服务器的运维操作数据;

数据预处理模块,用于对所述监控数据及所述运维操作数据进行预处理,提取特征信息,生成训练模块的输入向量;

训练模块,用于对预先准备的服务器的样本数据进行训练,以得到一组支持向量;

检测模块,用于利用所述支持向量对待检测的服务器的活跃度进行检测,并输出检测结果。

较佳地,所述服务器活跃度检测系统还包括:

服务器处理模块,用于根据所述检测结果,对检测结果为空闲的服务器进行处理。

较佳地,所述检测结果包括空闲和忙碌,当所述检测结果为空闲时,所述服务器处理模块用于对检测结果为空闲的服务器进行缩容或下线操作。

较佳地,所述监控数据包括CPU(中央处理器)数据、LOAD(负载)数据、Memory(存储)数据、网络连接数据、网卡流量数据。

较佳地,所述运维事件包括服务器账号申请事件、服务器登录事件、服务器发布事件。

本发明的目的在于还提供了一种服务器活跃度检测方法,其特点在于,其利用上述的服务器活跃度检测系统实现,包括以下步骤:

S1、监控数据采集模块采集服务器的监控数据;

S2、运维事件采集模块采集服务器的运维事件,并从所述运维事件中获取服务器的运维操作数据;

S3、数据预处理模块对所述监控数据及所述运维操作数据进行预处理,提取特征信息,生成训练模块的输入向量;

S4、训练模块对预先准备的服务器的样本数据进行训练,以得到一组支持向量;

S5、检测模块利用所述支持向量对待检测的服务器的活跃度进行检测,并输出检测结果。

较佳地,所述服务器活跃度检测系统还包括服务器处理模块,步骤S5之后还包括:

S6、服务器处理模块根据所述检测结果,对检测结果为空闲的服务器进行处理。

较佳地,所述检测结果包括空闲和忙碌,当所述检测结果为空闲时,所述服务器处理模块对检测结果为空闲的服务器进行缩容或下线操作。

较佳地,所述监控数据包括CPU数据、LOAD数据、Memory数据、网络连接数据、网卡流量数据。

较佳地,所述运维事件包括服务器账号申请事件、服务器登录事件、服务器发布事件。

本发明的积极进步效果在于:本发明可以对线上服务器进行资源评估,根据检测结果后续进行缩容或者下线处理,从而节约资源,提高服务器资源利用率,减少机房机柜的使用,减少运维成本。

附图说明

图1为本发明的较佳实施例的服务器活跃度检测系统的模块示意图。

图2为本发明的较佳实施例的服务器活跃度检测方法的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

如图1所示,本发明的服务器活跃度检测系统包括监控数据采集模块1、运维事件采集模块2、数据预处理模块3、训练模块4、检测模块5以及服务器处理模块6;

其中,所述监控数据采集模块1用于采集服务器的监控数据,例如CPU数据、LOAD数据、Memory数据、网络连接数据、网卡流量数据等数据;具体可以采集一定时间内(如1个月)的服务器运行时的监控数据,以反映服务器的资源使用情况;

所述运维事件采集模块2用于采集服务器的运维事件,并从所述运维事件中获取服务器的运维操作数据;其中,所述运维事件包括服务器账号申请事件、服务器登录事件、服务器发布事件等运维事件,获取的运维操作数据具体包括上线时间、最新应用发布时间、登录权限、最近登录时间、最近变更操作时间等数据;具体可以采集一定时间内(如1个月)的服务器的运维事件;本发明采集到的服务器相关数据具体如下表1所示;

表1

所述数据预处理模块3用于对所述监控数据及所述运维操作数据进行预处理,提取特征信息,生成训练模块的输入向量;其中,可以直接将所述监控数据及所述运维操作数据作为训练模块的输入向量,或者可以对所述监控数据及所述运维操作数据进行加权处理后作为训练模块的输入向量;

所述训练模块4用于对预先准备的服务器的样本数据进行训练,以得到一组支持向量;其中,服务器的样本数据可以预想进行准备和设置,将训练之后得到的一组支持向量存入SVM库,这组支持向量就是训练后得到的模型;

所述检测模块5用于利用所述支持向量对待检测的服务器的活跃度进行检测,并输出检测结果;其中,具体的检测结果包括空闲和忙碌。

所述服务器处理模块6则会根据所述检测结果,对检测结果为空闲的服务器进行处理。具体地,当所述检测结果为空闲时,所述服务器处理模块6用于对检测结果为空闲的服务器进行缩容或下线操作。

本发明使用SVM支持向量机,支持向量机的学习算法是求解凸二次规划的最优化算法;

本发明基于机器学习,在模型建立后通过不停的训练模型可以不断地进行模型优化和修正,达到评估结果准确率高的效果,在实际使用中准确率达到95%以上;

本发明通过多维度数据,包括服务器自身的运行数据、服务器登录操作记录、服务器应用运行情况、服务器应用发布情况等进行评估来达到减少误判情况发生的效果。

本发明还提供了一种服务器活跃度检测方法,其利用上述的服务器活跃度检测系统实现,如图2所示,包括以下步骤:

步骤101、监控数据采集模块采集服务器的监控数据;

步骤102、运维事件采集模块采集服务器的运维事件,并从所述运维事件中获取服务器的运维操作数据;

步骤103、数据预处理模块对所述监控数据及所述运维操作数据进行预处理,提取特征信息,生成训练模块的输入向量;

步骤104、训练模块对预先准备的服务器的样本数据进行训练,以得到一组支持向量;

步骤105、检测模块利用所述支持向量对待检测的服务器的活跃度进行检测,并输出检测结果;

步骤106、服务器处理模块根据所述检测结果,对检测结果为空闲的服务器进行处理。

其中,所述检测结果包括空闲和忙碌,当所述检测结果为空闲时,所述服务器处理模块对检测结果为空闲的服务器进行缩容或下线操作。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

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