CN115048345A - 异常日志检测方法、装置、电子设备和存储介质 - Google Patents
异常日志检测方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115048345A CN115048345A CN202110251137.4A CN202110251137A CN115048345A CN 115048345 A CN115048345 A CN 115048345A CN 202110251137 A CN202110251137 A CN 202110251137A CN 115048345 A CN115048345 A CN 115048345A
- Authority
- CN
- China
- Prior art keywords
- log
- detected
- anomaly
- algorithm
- detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 162
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 59
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 129
- 230000004927 fusion Effects 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012549 training Methods 0.000 claims abstract description 14
- 230000005856 abnormality Effects 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 30
- 238000007477 logistic regression Methods 0.000 claims description 24
- 230000011218 segmentation Effects 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种异常日志检测方法、装置、电子设备和存储介质,其中方法包括:确定待检测日志的日志特征;基于异常检测模型,对所述日志特征进行多种不同算法下的异常检测,并对多种不同算法下的检测结果进行加权融合,得到异常检测结果,所述加权融合的权重是基于所述待检测日志中包含领域关键词的数量确定的;所述异常检测模型是基于样本日志的日志特征及其异常标签训练得到的。本发明提供的方法、装置、电子设备和存储介质,应用待检测日志中包含的领域关键词的数量确定加权融合的权重,从而对在多种不同算法下进行异常检测所得的检测结果进行融合,实现多算法融合的异常检测,从而确保了异常检测的准确性和可靠性。
Description
技术领域
本发明涉及运维业务支撑技术领域,尤其涉及一种异常日志检测方法、装置、电子设备和存储介质。
背景技术
随着5G(the 5th generation mobile communication,第五代移动通信)、物联网和大数据时代的到来,企业信息化***迎来爆发增长,运维日志***,运维人员面临的运维压力越来越大。
在网络运维中心,运维工程师们每天将要面对成千上万条日志数据,传统的运维方式是基于人为经验判定日志是否异常的方法,以及简单的基于固定规则的日志异常判定方法。
然而,基于人为经验无法准确地识别异常日志,基于人工规则的方法也经常会出现误判,导致其他问题的出现,此外基于人工规则的判定体系,需要投入大量的人力和物力维护成本。
发明内容
本发明提供一种异常日志检测方法、装置、电子设备和存储介质,用以解决现有的异常日志检测方法可靠性差、错误率高的问题。
本发明提供一种异常日志检测方法,包括:
确定待检测日志的日志特征;
基于异常检测模型,对所述日志特征进行多种不同算法下的异常检测,并对多种不同算法下的检测结果进行加权融合,得到异常检测结果,所述加权融合的权重是基于所述待检测日志中包含领域关键词的数量确定的;
所述异常检测模型是基于样本日志的日志特征及其异常标签训练得到的。
根据本发明提供的一种异常日志检测方法,所述加权融合的权重是基于如下步骤确定的:
基于所述样本日志中包含的日志分词的总数、预先设定的领域关键词的总数,以及所述待检测日志中包含领域关键词的数量,确定各算法的算法权重;
基于各算法的算法权重,以及各算法下进行异常检测的准确率,确定所述加权融合的权重。
根据本发明提供的一种异常日志检测方法,所述多种不同算法包括逻辑回归算法和catboost算法;
所述基于所述样本日志中包含的日志分词的总数、预先设定的领域关键词的总数,以及所述待检测日志中包含领域关键词的数量,确定各算法的算法权重,包括:
基于如下公式确定各算法的算法权重:
式中,μ逻辑回归和μcatboost分别为逻辑回归算法和catboost算法的算法权重,N=n+k,n为所述样本日志中包含的日志分词的总数,k为预先设定的领域关键词的总数,p为所述待检测日志中包含领域关键词的数量。
根据本发明提供的一种异常日志检测方法,所述异常标签是基于如下步骤确定的:
确定各样本日志的日志特征;
对各样本日志的日志特征进行聚类,得到多个日志簇;
获取各日志簇的人工标签,将人工标签作为对应日志簇内各日志特征对应样本日志的异常标签。
根据本发明提供的一种异常日志检测方法,所述确定待检测日志的日志特征,包括:
对所述待检测日志进行文本分词,得到所述待检测日志的各分词;
对所述待检测日志的各分词进行领域关键词匹配,基于匹配结果确定关键词向量;
基于所述待检测日志的各分词的词向量,以及所述关键词向量,构建所述待检测日志的日志特征。
根据本发明提供的一种异常日志检测方法,所述各分词的词向量是基于词频和逆文本频率指数确定的。
根据本发明提供的一种异常日志检测方法,所述对所述待检测日志进行文本分词,之前还包括:
对所述待检测日志进行去异常符号和中文信息提取;
基于去异常符号后的日志文本和提取所得的中文信息,重构所述待检测日志。
本发明还提供一种异常日志检测装置,包括:
特征提取单元,用于确定待检测日志的日志特征;
异常检测单元,用于基于异常检测模型,对所述日志特征进行多种不同算法下的异常检测,并对多种不同算法下的检测结果进行加权融合,得到异常检测结果,所述加权融合的权重是基于所述待检测日志中包含领域关键词的数量确定的;
所述异常检测模型是基于样本日志的日志特征及其异常标签训练得到的。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述异常日志检测方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述异常日志检测方法的步骤。
本发明提供的异常日志检测方法、装置、电子设备和存储介质,应用待检测日志中包含的领域关键词的数量确定加权融合的权重,从而对在多种不同算法下进行异常检测所得的检测结果进行融合,实现多算法融合的异常检测,从而确保了异常检测的准确性和可靠性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的异常日志检测方法的流程示意图之一;
图2是本发明提供的权重确定方法的流程示意图;
图3是本发明提供的异常检测模型构建方法的流程示意图;
图4是本发明提供的异常检测模型的结构示意图;
图5是本发明提供的异常日志检测装置的结构示意图;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对于网络运维***的日志异常检测工作,基于人为经验无法准确地识别异常日志,基于人工规则的方法也经常会出现误判,导致其他问题的出现,此外基于人工规则的判定体系,需要投入大量的人力和物力维护成本。而借助机器学习算法实现异常日志既能提高准确率,同时又能覆盖大范围运维场景,进而能够节省大量的人力和物力成本。
异常日志识别准确率的提升对运维工作效率也具备明显的提升效果,并能为企业节省大量的人力物力。然而,由于日志数据复杂多变,传统单一的机器学习算法准确率较低,对此,本发明实施例提供一种异常日志检测方法。
图1是本发明提供的异常日志检测方法的流程示意图之一,如图1所示,该方法包括:
步骤110,确定待检测日志的日志特征。
具体地,待检测日志即需要进行异常日志检测的日志,待检测日志可以是直接从网络运维***中拉取的日志,也可以是经过数据预处理之后的日志,本发明实施例对此不作限定。
此处所指的日志可以包括网络运维***的标准输出和文本日志,其中标准输出包括:通过STDOUT、STDERR输出的信息,包括被重定向到标准输出的文本内容等。文本日志包括存在于内部的日志文件并且没有被重定向到标准输出,上述日志有可能通过挂载宿主机目录或者挂载到远程存储中心。
日志特征即对应日志的向量表示,日志特征用于表征对应日志的特征,例如日志特征可以包含对应日志中各个分词的词向量,可以反应对应日志中是否存在关键词、存在关键词的数量等,本发明实施例对此不作具体限定。
步骤120,基于异常检测模型,对所述日志特征进行多种不同算法下的异常检测,并对多种不同算法下的检测结果进行加权融合,得到异常检测结果,所述加权融合的权重是基于所述待检测日志中包含领域关键词的数量确定的;
所述异常检测模型是基于样本日志的日志特征及其异常标签训练得到的。
此处的异常检测模型融合了多种异常检测算法,因此可以弥补单一算法使用时准确率不理想的问题,基于多种不同的异常检测算法对待检测日志的日志特征进行检测,可以得到多个检测结果,每个检测结果对应一种异常检测算法。在此基础上,异常检测模型还需对各个异常检测算法下的检测结果进行汇总融合,从而得到最终的异常检测结果。
进一步地,异常检测模型在对多个检测结果进行汇总融合时,可以采用加权求和的方式,而加权求和的权重可以是根据待检测日志中包含的领域关键词的数量确定的。此处所指的领域关键词是预先设定好的网络运维领域的日志关键词,例如“故障”、“Error”、“高峰”、“超过”等。
考虑到不同的异常检测算法各有侧重,例如逻辑回归算法中的正则化特性对于大型矩阵有较高的计算效率,catboost算法对于有分类型特征和连续型特征的数据具有较高的准确率,可以根据输入的待检测日志的日志特征中是否存在较为突出的特征,判断具体使用何种算法进行异常检测可能具有更高的准确率。
此时,待检测日志中包含的领域关键词的数量即可以作为判断日志特征所反映特征突出程度的指标,待检测日志中包含的领域关键词的数量越高,则日志特征所反映的特征越突出,采用偏向于有分类型特征的异常检测算法的准确率可能会高于采用偏向于大型矩阵计算的异常检测算法,对应可以提高偏向于有分类型特征的异常检测算法所得检测结果的权重,从而保证最终输出的异常检测结果的可靠性。
在执行步骤120之前,还可以预先训练得到异常检测模型,异常检测模型的训练可以通过如下步骤实现:首先,收集大量样本日志,确定各样本日志的日志特征,并通过人工标注的途径,获取样本日志的异常标签。在此基础上,基于样本日志的日志特征和异常标签对包含了多种异常检测算法的初始模型进行训练,将训练完成的初始模型作为异常检测模型。
本发明实施例提供的方法,应用待检测日志中包含的领域关键词的数量确定加权融合的权重,从而对在多种不同算法下进行异常检测所得的检测结果进行融合,实现多算法融合的异常检测,从而确保了异常检测的准确性和可靠性。
基于上述实施例,图2是本发明提供的权重确定方法的流程示意图,如图2所示,所述加权融合的权重是基于如下步骤确定的:
步骤210,基于所述样本日志中包含的日志分词的总数、预先设定的领域关键词的总数,以及所述待检测日志中包含领域关键词的数量,确定各算法的算法权重。
具体地,样本日志中包含的日志分词的总数可以理解为在异常日志检测过程中可识别的分词的总数,预先设定的领域关键词包含在日志分词中。结合样本日志中包含的日志分词的总数、预先设定的领域关键词的总数,以及待检测日志中包含领域关键词的数量,即可衡量待检测日志的日志特征所表征特征的突出程度,进而确定各算法的算法权重,即各算法应用于待检测日志的异常检测的适配程度。
步骤220,基于各算法的算法权重,以及各算法下进行异常检测的准确率,确定所述加权融合的权重。
具体地,在确定各算法下的检测结果的加权融合的权重时,不仅要考虑各算法应用于待检测日志的异常检测的适配程度,还需要考虑各算法本身应用在异常检测时的准确率,可以将此两者进行综合衡量。例如,可以将任一算法的算法权重与该算法下进行异常检测的准确率的乘积,作为该算法下的检测结果的加权融合的权重。
进一步地,各算法下进行异常检测的准确率可以在完成各算法对应的异常检测子模型训练后,对各异常检测子模型进行测试得到。
基于上述任一实施例,所述多种不同算法包括逻辑回归算法和catboost算法。
具体地,catboost算法对于有分类型特征和连续型特征的数据具有较高的准确率,因此在待检测日志的日志特征中包含了更多领域关键词的特征的情况下,可以对应增加catboost算法基于日志特征该部分矩阵的精确度优先级。
相应地,步骤210具体包括:
基于如下公式确定各算法的算法权重:
式中,μ逻辑回归和μcatboost分别为逻辑回归算法和catboost算法的算法权重,N=n+k,n为所述样本日志中包含的日志分词的总数,k为预先设定的领域关键词的总数,p为所述待检测日志中包含领域关键词的数量,0<p<k。此处,在计算μcatboost时,可以通过2*p拉高catboost算法下的检测结果的权重,避免其余算法权重拉低整体预测结果所造成的影响。
基于上述任一实施例,步骤120中,所述对多种不同算法下的检测结果进行加权融合,得到异常检测结果,包括:
基于如下公式确定异常检测结果:
其中,S1为逻辑回归算法的分类准确率,S2为catboost算法的分类准确率。
例如,分别采用逻辑回归和catboost算法对样本数据进行异常检测的分类结果如下:
通过上表结果可以计算得到逻辑回归和catboost算法分别对应的分类准确率S1和S2(以上表中的数据为例,S1=S2=0.57)。
当存在5条日志数据(m=5),n=50,k=30,N=80,S1=S2=0.57,每条日志数据中包含领域关键词的数量p分别为:25、10、0、5、0,对应的计算结果及预测结果如下表所示:
应用有监督学习的方式进行异常检测,比较明显的缺点是需要提前人工标注异常日志。企业实际运维场景当中,运维工程师每天需要面对大量的机器,很难对机器生成的日志进行批量标注。并且在实际标注过程中,标注结果受现场实际运维人员经验以及现场环境影响较大,工作经验比较丰富的同事对机器生成的异常日志漏判的风险较低,而工作经验较少的同事对于异常的日志把控不准,存在漏判误判的风险,无法达到比较理想的判定效果。
针对这一问题,基于上述任一实施例,异常标签是基于如下步骤确定的:
确定各样本日志的日志特征;
对各样本日志的日志特征进行聚类,得到多个日志簇;
获取各日志簇的人工标签,将人工标签作为对应日志簇内各日志特征对应样本日志的异常标签。
具体地,在收集到大量样本日志之后,可以分别确定各个样本日志的日志特征。在此基础上,可以对样本日志的日志特征进行无监督聚类,从而得到多个日志簇,每个日志簇中均可以包括多个相似的日志特征,通过对大量样本日志进行聚类,可以降低日志区分的复杂度。随即可以结合人为经验,确定聚类结果的某一个或者多个簇为异常,由此可以实现样本日志的批量标注,大大缩减了人为打标的工作量。
进一步地,对各样本日志的日志特征进行聚类可以通过K-means算法实现,具体实现步骤如下:
假设各样本日志的日志特征表示为{x(1),...,x(m)},每个日志特征x(i)∈Rn,可以从中随机选取k个聚类质心点(cluster centroids)为μ1,μ2,...,μk∈Rn。
随后,重复如下过程,直至收敛:
{对于每一个样例i,计算其应该属于的类
对于每一个类j,重新计算该类的质心:
基础日志数量为m条,聚类完成后,生成n个类别,即n个日志簇,其中n<<m,通常情况下,n不大于100。基于此流程,通过对大量日志聚类,降低日志区分复杂度,大大缩减后续人为打标工作量。
基于上述任一实施例,步骤110包括:
对所述待检测日志进行文本分词,得到所述待检测日志的各分词;
对所述待检测日志的各分词进行领域关键词匹配,基于匹配结果确定关键词向量;
基于所述待检测日志的各分词的词向量,以及所述关键词向量,构建所述待检测日志的日志特征。
具体地,在日志特征的生成过程中,通过对待检测日志中各分词进行领域关键词匹配,确定待检测日志中包含的领域关键词作为匹配结果,从而基于待检测日志中包含领域关键词的情况构建关键词向量,并在构建日志向量时,加入关键词向量。
此处所指的关键词向量中,可以用“0”、“1”表示对应领域关键词是否存在于待检测日志中。假设预先设定有共30个领域关键词,则关键词向量可以是长度为30的向量,其中每一位对应一个领域关键词的有无。
基于上述任一实施例,所述各分词的词向量是基于各分词的词频和逆文本频率指数确定的。
具体地,针对一份给定的文件,词频(term frequency,TF)指的是某一个给定的词语在该文件中出现的频率。进一步地,词频是对词数(term count)的归一化,以防止它偏向长的文件。对于在某一特定文件里的词语ti,其词频可以表示为:
式中,ni,j是该词ti在文件dj中的出现次数,∑knk,j则是在文件dj中所有字词的出现次数之和。
逆文本频率指数(inverse document frequency,IDF)是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到:
其中,|D|为语料库当中的文件总数,|{j:ti∈dj}|为包含词语ti的文件数目(即ni,j≠0的文件数目)。如果该词语不在语料库中,就会导致被除数为零,因此一般情况下使用1+|{j:ti∈dj}|。
对应到本发明实施例中,可将待检测日志视为给定的文件,从而计算其中各分词的词频,并基于包括待检测日志和所有样本日志在内的所有日志构建语料库,以计算各分词的逆文本频率指数。在此基础上,可以通过如下公式得到各分词的词向量:
tfidfi,j=tfi,j×idfi
式中,tfidfi,j即各分词的TFIDF权重,可将TFIDF权重直接作为各分词的词向量。
例如,下表示出3个日志:
分别对上述3个日志进行文本分词,得到3个日志的分词结果:
在此基础上,分别计算其中各个分词的TFIDF权重,从而得到对应的词向量矩阵:
在此基础上,结合关键词向量,即可得到3个日志的日志特征:
日志ID | ...... | 专用 | 为 | 其中 | 后台 | 处理 | 平台 | ...... | 故障 | Error | ...... | 高峰 |
1 | ...... | 0.2049 | 0.2049 | 0.2049 | 0.2049 | 0.2049 | 0.2049 | ...... | 1 | 0 | ...... | 1 |
2 | ...... | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | ...... | 0 | 0 | ...... | 1 |
3 | ...... | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | ...... | 0 | 1 | ...... | 0 |
基于上述任一实施例,步骤110中,在对所述待检测日志进行文本分词之前,还包括:
对所述待检测日志进行去异常符号和中文信息提取;
基于去异常符号后的日志文本和提取所得的中文信息,重构所述待检测日志。
具体地,去异常符号可以实现日志中异常符号的过滤,例如可以通过正则表达式进行过滤,正则表达式如下:
[^A-Za-z0-9]
去异常符号后的日志文本仅包括英文大小写字母和数字。
考虑到日志中大量的有用信息以中文的形式存在,故在本发明实施例中通过中文信息提取的方式,保留日志中的中文,以便于后续与其他信息进行组合。例如可以通过正则表达式将中文信息进行提取,正则表达式如下:
[u4e00-u9fa5]
在此基础上,可以将去异常符号后的日志文本和提取所得的中文信息进行重新组合,作为数据清洗后的待检测日志。
基于上述任一实施例,图3是本发明提供的异常检测模型构建方法的流程示意图,如图3所示,该方法包括如下步骤:
S1、样本日志采集:
网络运维***输出的日志可以由logging worker统一处理,不同的loggingworker会将标准输出写到不同的目的地。此处,默认logging worker会将日志以json格式写入宿主机文件中。
进一步地,采集所得的样本日志可以分为以下三种:
一种是节点日志文件落盘,可以通过volumeMounts形式挂载到宿主机目录。针对该日志信息可直接通过DanemonSet形式的Fluentd agent进行定向收集。
另一种是转储到远程日志存储中心的日志文件,可以通过volumeMounts形式挂载。
再一种是未持久化的日志文件,可以通过收集该类型的日志信息得到,需要浸入到具体的内部,定位到日志存放路径然后进行收集。收集方案是:将Fluentd以Sidecar模式运行在相应的内,具有较强的侵入性。
S2、样本日志数据处理:
此处的数据处理具体可以通过ElasticSearch实现,处理步骤具体包括进行数据清洗、对日志格式进行调整,将日志格式处理为索引加内容的形式。
S3、样本日志特征提取:
首先,可以对各样本日志进行去异常符号和中文信息提取,并基于去异常符号后的日志文本和提取所得的中文信息,重构各样本日志。
在此基础上,应用jieba分词工具将每一条样本日志划分为词组形式,并使用“/”作为分隔符。计算各样本日志中各分词的TFIDF权重作为各分词的词向量,并结合对各样本日志的各分词进行领域关键词匹配的结果确定的关键词向量,构建各样本日志的日志特征。
S4、样本日志聚类:
对各样本日志的日志特征进行聚类,得到多个日志簇。
S5、样本日志批量打标:
可以结合人为经验,确定聚类结果的某一个或者多个簇为异常,由此实现样本日志的批量标注。
S6、多算法训练和组合:
通常情况下,假设基分类器的错误率相互独立,则由Hoeffding不等式可知,集成多个分类器的错误率为:
上式显示出,随着集成算法中子分类器数目T的增大,集成的错误率将指数级下降,最终趋向于零。
基于以上理论,采用有逻辑回归、catboost等有监督算法,对以上算法进行加权融合:
其中,Fj(X)为第j条日志组合分类器,为第j条日志第i个算法的权重;为第j条日志第i个子分类器,Si为各个子分类器的准确率。本发明实施例中,K=2,分别表示逻辑回归和catboost分类器,X∈Rn。
采用以上加权融合方法将各个子模型如逻辑回归、catboost等组合在一起,使得算法能力得到提升。
图4是本发明提供的异常检测模型的结构示意图,如图4所示,异常检测模型可以包括逻辑回归和catboost,以及此两者检测结果的组合模块F(X)。图4中的new logs代表待检测日志的日志特征,经过F(X)输出的label即待检测日志的异常检测结果。
基于上述任一实施例,在完成异常检测模型的构建之后,可以通过计算算法精确率(precision)、召回率(recall)、F1-score进行模型评估,具体可以通过如下公式计算得到:
式中,TP即True Positive,表示真实为0,预测也为0的样本数量;FN即FalseNegative,表示真实为0,预测为1的样本数量;FP即False Positive,表示真实为1,预测为0的样本数量。
由此可以得到单独应用逻辑回归和catboost,以及加权融合逻辑回归和catboost时,异常检测模型的模型效果如下表所示:
算法名称 | 精确率 | 召回率 | F1-score |
逻辑回归 | 0.92 | 0.93 | 0.92 |
catboost | 0.93 | 0.95 | 0.93 |
加权融合 | 0.96 | 0.95 | 0.95 |
由此可见,基于加权融合方案的异常检测模型具有更优的模型效果。
基于上述任一实施例,图5是本发明提供的异常日志检测装置的结构示意图,如图5所示,该装置包括:
特征提取单元510,用于确定待检测日志的日志特征;
异常检测单元520,用于基于异常检测模型,对所述日志特征进行多种不同算法下的异常检测,并对多种不同算法下的检测结果进行加权融合,得到异常检测结果,所述加权融合的权重是基于所述待检测日志中包含领域关键词的数量确定的;
所述异常检测模型是基于样本日志的日志特征及其异常标签训练得到的。
本发明实施例提供的装置,应用待检测日志中包含的领域关键词的数量确定加权融合的权重,从而对在多种不同算法下进行异常检测所得的检测结果进行融合,实现多算法融合的异常检测,从而确保了异常检测的准确性和可靠性。
基于上述任一实施例,所述装置还包括权重确定单元,用于:
基于所述样本日志中包含的日志分词的总数、预先设定的领域关键词的总数,以及所述待检测日志中包含领域关键词的数量,确定各算法的算法权重;
基于各算法的算法权重,以及各算法下进行异常检测的准确率,确定所述加权融合的权重。
基于上述任一实施例,所述多种不同算法包括逻辑回归算法和catboost算法;
所述权重确定单元具体用于:
基于如下公式确定各算法的算法权重:
式中,μ逻辑回归和μcatboost分别为逻辑回归算法和catboost算法的算法权重,N=n+k,n为所述样本日志中包含的日志分词的总数,k为预先设定的领域关键词的总数,p为所述待检测日志中包含领域关键词的数量。
基于上述任一实施例,所述装置还包括打标单元,用于:
确定各样本日志的日志特征;
对各样本日志的日志特征进行聚类,得到多个日志簇;
获取各日志簇的人工标签,将人工标签作为对应日志簇内各日志特征对应样本日志的异常标签。
基于上述任一实施例,特征提取单元510用于:
对所述待检测日志进行文本分词,得到所述待检测日志的各分词;
对所述待检测日志的各分词进行领域关键词匹配,基于匹配结果确定关键词向量;
基于所述待检测日志的各分词的词向量,以及所述关键词向量,构建所述待检测日志的日志特征。
基于上述任一实施例,所述各分词的词向量是基于词频和逆文本频率指数确定的。
基于上述任一实施例,特征提取单元510还用于:
对所述待检测日志进行去异常符号和中文信息提取;
基于去异常符号后的日志文本和提取所得的中文信息,重构所述待检测日志。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行异常日志检测方法,该方法包括:确定待检测日志的日志特征;基于异常检测模型,对所述日志特征进行多种不同算法下的异常检测,并对多种不同算法下的检测结果进行加权融合,得到异常检测结果,所述加权融合的权重是基于所述待检测日志中包含领域关键词的数量确定的;所述异常检测模型是基于样本日志的日志特征及其异常标签训练得到的。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的异常日志检测方法,该方法包括:确定待检测日志的日志特征;基于异常检测模型,对所述日志特征进行多种不同算法下的异常检测,并对多种不同算法下的检测结果进行加权融合,得到异常检测结果,所述加权融合的权重是基于所述待检测日志中包含领域关键词的数量确定的;所述异常检测模型是基于样本日志的日志特征及其异常标签训练得到的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的异常日志检测方法,该方法包括:确定待检测日志的日志特征;基于异常检测模型,对所述日志特征进行多种不同算法下的异常检测,并对多种不同算法下的检测结果进行加权融合,得到异常检测结果,所述加权融合的权重是基于所述待检测日志中包含领域关键词的数量确定的;所述异常检测模型是基于样本日志的日志特征及其异常标签训练得到的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选取其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种异常日志检测方法,其特征在于,包括:
确定待检测日志的日志特征;
基于异常检测模型,对所述日志特征进行多种不同算法下的异常检测,并对多种不同算法下的检测结果进行加权融合,得到异常检测结果,所述加权融合的权重是基于所述待检测日志中包含领域关键词的数量确定的;
所述异常检测模型是基于样本日志的日志特征及其异常标签训练得到的。
2.根据权利要求1所述的异常日志检测方法,其特征在于,所述加权融合的权重是基于如下步骤确定的:
基于所述样本日志中包含的日志分词的总数、预先设定的领域关键词的总数,以及所述待检测日志中包含领域关键词的数量,确定各算法的算法权重;
基于各算法的算法权重,以及各算法下进行异常检测的准确率,确定所述加权融合的权重。
4.根据权利要求1所述的异常日志检测方法,其特征在于,所述异常标签是基于如下步骤确定的:
确定各样本日志的日志特征;
对各样本日志的日志特征进行聚类,得到多个日志簇;
获取各日志簇的人工标签,将人工标签作为对应日志簇内各日志特征对应样本日志的异常标签。
5.根据权利要求1至4中任一项所述的异常日志检测方法,其特征在于,所述确定待检测日志的日志特征,包括:
对所述待检测日志进行文本分词,得到所述待检测日志的各分词;
对所述待检测日志的各分词进行领域关键词匹配,基于匹配结果确定关键词向量;
基于所述待检测日志的各分词的词向量,以及所述关键词向量,构建所述待检测日志的日志特征。
6.根据权利要求5所述的异常日志检测方法,其特征在于,所述各分词的词向量是基于词频和逆文本频率指数确定的。
7.根据权利要求5所述的异常日志检测方法,其特征在于,所述对所述待检测日志进行文本分词,之前还包括:
对所述待检测日志进行去异常符号和中文信息提取;
基于去异常符号后的日志文本和提取所得的中文信息,重构所述待检测日志。
8.一种异常日志检测装置,其特征在于,包括:
特征提取单元,用于确定待检测日志的日志特征;
异常检测单元,用于基于异常检测模型,对所述日志特征进行多种不同算法下的异常检测,并对多种不同算法下的检测结果进行加权融合,得到异常检测结果,所述加权融合的权重是基于所述待检测日志中包含领域关键词的数量确定的;
所述异常检测模型是基于样本日志的日志特征及其异常标签训练得到的。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述异常日志检测方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述异常日志检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110251137.4A CN115048345A (zh) | 2021-03-08 | 2021-03-08 | 异常日志检测方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110251137.4A CN115048345A (zh) | 2021-03-08 | 2021-03-08 | 异常日志检测方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115048345A true CN115048345A (zh) | 2022-09-13 |
Family
ID=83156661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110251137.4A Pending CN115048345A (zh) | 2021-03-08 | 2021-03-08 | 异常日志检测方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115048345A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116015979A (zh) * | 2023-02-23 | 2023-04-25 | 网思科技股份有限公司 | 一种智能安全态势感知方法、***和存储介质 |
-
2021
- 2021-03-08 CN CN202110251137.4A patent/CN115048345A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116015979A (zh) * | 2023-02-23 | 2023-04-25 | 网思科技股份有限公司 | 一种智能安全态势感知方法、***和存储介质 |
CN116015979B (zh) * | 2023-02-23 | 2023-06-16 | 网思科技股份有限公司 | 一种智能安全态势感知方法、***和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992490B (zh) | 一种数据处理方法以及数据处理设备 | |
CN110826648B (zh) | 一种利用时序聚类算法实现故障检测的方法 | |
US10789225B2 (en) | Column weight calculation for data deduplication | |
CN112148772A (zh) | 告警根因识别方法、装置、设备和存储介质 | |
US10878335B1 (en) | Scalable text analysis using probabilistic data structures | |
CN104834651B (zh) | 一种提供高频问题回答的方法和装置 | |
US11003695B2 (en) | Method, apparatus and article of manufacture for categorizing computerized messages into categories | |
CN113254255B (zh) | 一种云平台日志的分析方法、***、设备及介质 | |
CN111104242A (zh) | 基于深度学习的操作***的异常日志的处理方法及装置 | |
CN113657461A (zh) | 基于文本分类的日志异常检测方法、***、设备及介质 | |
CN112685324A (zh) | 一种生成测试方案的方法及*** | |
CN115758183A (zh) | 日志异常检测模型的训练方法及装置 | |
WO2023129339A1 (en) | Extracting and classifying entities from digital content items | |
US11822578B2 (en) | Matching machine generated data entries to pattern clusters | |
CN115048345A (zh) | 异常日志检测方法、装置、电子设备和存储介质 | |
CN110019193B (zh) | 相似帐号识别方法、装置、设备、***及可读介质 | |
CN112256517B (zh) | 基于lstm-dssm的虚拟化平台的日志分析方法及装置 | |
JP7470235B2 (ja) | 語彙抽出支援システムおよび語彙抽出支援方法 | |
CN112579781A (zh) | 文本归类方法、装置、电子设备及介质 | |
CN113778792B (zh) | 一种it设备的告警归类方法及*** | |
Hacker et al. | A markov random field based approach for analyzing supercomputer system logs | |
CN115169490A (zh) | 一种日志分类方法、装置、设备及计算机可读存储介质 | |
CN113535458A (zh) | 异常误报的处理方法及装置、存储介质、终端 | |
Gaykar et al. | A Hybrid Supervised Learning Approach for Detection and Mitigation of Job Failure with Virtual Machines in Distributed Environments. | |
CN112084306A (zh) | 一种敏感词挖掘方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |