发布信息

一种基于Openstack的日志关键错误自动识别方法及装置与流程

作者:admin      2022-09-03 09:03:10     773



计算;推算;计数设备的制造及其应用技术一种基于openstack的日志关键错误自动识别方法及装置技术领域1.本发明属于数据挖掘技术领域,尤其涉及一种基于openstack的日志关键错误自动识别方法及装置。背景技术:2.如何高效的运维是一直以来要探索的课题,对于一些技术人员,可以直接通过庞大的日志快速搜索,甚至直接看源码解决问题,但是技术人员的数量毕竟太少,运维几万、几十万套集群环境时,面临人手不够的问题。为了应对这样的问题,需要在庞大的日志里将真正报错的地方提取出来,进一步改善。3.open stack是一个云平台管理的项目,在云计算领域有着非常庞大的应用,目前主流的云计算技术之一,适用于诸多的应用场景,如商业、市场等。一套open stack是基于容器运行的,由ansible容器统一管理,nova是计算组卷,内部又划分出nova compute,nova scheduler,nova api等等,keystone,neutron,cinder等等,每一个组件功能都是采用容器的方式来运行,因此都具备独立的日志。而这些组件是彼此运行,如果keystone,nova核心,neutron,cinder中间的任何一个组件如果无法正常工作,会造成整个open stack系统无法工作,往往一个容器运行报错,会造成多个容器无法运行,进而其它容器也会报错,这些错误彼此交错,造成日志积累大量错误信息,面对这样的问题,需要技术人员将这种组件常用报错信息放置在一个关键词词库内,通过手动不断调整词库,如果一旦有系统报错并且切割后片段的关键词与其相匹配,将关键词构成的错误信息重新输出,这样的方式可以精确定位到真正报错容器以及其所在代码的准确位置。4.在日志错误定位的场景中,之前传统的方法是采用人工的方式来更新关键词词库,但是这样的方式,每个人的想法各不相同,很难做到统一,在版本升级时很难统一,而且维护的成本非常高,需要技术人员定期定点的精确维护,所需要的人力成本大大上升。技术实现要素:5.本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于openstack的日志关键错误自动识别方法及装置,可自动将日志数据里的关键词保存到关键词词库中,降低人力维护成本。6.根据本发明的一个方面,本发明提供了一种基于openstack的日志关键错误自动识别方法,所述方法包括以下步骤:7.s1:采集历史日志数据,对所述历史日志据进行处理和翻译,转化为具有数字特征的数字化数据,对所述数字化数据进行补零操作,得到训练数据集;8.s2:利用所述训练数据集对识别模型进行训练,完成模型的训练;9.s3:配置所述识别模型的参数,将日志数据输入到所述识别模型中进行分类,输出日志报错的关键词,形成分类的关键词数据集;10.s4:对分类的关键词数据进行频率分析,得到高频关键词,将所述高频关键词对应的日志重新存储到关键错误报错日志收集文本中,分析日志时通过打开所述关键错误报错日志收集文本实现日志关键错误的展示。11.优选地,所述采集历史日志数据,对所述历史日志据进行处理包括:12.选取预设数量的物理服务器,分别获取每一台物理服务器的日志以文本形式保存,得到预设数量的日志文本;将所述预设数量的日志文本按照时间顺序进行合并,组成一个完整的日志数据集,所述日志数据集的内容由日志时间+日志内容+报错内容构成;对日志时间进行切割,并保留日志内容和报错内容,采用词向量进行分割,完成关键字的划分。13.优选地,所述对所述历史日志据进行翻译,转化为具有数字特征的数字化数据包括:14.对所述日志数据集进行翻译,得到英文数据集,将所述英文数据集中的全部小写字母转换为大写字母,并将数据集中非字母形式的干扰数据进行抹除,形成只包括英文大写字母以及空格的数据集,将每一条数据列表化,得到一个二维张量结构的数据集;将26个字母使用1~26个数字进行替换,并将空格数据的有效特征值赋值为50,得到具有数字特征的数字化数据。15.优选地,所述识别模型为lstm模型,所述配置所述识别模型的参数包括:16.lstm的参数配置为embedding_dim参数为27,hidden_dim参数为17,num_layers参数为3,output_size参数为2,padding参数为1,使用词向量转换方法torch.nn.embedding,其内部长度参数配置为180。17.优选地,所述对分类的关键词数据进行频率分析,得到高频关键词包括:18.根据lstm分类的数量,按照分类类别对组件进行加权计算,得到第一参数值;对每一个分类的数据频次进行统计,得到第二参数值,将所述第一参数值和所述第二参数值进行加权运算得到权重值,取所述权重值满足预设阈值条件的关键词作为高频关键词。19.根据本发明的另一个方面,本发明还提供了一种基于openstack的日志关键错误自动识别装置,所述装置包括:20.处理模块,用于采集历史日志数据,对所述历史日志据进行处理和翻译,转化为具有数字特征的数字化数据,对所述数字化数据进行补零操作,得到训练数据集;21.训练模块,用于利用所述训练数据集对识别模型进行训练,完成模型的训练;22.识别模块,用于配置所述识别模型的参数,将日志数据输入到所述识别模型中进行分类,输出日志报错的关键词,形成分类的关键词数据集;23.分析模块,用于对分类的关键词数据进行频率分析,得到高频关键词,将所述高频关键词对应的日志重新存储到关键错误报错日志收集文本中,分析日志时通过打开所述关键错误报错日志收集文本实现日志关键错误的展示。24.优选地,所述处理模块采集历史日志数据,对所述历史日志据进行处理包括:25.选取预设数量的物理服务器,分别获取每一台物理服务器的日志以文本形式保存,得到预设数量的日志文本;将所述预设数量的日志文本按照时间顺序进行合并,组成一个完整的日志数据集,所述日志数据集的内容由日志时间+日志内容+报错内容构成;对日志时间进行切割,并保留日志内容和报错内容,采用词向量进行分割,完成关键字的划分。26.优选地,所述处理模块对所述历史日志据进行翻译,转化为具有数字特征的数字化数据包括:27.对所述日志数据集进行翻译,得到英文数据集,将所述英文数据集中的全部小写字母转换为大写字母,并将数据集中非字母形式的干扰数据进行抹除,形成只包括英文大写字母以及空格的数据集,将每一条数据列表化,得到一个二维张量结构的数据集;将26个字母使用1~26个数字进行替换,并将空格数据的有效特征值赋值为50,得到具有数字特征的数字化数据。28.优选地,所述识别模型为lstm模型,所述识别模块配置所述识别模型的参数包括:29.lstm的参数配置为embedding_dim参数为27,hidden_dim参数为17,num_layers参数为3,output_size参数为2,padding参数为1,使用词向量转换方法torch.nn.embedding,其内部长度参数配置为180。30.优选地,所述分析模块对分类的关键词数据进行频率分析,得到高频关键词包括:31.根据lstm分类的数量,按照分类类别对组件进行加权计算,得到第一参数值;对每一个分类的数据频次进行统计,得到第二参数值,将所述第一参数值和所述第二参数值进行加权运算得到权重值,取所述权重值满足预设阈值条件的关键词作为高频关键词。32.有益效果:本发明基于openstack的日志关键错误自动识别技术,获取多台物理机日志数据集,使用词向量分割;将不同的词向量设置为lstm数据集;采用lstm对词向量进行多分类;将同类型中高频词作为关键词保存到词库;自动化得到关键词词库,全程无人工操作,可自动将日志数据里的关键词保存到关键词词库中,降低人力维护成本。33.通过参照以下附图及对本发明的具体实施方式的详细描述,本发明的特征及优点将会变得清楚。附图说明34.图1是基于openstack的日志关键错误自动识别方法流程图;35.图2是基于openstack的日志关键错误自动识别装置示意图。具体实施方式36.下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。37.实施例138.图1是基于openstack的日志关键错误自动识别方法流程图。如图1所示,本实施例提供了一种基于openstack的日志关键错误自动识别方法,所述方法包括以下步骤:39.s1:采集历史日志数据,对所述历史日志据进行处理和翻译,转化为具有数字特征的数字化数据,对所述数字化数据进行补零操作,得到训练数据集。40.优选地,所述采集历史日志数据,对所述历史日志据进行处理包括:41.选取预设数量的物理服务器,分别获取每一台物理服务器的日志以文本形式保存,得到预设数量的日志文本;将所述预设数量的日志文本按照时间顺序进行合并,组成一个完整的日志数据集,所述日志数据集的内容由日志时间+日志内容+报错内容构成;对日志时间进行切割,并保留日志内容和报错内容,采用词向量进行分割,完成关键字的划分。42.具体地,在每一台物理服务器上面增加日志收集模块,新建一个文件夹内并使用txt文本保存日志数据。根据主机的uuid检查日志。分别获得nova,neutron,keystone,cinder等容器组件的日志。之后将一整台物理机的日志全部合并,以txt形式保存。43.其中,每台机器日志选取只选择一个月范围内的日志,并且日志时间范围内涵盖典型的错误类型,这样的日志更有意义,可对数据进行相应处理,降低数据总量,增加数据质量。44.预设数量可以是50-100台,分别从50-100台带有典型错误代表的机器中的每一台机器上面,分别获取了完整的日志数据,并将其保存成txt,之后通过合并的方式将其全部日志数据合并,完成一台集群的日志采集。将这50-100个日志文件内全部txt格式数据从上到下按照时间顺序进行合并,组成一个完整的日志数据集m,该数据集m涵盖50-100个txt格式日志的全部数据量。45.m的长度通常是百万级别的,并且其内容由日志时间+日志内容+报错内容构成,接下来要采用python的re正则表达式,将日志时间进行切割,日志的内容和报错的内容进行保留。46.词向量的分割技术,主要将一句话按照内容和含义进行片段切割,一般对于英文主流的切割方法是按照空格进行切割,因为英文句子中,单词与单词之间是按照空格的形式进行分割的,因此,采用这样的分割方式而成的语意分割,只能将每一次词进行切割,之后按照含义将主语,谓语,宾语,在宾语内将不同含义的内容需要进行系统性的分割。47.使用识别模型进行了多次鉴别,主要就是将主谓宾分开,后将不同的宾语进行再次分类,从而完成关键字的划分。在使用识别模型进行分类之前,对数据进行标记和判断,之后使用识别模型进行训练,得到模型的训练参数,有了这个参数,模型就可以直接将未知的数据,以参数为参考,得到该数据的准确分类结果。48.优选地,所述对所述历史日志据进行翻译,转化为具有数字特征的数字化数据包括:49.对所述日志数据集进行翻译,得到英文数据集,将所述英文数据集中的全部小写字母转换为大写字母,并将数据集中非字母形式的干扰数据进行抹除,形成只包括英文大写字母以及空格的数据集,将每一条数据列表化,得到一个二维张量结构的数据集;将26个字母使用1~26个数字进行替换,并将空格数据的有效特征值赋值为50,得到具有数字特征的数字化数据。50.具体地,针对文本数据的有效特征具体为:51.a‑‑》0,b‑‑》1,c‑‑》2,d‑‑》3,e‑‑》4,f‑‑》5,g‑‑》6,h‑‑》7,i‑‑》8,j‑‑》9,k‑‑》10,l‑‑》11,m‑‑》12,n‑‑》13,o‑‑》14,p‑‑》15,q‑‑》16,r‑‑》17,s‑‑》18,t‑‑》19,u‑‑》20,v‑‑》21,w‑‑》22,x‑‑》23,y‑‑》24,z‑‑》25;52.‘_’‑‑》51,‘?’‑‑》75,‘.’‑‑》76,‘‑’‑‑》77,‘,’‑‑》78,‘!’‑‑》79,‘ⅱ’‑‑》80,‘(’‑‑》81,‘)’‑‑》82,‘:’‑‑》83,‘/’‑‑》84,‘+’‑‑》85,‘%’‑‑》86。53.综上所述,对于如abc等26个字母特征,其有效片段使用1,2,3....26来代替,对于如两个单词之间的空格分割,则使用50来代替,并且为了使用其特征,我们将空格替换成“_”这样的下划线,并使用51数字来表示其有效片段,区别于字母的不同,使用间隔较大的数字特征,也能使我们整个一维向量中每一个数字更具特征化,这种简易的数字特征,比起1.222345678765432这样的float数字特征,表述的信息更加少,但是,却更加有效。54.数据的每一段都是按照之前的词向量分割进行处理,处理过后得到m数据集的处理数据集h,接下来要将全部小写字母转换为大写字母,并将数据集中如“!@#¥%……&*()”此类具备干扰性质的数据进行抹除,因为英文单词中间采用空格隔开,为了保留这样的数字特征,如果遇到空格,也按照数据进行读取,并将空格数据的有效特征值给予为50,之后数据经过最终的精细化处理后,只会保留26字母构成的大写字母,以及空格构成的数字特征这两种,将h集合中数百万条数据的每一条数据列表化,进而得到一个二维张量结构的数据。在每一条数据列表化以后,将26个字母使用1~26个数字进行替换,这样就得到了数百万条长度不一,具备原来英文数据全部特征性质的数字数据一维张量。现有的数据由h变换为p,p数据集为全新的数字化数据,里面由数百万个列表数据构成,是由原有的n数据转换而来。55.p数据集代表了数据的数字化特征,但是,其每一条长度不一,很难拿来进行训练,真正能被lstm模型识别的是二维张量,且数据内每一条数据列表的长度均为等长,因此,需要对数据进行二次深加工,0这个元素代表了虚无,恰巧适合补齐操作,数据集p中,参差不齐的每一条列表,要判断其中最长的那条究竟有多长,按照那个最长列表的长度为a,最短为b,将剩余a-b之间的列表的长度全部补齐到b,并且补充元素均使用0来代替,这样就得到了全新的训练用数据集t,t是长度为数百万条日志数据且内部每条都等长的二维张量。56.通过将原始数据集m,经翻译后得到h,后数字化处理后转换为p,将p进行补零操作得到真正能够被模型使用的数据集t,完成了这一连串的转换。之后将数据按照label的类型分为两部分,分别为t_pos:正样本数据集。t_neg:负样本数据集两部分,将两部分数据集依次读取到模型内,进入之后的训练阶段。57.s2:利用所述训练数据集对识别模型进行训练,完成模型的训练。58.本步骤中,将步骤s1中得到的训练数据输入到识别模型中,完成识别模型的训练。59.s3:配置所述识别模型的参数,将日志数据输入到所述识别模型中进行分类,输出日志报错的关键词,形成分类的关键词数据集。60.优选地,所述识别模型为lstm模型,所述配置所述识别模型的参数包括:61.lstm的参数配置为embedding_dim参数为27,hidden_dim参数为17,num_layers参数为3,output_size参数为2,padding参数为1,使用词向量转换方法torch.nn.embedding,其内部长度参数配置为180。62.具体地,本步骤采用lstm作为深度学习训练的模型,根据上一步得到的数据t_pos和t_neg作为模型的输入,实现lstm的多分类技术,将不同类型的日志报错进行统计和分类。63.首先将数据输入lstm模型内,lstm的参数配置为embedding_dim参数为27,hidden_dim参数为17,num_layers参数为3,output_size参数为2,padding参数为1,接下来使用词向量转换方法torch.nn.embedding,其内部长度参数配置为180,接下来将上一步embedding方法处理后的参数放入lstm模型,输出的结果直接由全连接层进行处理。64.这样就完成了模型的训练,并将模型的训练参数文件,连同模型一起放到一个nova的api内,新建一个nova的api作为其载体,该api的body体部分采用某一机器全部日志数据集m,api会将数据集m内数据,按照语义分割、特征提取、数字特征转换、lstm模型数据匹配,最后根据模型进行分类,api输出的是模型的日志报错的关键字。65.s4:对分类的关键词数据进行频率分析,得到高频关键词,将所述高频关键词对应的日志重新存储到关键错误报错日志收集文本中,分析日志时通过打开所述关键错误报错日志收集文本实现日志关键错误的展示。66.优选地,所述对分类的关键词数据进行频率分析,得到高频关键词包括:67.根据lstm分类的数量,按照分类类别对组件进行加权计算,得到第一参数值;对每一个分类的数据频次进行统计,得到第二参数值,将所述第一参数值和所述第二参数值进行加权运算得到权重值,取所述权重值满足预设阈值条件的关键词作为高频关键词。68.具体地,使用训练好的lstm模型,可以快速的得到关键词数据集,接下来根据m集的构成,将分类类别的数据进行频率分析,根据频率的高低和lstm分类的数量,按照分类类别对组件进行一个加权判断,再设计另一个参数,将每一个要分类的数据频次进行统计,将这两个参数进行加权运算,取权重的前30%作为关键词数据集内的数据,这个比例根据实际情况可适当调整。69.使用lstm方法选出了关键词,并将关键词存入数据库。从数据库读取关键词后,将之前训练集和测试集中全部数据中,关键词在日志数据出现的频率与总词数做一个比,得到一个百分比,并将这个百分比作为权重来使用,每个分类都有一套按照权重比大小排序的关键词,但是由于数据集基数的庞大,需要看到的内容只是其中高频词出现的位置,因此需要对每一个类别的关键词进行二次划分,我们只取前30%的关键词,这个和数据集数量成正比,该参数人为按需求调整,以保证关键词数据集内不会出现大量无价值的分类关键词。70.根据上一步操作,得到了关键词数据集,里面只保留了每一个重要类别的高频关键词,将这个关键词数据集存入数据库,之后根据ocr关键字判断,对日志数据进行检索,将关键字对应的日志语言重新储存到一个n的文件内,n为全新的关键错误报错日志收集文本,后期分析日志的时候只需打开n即可实现日志关键错误的展示。71.本实施例基于openstack的日志关键错误自动识别技术,获取多台物理机日志数据集,使用词向量分割;将不同的词向量设置为lstm数据集;采用lstm对词向量进行多分类;将同类型中高频词作为关键词保存到词库;自动化得到关键词词库,全程无人工操作,可自动将日志数据里的关键词保存到关键词词库中,降低人力维护成本。72.实施例273.图2是基于深度学习的新冠肺炎症状文本数据识别装置示意图。如图2所示,本发明还提供了一种基于openstack的日志关键错误自动识别装置,所述装置包括:74.处理模块201,用于采集历史日志数据,对所述历史日志据进行处理和翻译,转化为具有数字特征的数字化数据,对所述数字化数据进行补零操作,得到训练数据集;75.训练模块202,用于利用所述训练数据集对识别模型进行训练,完成模型的训练;76.识别模块203,用于配置所述识别模型的参数,将日志数据输入到所述识别模型中进行分类,输出日志报错的关键词,形成分类的关键词数据集;77.分析模块204,用于对分类的关键词数据进行频率分析,得到高频关键词,将所述高频关键词对应的日志重新存储到关键错误报错日志收集文本中,分析日志时通过打开所述关键错误报错日志收集文本实现日志关键错误的展示。78.优选地,所述处理模块201采集历史日志数据,对所述历史日志据进行处理包括:79.选取预设数量的物理服务器,分别获取每一台物理服务器的日志以文本形式保存,得到预设数量的日志文本;将所述预设数量的日志文本按照时间顺序进行合并,组成一个完整的日志数据集,所述日志数据集的内容由日志时间+日志内容+报错内容构成;对日志时间进行切割,并保留日志内容和报错内容,采用词向量进行分割,完成关键字的划分。80.优选地,所述处理模块201对所述历史日志据进行翻译,转化为具有数字特征的数字化数据包括:81.对所述日志数据集进行翻译,得到英文数据集,将所述英文数据集中的全部小写字母转换为大写字母,并将数据集中非字母形式的干扰数据进行抹除,形成只包括英文大写字母以及空格的数据集,将每一条数据列表化,得到一个二维张量结构的数据集;将26个字母使用1~26个数字进行替换,并将空格数据的有效特征值赋值为50,得到具有数字特征的数字化数据。82.优选地,所述识别模型为lstm模型,所述识别模块203配置所述识别模型的参数包括:83.lstm的参数配置为embedding_dim参数为27,hidden_dim参数为17,num_layers参数为3,output_size参数为2,padding参数为1,使用词向量转换方法torch.nn.embedding,其内部长度参数配置为180。84.优选地,所述分析模块204对分类的关键词数据进行频率分析,得到高频关键词包括:85.根据lstm分类的数量,按照分类类别对组件进行加权计算,得到第一参数值;对每一个分类的数据频次进行统计,得到第二参数值,将所述第一参数值和所述第二参数值进行加权运算得到权重值,取所述权重值满足预设阈值条件的关键词作为高频关键词。86.本实施例2中各个模块所实现的功能的具体实施过程与实施例1中的各个步骤的实施过程相同,在此不再赘述。87.以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部