论文部分内容阅读
随着电子商务、商业智能、大数据分析、人脸识别等技术的市场化应用,产生了对计算、存储、网络资源的较大需求,并随着业务的变化需要实时调整。云计算能够以弹性扩展、按需分配的特点为云计算服务的提供商和用户带来共赢的商业模式。云计算服务的基础设施往往有大量的服务器运行,保障服务器可靠运行是提供稳定的云计算服务的基础。本文通过运行在服务器上的操作系统对外提供的获取服务器状态的接口,采集服务器的相关状态信息。通过用户设定的状态取值的阈值和服务器历史状态的数据判断服务器运行状态是否异常,做到云计算中心服务器的自动化异常检测、异常通知和异常溯源。由于云计算中心服务器的服务器数量较多,需要实时判断异常,采集的属性维度较高的特点,设计并开发了数据的采集、数据传输、数据存储、异常分析、异常溯源、数据展示共七个模块。本文使用了基于监督学习的方法检测已经明确的异常状态;并运用非监督学习的方法检测未知的异常状态。最后将本文开发的软件部署在服务器中,并对服务器的性能指标进行采集和异常检测算法的测试。本论文的研究工作具体包含以下几个方面:(1)对云计算平台中心服务器系统异常检测进行了需求分析和详细设计,通过开源的软件和框架进行了系统实现。其中完成的功能包括使用异步非阻塞的数据通信传输;基于列式数据库的数据快速存储和查询;使用消息中间件提升系统的稳定性;基于WebSocket协议进行实时数据的可视化。(2)通过研究异常检测的相关算法,本文使用监督学习的支持向量机(SVM)算法检测已知的服务器异常,和使用非监督学习的One Class SVM算法、Isolation Forest算法检测未知的服务器异常。同时本文提出了滑动窗口的方式对多个连续样本进行综合评估,减小因服务器轻微的不稳定而导致异常检测误报的情况。(3)对本系统进行了部署和测试,采集了服务器状态指标和日志,并使用异常检测算法和基于滑动窗口的降低误报概率的方法进行了实验。同时检验了异常通知功能,并测试了基于时间点定位相关日志信息的异常溯源功能。