论文部分内容阅读
现在的服务器的系统规模越来越大,并且服务器内部系统的结构也越来越复杂,所以当服务器发生故障的时候,开发人员很难直接地追踪发生故障的过程,并且很难找出造成故障的原因。因此,开发一种自动化分析服务器故障原因的工具成为一种需要。自动化分析工具需要借助某种数据格式来分析,并且为了满足自动化分析工具的需要,这种数据格式需要包含足够多的服务器运行状态的信息。根据这种需要,日志数据成为了本文的选择。日志数据主要的功能就是记录服务器中系统的运行信息,包括系统事件的时间戳和任务执行状态等。随着服务器中系统的日志数量日益增加,自动化日志分析工具需要使用非常高效的方案来处理海量的日志数据。并且由于开发人员普遍使用自定义的文本信息作为日志,自动化日志分析工具还需要能够有效地处理自然语言。考虑到上述的生产需求,开发一款自动化日志分析工具成为一种必须,并且需要该自动化日志分析工具能够有效地处理自然语言。因此,本文的主要贡献有以下几点:1、本文提出一个基于动态记忆网络模型的自动化日志分析框架。该自动化日志分析框架包括无格式日志数据解析、日志数据向量化、模型训练和日志分析等模块。该框架的主要功能就是接收原始的日志数据,将日志数据进行预处理后输入到模型中,然后输出由模型根据输入的日志数据分析出的服务器故障原因。该框架的应用场景是单个系统的日志分析。2、因为动态记忆网络模型在自然语言处理的问答领域取得很好的成果[1],所以本文选择该模型作为基础并提出一个改进后的动态记忆网络模型。这个改进后的动态记忆网络模型主要是在动态记忆网络模型中加入基于规则的推理模块,通过将专家知识引入到模型中,使得模型的训练过程更加迅速并且日志分析的准确率更高。3、本文通过使用Facebook的bAbI问答任务数据为基础,结合可获得的HDFS日志数据构造模型的训练数据和测试数据。4、本文使用构造的日志数据进行模拟实验,将本文提出的改进后的模型与原始的动态记忆网络模型进行对比。根据实验结果分析得出,改进后的模型比原始的模型要少用1-3个Epoch使得损失函数值降低到比较稳定,即改进后的模型收敛得更快。并且改进后的模型的准确率比原始的模型的准确率平均高出3%,换句话说就是改进后的模型日志分析的准确率更高。