如何提高IT运维效率基于运维日志异常检测AIOps落地实践
作者:京东科技张宪波、张静、李东江
基于NLP技术对运维日志聚类,从日志角度快速发现线上业务问题
日志在IT行业中被广泛使用,日志的异常检测对于识别系统的运行状态至关重要。解决这一问题的传统方法需要复杂的基于规则的有监督方法和大量的人工时间成本。我们提出了一种基于自然语言处理技术运维日志异常检测模型。为了提高日志模板向量的质量,我们改进特征提取,模型中使用了词性(PoS)和命名实体识别(NER)技术,减少了规则的参与,利用NER的权重向量对模板矢量进行了修改,分析日志模板中每个词的PoS属性,从而减少了人工标注成本,有助于更好地进行权重分配。为了修改模板向量,引入了对日志模板标记权重的方法,并利用深度神经网络(DNN)实现了基于模板修正向量的最终检测。我们的模型在三个数据集上进行了有效性测试,并与两个最先进的模型进行了比较,评估结果表明,我们的模型具有更高的准确度。
日志是记录操作系统等IT领域中的操作状态的主要方法之一,是识别系统是否处于健康状态的重要资源。因此,对日志做出准确的异常检测非常重要。日志异常一般有三种类型,即异常个体日志、异常日志序列和异常日志定量关系。我们主要是识别异常个体日志,即包含异常信息的日志。
一般来说,日志的异常检测包括三个步骤:日志解析、特征提取和异常检测。
1)解析工具提取的模板是文本数据,应将其转换为数字数据,以便于输入到模型中。为此,特征提取对于获得模板的数字表示是必要的。
2)在模板特征提取方面,业界提出了多种方法来完成这一任务。独热编码是最早和最简单的方法之一,可以轻松地将文本模板转换为便于处理的数字表示,但是独热编码是一种效率较低的编码方法,它占用了太多的储存空间来形成一个零矢量,而且在使用独热编码时,忽略了日志模板的语义信息。除了这种方便的编码方法外,越来越多的研究人员应用自然语言处理(NLP)技术来实现文本的数字转换,其中包括词袋,word2vec等方法。虽然上述方法可以实现从文本数据到数字数据的转换,但在日志异常检测方面仍然存在一些缺陷。词袋和word2vec考虑到模板的语义信息,可以有效地获得单词向量,但是它们缺乏考虑模板中出现的每个模版词的重要性调节能力。此外,深度神经网络(DNN)也被用于模板的特征提取。
我们的模型主要改进特征提取,同时考虑每个标记的模版词语义信息和权重分配,因为标记结果对最终检测的重要性不同。我们利用两种自然语言处理技术即PoS和命名实体识别(NER),通过以下步骤实现了模板特征的提取。
具体来说,首先通过FTTree将原始日志消息解析为日志模板,然后通过PoS工具对模板进行处理,获得模板中每个词的PoS属性,用于权重向量计算。同时,通过word2vec将模板中的标记向量化为初始模板向量,并利用权值向量对初始模板向量进行进一步修改,那些重要的模版词的PoS属性将有助于模型更好地理解日志含义。对于标记完PoS属性的模版词,词对异常信息识别的重要性是不同的,我们使用NER在模版的PoS属性中找出重要性高的模版词,并且被NER识别为重要的模版词将获得更大的权重。然后,将初始模板向量乘以这个权重向量,生成一个复合模板向量,输入到DNN模型中,得到最终的异常检测结果。为了减少对日志解析的人力投入,并为权重计算做准备,我们采用了PoS分析方法,在不引入模板提取规则的情况下,对每个模板词都标记一个PoS属性。
解析模板的特征提取过程是异常检测的一个重要步骤,特征提取的主要目的是将文本格式的模板转换为数字向量,业界提出了各种模板特征提取方法:
Onehot编码:在DeepLog中,来自一组k模板ti,i〔0,k)的每个输入日志模板都被编码为一个Onehot编码。在这种情况下,对于日志的重要信息ti构造了一个稀疏的k维向量V〔v0,v1,。。。,vk1〕,并且满足j不等于i,j〔0,k),使得对于所有vi1和vj0。
自然语言处理(NLP):为了提取日志模板的语义信息并将其转换为高维向量,LogRobust利用现成的FastText算法从英语词汇中提取语义信息,能够有效地捕捉自然语言中词之间的内在关系(即语义相似性),并将每个词映射到一个k维向量。使用NLP技术的各种模型也被业界大部分人使用,如word2vec和bagofwords。
深度神经网络(DNN):与使用word2vec或FastText等细粒度单元的自然语言处理(NLP)不同,LogCNN生成基于29x128codebook的日志嵌入,该codebook是一个可训练的层,在整个训练过程中使用梯度下降进行优化。
Template2Vec:是一种新方法,基于同义词和反义词来有效地表示模板中的词。在LogClass中,将经典的加权方法TFIDF改进为TFILF,用逆定位频率代替逆文档频率,实现了模板的特征构造。
3)一段原始日志消息是一个半结构化的文本,比如一个从在线支付应用程序收集的错误日志读取为:HttpUtilrequest连接失败,Readtimeoutatjave。net。它通常由两部分组成,变量和常量(也称为模板)。对于识别个体日志的异常检测,目的是从原始日志解析的模板中识别是否存在异常信息。我们的模型使用PoS分析以及NER技术来进行更精确和省力的日志异常检测。PoS有助于过滤标记有不必要的PoS属性的模版词,NER的目标是将重要性分配给所有标记为重要的PoS属性的模版词。然后通过模板向量和权向量的乘积得到复合模板向量。
我们的日志异常检测模型包括六个步骤,即模板解析、PoS分析、初始向量构造、基于NER的权重计算、复合向量和最终检测。检测的整个过程如图1所示:
第一步:模板解析
初始日志是半结构化的文本,它们包含一些不必要的信息,可能会造成混乱或阻碍日志检测。因此,需要预处理来省略变量,比如一些数字或符号,并提取常量,即模板。以前面提到的日志消息为例,原始日志HttpUtilrequest连接〔wxv1payprepay〕的模板失败,Readtimeoutatjave。net。可以提取为:HttpUtil请求连接失败读取时间为。我们使用简单而有效的方法FTTree来实现日志解析,我们没有引入复杂的基于规则的规则来去除那些不太重要的标记,比如停止词。
第二步:PoS分析
上一步的模版解析结果只有英语单词、短语和一些非母语单词保留在解析好的模板中,这些模版词具有各种PoS属性,例如VB和NN。根据我们对大量日志模板的观察,一些PoS属性对于模型理解模板所传达的意义很重要,而其他属性可以忽略。如图3所示,解析模板中的单词at在理论上是不必要的,相应的PoS属性IN也是不必要的,即使去掉IN的标记,我们仍然可以判断模板是否正常。因此,在我们得到了PoS向量之后,我们可以通过去掉那些具有特定PoS属性的模版词来简化模板。剩余的模版词对于模型更好地理解模板内容非常重要。
第三步:初始模板向量构造
在获得PoS矢量的同时,模板也被编码成数字向量。为了考虑模板的语义信息,在模型中使用word2vec来构造模板的初始向量。该初始向量将与下一步得到的权重向量相乘,得到模板的复合优化表示。
第四步:权重分析
首先对模板中的模版词进行PoS分析处理,剔除无意义的模版词。至于其余的模版词,有些是关键的,用于传达基本信息,如服务器操作、健康状态等。其他的可能是不太重要的信息,比如动作的对象、警告级别等等。为了加大模型对这些重要模版词的学习力度,我们构造了一个权重向量来突出这些重要的模版词。为此,我们采用了NER技术,通过输入已定义的重要实体,学习挑选标记为重要实体的所有模版词。该过程如图所示:
CRF是NER通常使用的工具,它也被用于我们的模型识别模版词的重要性。也就是说,通过向模型提供标记为重要的模版词,模型可以学习识别那些未标注的日志的重要的模版词。一旦模板中的模版词被CRF识别出来,相应的位置就会赋予一个权重值(2。0)。因此,我们得到一个权向量W。
第五步:复合向量
在获得权重向量W之后,通过将初始向量V’乘以权重向量W,可以得到一个表示模板的复合优化向量V。重要的模版词分配更大权重,而其他的模版词分配更小的。
第六步:异常检测
将第五步得到的复合矢量v输入到最终全连接层中,以便进行异常检测。完全连通层的输出分别为0或1,表示正常或异常。
模型评估
我们通过实验验证了该模型对日志异常检测的改进效果。采用了两个公共数据集,以及一套我们内部数据集,来验证我们模型的实用性。我们将自己的结果与业界针对日志异常检测提出的两个Deeplog和LogClass模型进行了比较。
CANet的框架是用PyTorch构建的,我们在35个训练周期中选择新加坡随机梯度下降(SGD)作为优化器。学习速度设定为2e4。所有的超参数都是从头开始训练的。
(1)数据集:我们选取了两套公共集和一套公司内部数据集进行模型评估,BGL和HDFS都是用于日志分析的两个常用公共数据集:HDFS:是从运行基于Hadoop的作业的200多个AmazonEC2节点收集的。它由11,175,629条原始日志消息组成,16,838条被标记为异常。BGL:收集自BlueGeneL超级计算机系统,包含4,747,963条原始日志消息,其中348,469条是异常日志。每条日志消息都被手动标记为异常或者正常。数据集A:是从我们公司内部收集来进行实际验证的数据集。它包含915,577条原始日志消息和210,172条手动标记的异常日志。
(2)base模型:我们将自己的模型在三个数据集上,与两个业界最先进的模型(DeepLog和LogClass)进行比较:DeepLog:是一个基于深度神经网络的模型,利用长短期记忆(LSTM)来实现检测。DeepLog采用一次性编码作为模板向量化方法。LogClass:LogClass提出了一种新的方法逆定位频率(ILF),在特征构造中对日志文字进行加权。这种新的加权方法不同于现有的反文档频率(IDF)加权方法。
(3)模型评估结果:我们从Precision、Recall和F1score三个方面评估两个base模型和我们的模型的异常检测效果,在HDFS数据集上,我们的模型获得了最高的F1得分0。981,此外,我们的模型在召回方面也表现最好。LogClass在Precision上取得了最好的成绩,比我们的稍微高一点。在第二套数据集BGL上,我们的模型在召回率Recall(0。991)和F1score(0。986)方面表现最好,但在Precision上略低于LogClass。在第三套数据集A上三个模型的性能,我们的模型实现了最佳性能,其次是LogClass。
在所有的数据集中,我们的模型具有最好的F1得分和最高的召回率,这意味着我们的模型造成的不确定性更小。
NaturalLanguageProcessingbasedModelforLogAnomalyDetection。SEAI。
ieeexplore检索:https:ieeexplore。ieee。orgabstractdocument9680175
Themis智能运维平台智能文本分析功能视图:(http:jdtops。jd。com)
今天开始!这些人可以退钱了注意!2022年度个人所得税综合所得汇算清缴今天(3月1日)开始很多网友在3月1日凌晨申请退税纷纷晒出自己的退税金额有的人退税金额超过万元直呼真香!不过,也有人需要补税2022年度
三大运营商集体拉升业内防范股价回调风险上市公司观察在数字经济的提振下,2月28日,计算机通信等行业板块早盘领涨,其中三大通信运营商集体拉升,盘中,中国电信涨幅超8,中国联通涨超6,中国移动涨超4。此外,三大运营商5G用
如何提高口算的正确率口算,孩子们每天都是必做一页。孩子上一年级开始,口算没有间断过,每个数学老师都让孩子们买一本口算题卡。可是考试的时候,口算依然还是有错误。有的家长甚至在家里还给孩子再买一本,可是我
参观浙江乌镇遇见作者张德富参观浙江乌镇遇见作者张德富江南的乌镇。同里,绍兴,熟悉的名字,梦境悠悠。城如同威尼斯,散播在水中,有着造型独特,感觉古老水巷似水包围起,给人一种历历沧桑之感。闪现壮观,熟悉的山现绍
沪指半日涨0。17贵金属板块领涨中证网讯(记者李莉)3月3日早盘,A股三大指数涨跌不一。据同花顺数据,截至午间收盘,上证指数涨0。17,报3316。33点深证成指跌0。20,报11826。37点创业板指跌0。04
BLUR到底有多少洗售交易金色财经区块链3月1日讯最近几周,新贵NFT市场Blur已跻身这一领域的头部位置,通过代币化交易奖励,Blur超越了市场领导者OpenSea,然而过高的交易量也引发了加密市场的怀疑
已经接近3亿人存在失眠了!这其中包括你吗?失眠困扰3亿你是不是有这样的经历,在夜间12点时候,感觉自己应该要睡觉了,因为明天要上班,放下手机,开始入睡,可是总是进入不到睡眠状态下,打开手机一看,已经到了半夜1点钟,再接着迷
舌头有裂纹小病不断,大病缠身?首先第一个类型就是我们的舌头上不仅有裂纹,并且舌头还爱非常红,舌苔有比较少,平时容易口干口苦,脸上还容易长痤疮,有时候还手脚心发热,胸闷烦躁,这多见是阴虚火旺,灼伤了我们体内的阴液
春困不能光睡觉祛湿升阳动起来春天来了,有点春困?中医专家告诉你,解决春困不是靠多睡觉,而应该祛湿升阳气,适当动起来!为何春困?多因脾虚湿困为何天气潮湿会令人感觉春困?广东省中医院皮肤科主任医师闫玉红解释,当空
莫斯科地铁大环线全线通车3月1日,在俄罗斯莫斯科,人们走在莫斯科地铁大环线的一处地铁站内。当日,莫斯科地铁大环线实现全线开通运营。莫斯科地铁大环线全长71公里,包含31个站点。项目于2011年启动,202
基于幻塔手游,完美世界游戏发布移动光线追踪技术IT之家3月2日消息,MWC2023于2月27日至3月2日在西班牙巴塞罗那举行。在MWC2023的一加展区,完美世界游戏与一加正式发布了基于幻塔手游的移动光线追踪技术,并展示了幻塔