摘要
目前基于OpenStack搭建的云基础平台(IASS)受到了很多IT企业的重视,OpenStack搭建的云基础平台包含了很多组件,即使是单机部署的云平台,不同组件运行后形成的日志文件也在不同的文件夹下面;企业级别的云平台均为分布式集群,集群中的每个节点均属于独立的主机,这就决定了云日志必然有多个来源。 日志对于系统的运行维护具有很大的帮助。直接阅读多源日志需要手动来回切换日志存储目录,不方便查询。故障预测作为系统运行维护的一种方法,让运维人员能够尽可能及早发现故障。日志数据来源的多样性会增加系统监听负担,对故障预测的准确率和实时性都提出了挑战。在使用HSMM模型进行故障预测方面,模型中状态转移概率矩阵不变性和使用指数描述状态驻留时间概率分布,导致了模型在很多实际应用场景中均存在一定的局限性。 针对上述问题,本文展开了相关的研究。具体实现的内容有:(1)设计并实现了一个云日志采集模块,将分散的日志聚集起来,便于集中分析处理;为了满足当前实时应用场景,对Flume中Channel进行了改进,在没有超过事先设定的内存阈值情况下,尽可能提高日志采集速度。(2)基于Elasticsearch实现云日志检索平台,在前端检索界面输入查询条件,检索所需云日志;同时使用Kibana连接Elasticsearch,辅助审计系统进行可视化统计分析。(3)在HSMM模型中,采用随日志事件类型改变而变化的状态转移概率矩阵和使用高斯分布函数描述状态驻留时间概率分布。(4)提出了基于知识库和改进后的HSMM模型的云日志分析方法进行故障预测;基于日志事件发生频次对日志事件进行归类处理,降低HSMM模型中观测值种类和提高观测值与隐状态关联紧密程度。(5)基于知识库和Selenium实现故障解决模块,提供故障解决的参考方案。