论文部分内容阅读
近十几年来,分布式系统环境得到了广泛的关注和研究。分布式计算将需要庞大计算资源的问题分割成若干子问题,这些子问题再由系统中的多个计算机分别进行处理,各个计算机处理的结果集中整合到一起成为一个最终的结果,由于一个巨大的问题需要多个计算机合作进行解决,因此计算的可靠性和有效性成了人们的关注目标。为了提高分布式环境的可靠性,传统的方法是通过使用基于冗余部件的高可用性(HA)技术来保证持续的服务,在出现节点失效的情况下,将该节点上的应用立即迁移到冗余节点上。但是,如果使用预测机制在节点失效之前及时地发现系统中的异常,根据异常的级别和相关的维护机制,可以有效地避免节点意外中止,因此可以更大程度地高分布式环境的可靠性。在实际情况中,性能异常预测可以应用到多方领域中减少不要的损失,根据需要达成特定的监控目的。机器的性能主要可以反映为 CPU负载、内存使用率、磁盘使用率等,因此,本文主要研究这些数据所形成的时间序列异常预测的技术。 目前,在异常研究领域,尽管已经有不少有关性能异常探测技术,但性能异常预测却尚未得到广泛研究。异常探测只能在异常已经发生之后对其进行检测分析,而异常预测技术才是真正避免异常发生的关键所在。 针对这些问题,本文提出了两类异常预测模型——单变量的异常预测算法和多变量的异常预测算法。其中,单变量的异常预测算法采用单个性能度量作为预测对象,通过寻找最相似模式与机器学习结合的方法,对异常的预兆进行判断。多变量的异常预测算法则同时观察系统的多个度量,综合考虑多方面因素,通过改进的基于KNN的方法对异常进行预测。除此以外,对每一种算法本文都设计了一系列实验,从多角度来检验各算法的准确性,在各实验中,本文将算法结果与前人的算法实验结果想对比,比较各自算法的长处和不足。 在本文的最后,介绍了名为“基于语义事件的分布式监控系统”的分布式监控模型,该系统是一种全新的监控系统,它用语义的形式来发布监控信息,而语义事件可由用户自行定义,这样使得该系统更加灵活并且易于扩展。此外,我们还将以上两类异常监控模型整合到该系统中,对系统单个或多个性能度量进行异常预测。实验结果表明,本文中所提出的基于语义事件的分布式监控系统在机器性能监控以及性能异常预测两个方面都有很好的表现。