论文部分内容阅读
随着互联网的飞速发展,计算机系统变得越来越复杂,软件和硬件之间的交互更加频繁。云操作系统已经越来越流行,但由于其庞大的规模和高度的复杂性,云操作系统运行时,更容易出现各种各样的问题。因此,如何保障可靠性,已经成为系统设计和管理中的一个重要问题。在现代大规模分布式系统的管理中,系统日志一直是检测系统状态的主要来源。系统运行产生的大量日志记录,其中控制台日志通常是系统管理员排除故障的主要信息来源。由于现代系统的规模性与日俱增,复杂性不断提高,各种组件将生成大量的日志信息,包括运行报告和错误信息。这些日志信息在系统运行时迅速产生,不断增长,系统管理员通过直接使用人工方法对大量日志进行分析是一个巨大挑战。为了能更加有效地从系统日志数据中挖掘有价值的知识和规律,研究者结合使用机器学习算法、统计学等技术,提出使用数据挖掘方法解决这一难题。而机器学习算法是数据挖掘的主要内容,也是各学科研究的重要工具。基于上述背景,本文主要运用机器学习算法,尤其是聚类算法,设计并实现了基于云操作系统的智能故障检测定位系统。通过分析系统框架源代码,结合控制台日志管理模式,提取消息模板,以及故障分类模板。首先对日志流实时预处理,流程建模、模式匹配和统计分组、提取特征向量矩阵,然后运用PCA进行异常检测,最后使用S-Kmeans聚类算法进行故障分类。该智能故障检测定位系统可以帮助系统管理员了解云操作系统的实时状态,将日志划分为不同的故障类型,并确定故障的根本原因。本文所提出的方法在虚拟的云平台Apache Hadoop集群上进行了测试。实验结果表明,根据所提出的S-Kmeans聚类算法与主成分分析法相结合对故障检测以及定位准确率可以达到98%以上。本文的创新点如下:1.本文首先建立故障分类模板,然后运用机器学习算法实时故障检测定位,大大提高检测效率。2.本文提出一种S-Kmeans聚类算法用于对日志数据进行实时挖掘,首先通过主成分分析算法对异常特征向量进行提取,缩小故障范围,然后运用S-Kmeans聚类算法实时对故障定位。使得故障分类效率大大提高。