论文部分内容阅读
在云计算平台中,各模块分步在不同的节点上,它们有些是物理服务器,有些是虚拟机,产生的日志数量规模巨大。众所周知,日志数据具有很大的价值。如果把云平台比喻成一个人的话,日志数据就像是我们去医院体检之后,体检单上那五花八门的条目,它们对我们的云平台给出诊断信息。然而,这些数据就像体检单上医生写下的结论,本身晦涩难懂,研发人员平时都经常忽视它们,更别说去挖掘它们的内在价值了。本文针对这种情况,提出并实现了一个具有故障预测功能的、并且可以把结果通过页面展示给用户的日志管理系统。本系统涵盖了日志采集模块、异步通信模块、日志处理模块、存储模块以及结果展示模块。其中最核心的两个模块分别为:基于flume改良的日志收集模块和具有预测功能的日志处理模块。日志收集模块是全套系统的根基所在,其汇聚了云平台上散落于各处的日志信息,为其他模块提供数据来源。针对日志收集模块在性能上的需要,本文做出了以下设计:(1)对通道进行了改进,使它可以根据数据流量的不同,灵活地选择内存通道或者是文件通道;(2)把hbase_sink分成三个级别,提供日志写入Hbase服务器的效率;(3)自定义了一个Sink,满足不同模块对Sink的需求。(4)根据实际运行环境,对参数进行调优。对日志处理模块进行设计的时候,本文就如何挖掘日志信息做了一系列的研究。首先,日志数据不同于网购类的数据,有着自己独特的地方。因此本文定义了若干个新的概念,同时研究和提出一种类Apriori的事件关联挖掘算法-Apriori-LTIS。为了提供系统处理的效率、节约资源,并进一步改进得到Apriori-simiLTIS算法。然后,提出了一个创新的概念ECG(event correlation graph)来表示事件相关性。最后,本文提出了一种基于ECG的故障事件预测算法,对云平台未来可能发生的故障做出检测。为了验证系统的完整性,本文对系统的性能和功能方面做了详尽的测试,并且用多组差异化的数据对提出的算法进行了实验,从平均分析时间、精确率以及召回率等指标对实验做出分析评价。文章最后提出系统设计的不理想之处,同时对将来的优化方向进行了阐述。