基于LSTM-DSSM的虚拟化平台的日志分析方法及装置与流程

文档序号:23692992发布日期:2021-01-23 10:25阅读:303来源:国知局
基于LSTM-DSSM的虚拟化平台的日志分析方法及装置与流程
基于lstm-dssm的虚拟化平台的日志分析方法及装置
技术领域
[0001]
本发明涉及虚拟化产品技术领域,尤其是涉及一种基于lstm-dssm的虚拟化平台日志分析方法及装置。


背景技术:

[0002]
近年来随着云计算技术的发展和大规模普及,虚拟化平台作为云计算的基础之一也得到广泛的应用。虚拟化平台开发、测试以及交付给客户使 用过程中,难免出现各种各样的问题。当问题出现时,通常是通过查找日志的方法分析问题原因,从而解决问题。由于ics平台中包含管理节点和计算节点两部分,而计算节点中又包含计算、存储网络的资源,日志的分析往往较为复杂。目前的问题日志分析的过程是:查看管理节点的日志,发现问题,则解决问题;若错误是由底层抛出,则查看计算节点的日志,首先查看agent的日志,如果并无异常出现,则查看iva的报错信息,若错误是由存储抛出,则转而查看storage的日志。由于管理节点和计算节点由不同的人分工协作完成,问题的定位往往需要多人流转,才能找到问题发生的根本原因,极为耗时耗力。
[0003]
基于上述问题,本发明提出了一种基于lstm-dssm的虚拟化平台的日志分析方法,首先通过filebeat将不同节点的日志收集到一起,集成到管理节点统一查看所有日志信息,当任务失败时,将此报错信息和全部日志信息,基于lstm-dssm神经网络,训练出日志分析模型,使用此模型提取出 报错时管理节点或者计算节点的错误日志,方便研发人员快速有效的定位出问题跟因。


技术实现要素:

[0004]
本发明的目的在于提供一种基于lstm-dssm的虚拟化平台日志分析方 法及装置,以解决了问题的定位需要多人流转,才能找到问题发生的根本 原因,耗时耗力的技术问题。
[0005]
第一方面,本发明提供的一种日志分析方法,应用于虚拟化平台的管 理节点,所述方法包括:
[0006]
获取所有节点的日志信息;
[0007]
从所获取的日志信息中筛选出异常错误日志信息;
[0008]
对异常错误日志信息进行整理,生成日志语料;
[0009]
利用日志语料对lstm-dssm模型进行训练,(lstm:long short-term memory,长短期记忆网络;dssm:deep structured semantic models,深度 结构化语义模型);
[0010]
当出现异常错误时,利用训练好的lstm-dssm模型进行匹配,获得异 常错误对应的日志信息。
[0011]
进一步的,所述日志信息包括管理节点日志、虚拟代理日志、存储日 志、代理日志、反馈日志中的一种或多种。
[0012]
进一步的,获取所有节点的日志信息的步骤之后,还包括:
[0013]
对于定时打印的状态、容量以及监控日志信息,根据时间段进行过滤;
[0014]
对于任务执行进度日志信息,如果当前时间段没有失败任务及告警, 任务完成后保留部分进度日志信息,删除其余日志信息;
[0015]
当前日志信息超过日志容量的80%时,对当前日志信息进行备份。
[0016]
进一步的,从所获取的日志信息中筛选出异常错误日志信息步骤,包 括:
[0017]
从所获取的日志信息中筛选出错误日志信息;
[0018]
从错误日志信息中筛选出不是由于平台限制无法实现而出现的错误日 志信息,作为异常错误日志信息。
[0019]
进一步的,对异常错误日志信息进行整理,生成日志语料的步骤,包 括:
[0020]
分析历史特征信息,提取异常错误日志信息的日志特征;
[0021]
基于所述日志特征,将所有异常错误日志信息与其对应的错误码整理 形成报错信息库;
[0022]
整理异常错误日志信息的任务类型和对应的代理接口调用列表,生成 日志语料。
[0023]
进一步的,日志语料的格式为[任务类型][错误描述][平台错误码][任务 id][任务时间][任务调用接口列表][具体错误日志]。
[0024]
进一步的,利用日志语料对lstm-dssm模型进行训练的步骤,包括:
[0025]
使用word2vec词向量模型,得到每个异常错误日志信息和相应特征对 应的词向量数据,训练得到未经处理的错误日志的词向量数据,将这些词 向量数据作为输入;
[0026]
选取特征单元,压缩特征单元,将word token拆解成letter n-gram降 维表示;
[0027]
利用query的lstm单元输出的隐层向量作为context,分别与doc每 个时间步骤的隐层向量作点积计算,计算结果作为权重,对每个时间步骤 的向量进行加权求和,使用softmax交叉熵函数计算实际的输出与期望的输 出的损失函数。
[0028]
第二方面,本发明还提供一种一种日志分析装置,应用于虚拟化平台 的管理节点,所述装置包括:
[0029]
获取模块,用于获取所有节点的日志信息;
[0030]
筛选模块,用于从所获取的日志信息中筛选出异常错误日志信息;
[0031]
语料模块,用于对异常错误日志信息进行整理,生成日志语料;
[0032]
训练模块,用于利用日志语料对lstm-dssm模型进行训练;
[0033]
匹配模块,用于当出现异常错误时,利用训练好的lstm-dssm模型进 行匹配,获得异常错误对应的日志信息。
[0034]
第三方面,本发明还提供一种计算机可读存储介质,所述计算机可读 存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用 和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至7 任一项所述的方法。
[0035]
本发明提供的一种基于lstm-dssm的虚拟化平台日志分析方法,通过 filebeat将计算、管理节点的日志信息收集到一起,并通过调用elasticsearch 的接口将日志信息集成到虚拟化平台统一管理,实现了日志资源的实时同 步和统一查询,解决了日志查找费时费力的问题,并在此基础上,增加日 志过滤、日志告警和备份处理,解决日志刷新过多容易造成的日志丢失问 题;依据历史日志信息,在结合日志特征的基础上,通过lstm-dssm网络 结构,训练生成lstm-dssm网络模型,进一步实现了具体报错日志的匹配 查找,日志查找的
结果可以直接由研发人员分析问题,有效提升需求开发 以及系统测试阶段的效率,该日志分析方法方法简化了日志分析过程,实现了 日志的统一管理,解决了日志刷新频繁导致的日志丢失问题,节省了日志分析过程 中耗费的人力物力。
[0036]
相应地,本发明实施例提供的一种日志分析装置及计算机可读存储介 质,也同样具有上述技术效果。
附图说明
[0037]
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下 面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普 通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。
[0038]
图1为本发明实施例提供的基于lstm-dssm的虚拟化平台日志分析方 法流程图;
[0039]
图2为本发明实施例提供的lstm-dssm网络结构图;
[0040]
图3为本发明实施例提供的电子设备原理框图。
具体实施方式
[0041]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附 图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本 领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明保护的范围。
[0042]
本发明实施例中所提到的术语包括和具有以及它们的任何变 形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、 方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还 包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、 产品或设备固有的其它步骤或单元。
[0043]
本发明提供的一种日志分析方法,应用于虚拟化平台的管理节点,本 方法首先通过filebeat收集各个管理节点和计算节点的日志信息,经由 elasticsearch进行存储,在此基础上增加日志过滤、告警、和备份功能,使 用虚拟化平台统一管理所有的日志信息。将历史日志信息作为语料,预处 理之后,构建出词向量模型,在文本词向量特征的基础上,增加日志信息 的特征处理,作为词向量输入到lstm-dssm神经网络中,训练出日志匹配 模型,对于新出现异常日志,将错误描述和相关的日志信息,输入训练出 的日志分析模型,快速找到相匹配的日志信息,所述方法包括:
[0044]
获取所有节点的日志信息;
[0045]
从所获取的日志信息中筛选出异常错误日志信息;
[0046]
对异常错误日志信息进行整理,生成日志语料;
[0047]
利用日志语料对lstm-dssm模型进行训练;
[0048]
当出现异常错误时,利用训练好的lstm-dssm模型进行匹配,获得异 常错误对应的日志信息。
[0049]
进一步的,所述日志信息包括管理节点日志、虚拟代理日志、存储日 志、代理日志、反馈日志中的一种或多种。
[0050]
进一步的,获取所有节点的日志信息的步骤之后,还包括:
[0051]
对于定时打印的状态、容量以及监控日志信息,根据时间段进行过滤;
[0052]
对于任务执行进度日志信息,如果当前时间段没有失败任务及告警, 任务完成后保留部分进度日志信息,删除其余日志信息。
[0053]
当前日志信息超过日志容量的80%时,对当前日志信息进行备份。
[0054]
进一步的,从所获取的日志信息中筛选出异常错误日志信息步骤,包 括:
[0055]
从所获取的日志信息中筛选出错误日志信息;
[0056]
从错误日志信息中筛选出不是由于平台限制无法实现而出现的错误日 志信息,作为异常错误日志信息。
[0057]
进一步的,对异常错误日志信息进行整理,生成日志语料的步骤,包 括:
[0058]
分析历史特征信息,提取异常错误日志信息的日志特征;
[0059]
基于所述日志特征,将所有异常错误日志信息与其对应的错误码整理 形成报错信息库;
[0060]
整理异常错误日志信息的任务类型和对应的代理接口调用列表,生成 日志语料。
[0061]
进一步的,日志语料的格式为[任务类型][错误描述][平台错误码][任务 id][任务时间][任务调用接口列表][具体错误日志]。
[0062]
进一步的,利用日志语料对lstm-dssm模型进行训练的步骤,包括:
[0063]
使用word2vec词向量模型,得到每个异常错误日志信息和相应特征对 应的词向量数据,训练得到未经处理的错误日志的词向量数据,将这些词 向量数据作为输入;
[0064]
选取特征单元,压缩特征单元,将word token拆解成letter n-gram降 维表示;
[0065]
利用query的lstm单元输出的隐层向量作为context,分别与doc每 个时间步骤的隐层向量作点积计算,计算结果作为权重,对每个时间步骤 的向量进行加权求和,使用softmax交叉熵函数计算实际的输出与期望的输 出的损失函数。
[0066]
本发明的具体实施过程如下:
[0067]
1)在所有的节点安装filebeat,通过filebeat将所有节点的日志内容, 统一发送到elasticsearch进行存储,这些日志信息包含管理节点日志、iva 日志、存储日志、agent日志、feedback日志等等,通过filebeat及 elasticsearch将ics虚拟化平台不同计算节点和管理节点的日志信息收集 到管理平台,并在filebeat日志收集完成后,增加了日志过滤、日志告警、 和备份操作,实现了日志信息的统一管理,并解决虚拟化平台日志丢失问 题。
[0068]
2)虚拟化平台管理节点调用elasticsearch对外提供的接口,对所有节 点的日志信息进行管理,查询日志时,只需要通过管理节点统一查看日志 信息。
[0069]
3)虚拟化平台中,某一日志信息过多时,会覆盖之前的日志,从而造 成日志的丢失,为了避免此问题,增加过滤和日志告警处理:
[0070]

对于定时打印的状态、容量以及监控信息,进行过滤,分时间段进 行过滤。
[0071]

对于任务执行进度日志信息,如果当前时间段没有失败任务及告 警,任务完成后只保留部分进度日志,其余进行删除。
[0072]

当前日志超过日志容量的80%时,增加日志告警处理,并对当前日 志进行备份,防止日志覆盖。
[0073]
4)对于ics平台的中的错误信息,(ics:incloud sphere,一种虚拟化平 台)进行人工分类,区分标准为是不是符合预期的错误,例如热添加磁盘 时报错“ide磁盘不支持热添加”,是由于平台限制无法实现而出现的符合 预期的错误,将其分到正常报错集合;例如

未知异常

这种报错信息, 是不应该出现的报错信息,应该归类为异常信息,对于符合预期的错误, 不需要分析处理,将其剔除。
[0074]
5)分析历史特征信息,提取虚拟化平台报错日志特征。
[0075]

虚拟化平台的报错信息包含任务开始与结束时间,日志中的报错时 间往往与结束时间对应,部分信息可能需要回滚,有所差异,但差异时间 一般在十秒之内。
[0076]

报错日志一般出现在最后一次任务id出现之前。
[0077]

iva日志部分包含错误码,与平台中的错误代码一致,可通过错误 代码查找iva日志,(iva:inspur virtualization agent,虚拟代理)。
[0078]

存储及iva报错与manager调用的agent接口对应。
[0079]
6)针对5)的日志特征:
[0080]

将所有报错信息与其对应的错误码整理成报错信息库,报错信息和 错误码一一对应。
[0081]

整理任务类型和对应的agent接口调用列表。
[0082]
7)整理报错日志语料,错误信息对应的日志可能为管理节点日志、iva 日志、agent日志,存储日志等等。由于所有的错误都需要平台来抛出,管 理平台的错误信息,对应的错误日志应为管理节点日志信息和其他日志信 息的组合。日志语料最终整理为以下格式:
[0083]
[任务类型][错误描述][平台错误码][任务id][任务时间]任务调用接口列 表][具体错误日志]
[0084]
8)对整理出来的日志语料和所有的错误日志,进行预处理,处理成转 换为可供计算机识别的、结构一致的、无无关信息的语料。预处理主要有 以下几个过程:
[0085]

分词,中文使用结巴分词工具,英文直接根据空格分词即可。
[0086]

去停用词,根据中英文停用词表,去除停用词。
[0087]
9)训练lstm-dssm模型,在lstm-dssm网络结构的基础之上,结合虚拟 化平台错误日志特征信息生成日志匹配模型,实现了异常日志的快速匹配,主要有 以下几个过程:
[0088]

使用word2vec词向量模型,得到每个错误日志信息和相应特征对 应的词向量数据,同时训练得到未经处理的错误日志词向量数据,将这些 词向量数据作为输入;
[0089]

选取特征单元,压缩特征单元,将word token拆解成letter n-gram 降维表示;
[0090]

如图所示,用query的lstm单元输出的隐层向量作为context,分 别与doc每个时间步骤的隐层向量作点积计算,计算结果作为权重,每个时 间步骤的向量乘以权重再求和,使用softmax交叉熵函数计算实际的输出与 期望的输出的接近程度,得到输出。
[0091]
将所有的训练数据通过lstm-dssm网络结构进行训练,经过多个 batch_size,最终得到训练之后的lstm-dssm模型。
[0092]
10)当前环境出现异常时,首先根据错误描述找到6)中的错误码和调 用接口,并整理成9)中的语料格式,将整理好的日志信息和当前所有日志 信息,通过训练好的lstm-dssm模型进行匹配,输出得到需要的日志信息。
[0093]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一 旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步 定义和解释。
[0094]
本发明实施例提供的一种日志分析装置,应用于虚拟化平台的管理节 点,所述装置包括:
[0095]
获取模块,用于获取所有节点的日志信息;
[0096]
筛选模块,用于从所获取的日志信息中筛选出异常错误日志信息;
[0097]
语料模块,用于对异常错误日志信息进行整理,生成日志语料;
[0098]
训练模块,用于利用日志语料对lstm-dssm模型进行训练;
[0099]
匹配模块,用于当出现异常错误时,利用训练好的lstm-dssm模型进 行匹配,获得异常错误对应的日志信息
[0100]
本发明实施例提供的一种电子设备,如图3所示,电子设备800包括 存储器801、处理器802,所述存储器中存储有可在所述处理器上运行的计 算机程序,所述处理器执行所述计算机程序时实现上述实施例提供的方法 的步骤。
[0101]
如图3所示,电子设备还包括:总线803和通信接口804,处理器802、 通信接口804和存储器801通过总线803连接;处理器802用于执行存储 器801中存储的可执行模块,例如计算机程序。
[0102]
其中,存储器801可能包含高速随机存取存储器(random accessmemory,简称ram),也可能还包括非易失性存储器(non-volatile memory), 例如至少一个磁盘存储器。通过至少一个通信接口804(可以是有线或者无 线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联 网,广域网,本地网,城域网等。
[0103]
总线803可以是isa总线、pci总线或eisa总线等。所述总线可以分为 地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭 头表示,但并不表示仅有一根总线或一种类型的总线。
[0104]
其中,存储器801用于存储程序,所述处理器802在接收到执行指令 后,执行所述程序,前述本发明任一实施例揭示的过程定义的装置所执行 的方法可以应用于处理器802中,或者由处理器802实现。
[0105]
处理器802可能是一种集成电路芯片,具有信号的处理能力。在实现 过程中,上述方法的各步骤可以通过处理器802中的硬件的集成逻辑电路 或者软件形式的指令完成。上述的处理器802可以是通用处理器,包括中 央处理器(central processing unit,简称cpu)、网络处理器(network processor, 简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、 专用集成电路(application specific integrated circuit,简称asic)、现成可编程 门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器 件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发 明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理 器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开 的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理 器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪 存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器 等本领域成熟的存储介质中。该存储介质位于存储器801,处理器802读取 存储器801中的信息,结合其硬件完成上述方法的步骤。
[0106]
对应于上述方法,本发明实施例还提供了一种计算机可读存储介质, 所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令 在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上 述方法的步骤。
[0107]
本发明实施例所提供的装置可以为设备上的特定硬件或者安装于设备 上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技 术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处, 可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解 到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程, 均可以参考上述方法实施例中的对应过程,在此不再赘述。
[0108]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法, 也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的, 例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方 法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流 程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所 述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能 的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标 注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方 框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依 所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及 框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的 基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0109]
又例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可 以有另外的划分方式,再例如,多个单元或组件可以结合或者可以集成到 另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的 相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或 单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0110]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的, 作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地 方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的 部分或者全部单元来实现本实施例方案的目的。
[0111]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使 用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发 明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步 骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(random access memory,简称ram)、 磁碟或者光盘等各种可以存储程序代码的介质。
[0112]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用 以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于 此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围 内,其依然可以对前述实施例所记载的技术方案进行修改
或可轻易想到变 化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换, 并不使相应技术方案的本质脱离本发明实施例技术方案的范围。都应涵盖 在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护 范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1