CN113032226A - 异常日志的检测方法、装置、电子设备及存储介质 - Google Patents

异常日志的检测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113032226A
CN113032226A CN202110588358.0A CN202110588358A CN113032226A CN 113032226 A CN113032226 A CN 113032226A CN 202110588358 A CN202110588358 A CN 202110588358A CN 113032226 A CN113032226 A CN 113032226A
Authority
CN
China
Prior art keywords
log
abnormal
template
target
historical
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
Application number
CN202110588358.0A
Other languages
English (en)
Inventor
易存道
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baolande Software Co ltd
Original Assignee
Beijing Baolande Software Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baolande Software Co ltd filed Critical Beijing Baolande Software Co ltd
Priority to CN202110588358.0A priority Critical patent/CN113032226A/zh
Publication of CN113032226A publication Critical patent/CN113032226A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/374Thesaurus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供的一种异常日志的检测方法、装置、电子设备及存储介质,通过提取目标日志的目标日志模板;通过异常日志词库模型,计算所述目标日志模板的异常分数值;若所述异常分数值大于预设阈值,确定所述目标日志为异常日志;实现了通过异常日志词库模型计算日志模板的异常分数值,最终确定日志是否异常,检测方法简单高效,通过每一词语的分数值确定日志模板的异常分数值,具有可解释性较好的特点。

Description

异常日志的检测方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种异常日志的检测方法、装置、电子设备及存储介质。
背景技术
现有的应用生产系统中,日志分析作为运维人员生产系统故障问题排查,定位原因的最重要途径之一,生产系统发生严重故障,在日志中往往会打印出关键的异常信息帮助运维人员定位。
在实际生产中日志虽然是作为重要的问题诊断方法之一,但是存在着日志数据量大,日志种类多,重复内容多等特点,传统人工运维方式应用小的生产集群尚可,对于超大型的集群,人力往往需要日志分析工具辅助进行分析。目前常用的异常日志分析方式有DeepLog和Logrobust,其中,DeepLog可以对有着规律的运行模式的日志进行检测,但检测过程为黑箱;Logrobust检测过程中,需要对所有原始日志进行打标和训练,工作量较大。
由此可见,目前的异常日志检测方法存在着对日志格式要求高、检测方法复杂、效率较低,且由于检测过程为黑箱,导致检测结果解释性差的问题。
发明内容
本发明提供一种异常日志的检测方法、装置、电子设备及存储介质,用以解决现有技术中异常日志检测方法存在着对日志格式要求高、检测方法复杂、效率较低,且由于检测过程为黑箱,导致检测结果解释性差的问题,实现了通过异常日志词库模型计算日志模板的异常分数值,最终确定日志是否异常,检测方法简单高效,通过每一词语的分数值确定日志模板的异常分数值,具有可解释性较好的特点。
本发明提供的一种异常日志的检测方法,包括:
提取目标日志的目标日志模板;
通过异常日志词库模型,计算所述目标日志模板的异常分数值;其中,所述异常日志词库模型是基于历史日志与所述历史日志对应的历史日志模板中任一词语对应的分数值训练得到的;
若所述异常分数值大于预设阈值,确定所述目标日志为异常日志。
进一步的,根据本发明提供的一种异常日志的检测方法,所述通过异常日志词库模型,计算所述目标日志模板的异常分数值,包括:
将所述目标日志模板导入异常日志词库模型,确定所述目标日志模板中任一词语的分数值;
根据所述任一词语的分数值,基于算数平均方法,计算所属目标日志模板的异常分数值。
进一步的,根据本发明提供的一种异常日志的检测方法,所述提取目标日志的目标日志模板,包括:
提取出目标日志中的变量;
将所述变量替换为预设符号,通过Drain3算法,得到所述目标日志的目标日志模板。
进一步的,根据本发明提供的一种异常日志的检测方法,所述通过异常日志词库模型,确定所述目标日志模板的异常分数值之前,还包括:
确定任一历史日志为异常或正常;
提取任一历史日志的历史日志模板,并为任一历史日志模板添加标记;其中,历史日志为异常时添加第一标记,历史日志为正常时添加第二标记;
将具有相同标记的历史日志模板进行合并,生成两组历史日志样本;
通过TF-IDF算法,确定两组历史日志样本中任一词语的分数值,建立异常日志词库模型。
进一步的,根据本发明提供的一种异常日志的检测方法,所述提取任一历史日志的历史日志模板之前,还包括:
对所述历史日志进行去重处理。
进一步的,根据本发明提供的一种异常日志的检测方法,所述将所述变量替换为预设符号,通过Drain3算法,得到所述目标日志的目标日志模板,包括:
计算任一历史日志模板与所述目标日志的相似度;
若所述相似度大于预设阈值,将所述相似度对应的历史日志模板作为所述目标日志的目标日志模板;若所述相似度小于或等于预设阈值,将所述目标日志中的变量替换为预设符号后,通过Drain3算法,获取所述目标日志的目标日志模板。
进一步的,根据本发明提供的一种异常日志的检测方法,所述提取目标日志的目标日志模板,还包括:
获取实时日志;
将所述实时日志作为目标日志,并根据预设时间间隔分批提取所述目标日志的目标日志模板。
本发明还提供一种异常日志的检测装置,包括:
提取单元,用于提取目标日志的目标日志模板;
计算单元,用于通过异常日志词库模型,计算所述目标日志模板的异常分数值;其中,所述异常日志词库模型是基于历史日志与所述历史日志对应的历史日志模板中任一词语对应的分数值训练得到的;
确定单元,用于若所述异常分数值大于预设阈值,确定所述目标日志为异常日志。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述异常日志的检测方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述异常日志的检测方法的步骤。
本发明提供的一种异常日志的检测方法、装置、电子设备及存储介质,通过提取目标日志的目标日志模板;通过异常日志词库模型,计算所述目标日志模板的异常分数值;若所述异常分数值大于预设阈值,确定所述目标日志为异常日志;实现了通过异常日志词库模型计算日志模板的异常分数值,最终确定日志是否异常,检测方法简单高效,通过每一词语的分数值确定日志模板的异常分数值,具有可解释性较好的特点。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的异常日志的检测方法的流程示意图;
图2是本发明另一实施例提供的解析树原理示意图;
图3是本发明另一实施例提供的异常日志的检测方法的整体流程示意图;
图4是本发明实施例提供的异常日志的检测装置的结构示意图;
图5是本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对现有的异常日志的检测方法进行说明。
现在人工智能技术在日志分析领域也开始发力,希望通过大规模的日志数据,借助机器学习、深度学习等方式快速的检测并识别出日志中异常日志信息,帮助运维人员快速找到异常日志进行问题定位。
现有常见的日志异常分析方式主要有以下几种:
①DeepLog为代表的日志模式序列预测的检测方式
DeepLog做异常检测的方式,采用LSTM(Long Short Term)算法对日志模式序列进行预测,本身要求日志的模式运行有规律,否则效果很差,有一些日志模式属于正常但出现次数较少或者无规律则很容易被检测为异常;DeepLog本身为无监督模型,且本身检测过程为黑箱,不好解释。
②针对日志中日志级别等关键字直接做异常检测分析方式
针对日志级别如ERROR等关键字做有监督分类异常检测局限性很大,方法简单粗暴,效果却不理想。
③LogRobust针对日志语义进行异常检测的分析方式
Logrobust基于语义分析需要对所有原始日志进行打标和训练,工作量非常大,在实际生产实施中对运维人员来说实施很困难;况且,Logrobust分析基于上下文分析,同时需要原始日志进行分析,性能较差,实际生产中日志数量非常多,不好满足生产要求。
以下结合图1至图3描述本发明提供的一种异常日志的检测方法。
图1为本发明实施例提供的一种异常日志的检测方法的流程示意图。参见图1,该异常日志的检测方法包括:
步骤101:提取目标日志的目标日志模板。
程序或进程运行的过程中,会产生日志,日志中会记录程序运行的结果信息,其中包括了常量和变量,其中,常量不会随着程序的运行而发生变化,变量则在不同的运行过程中存在不同的结果。在提取目标日志的目标日志模板时,可以提取出日志中的常量和变量,常量保持不变,变量则以特殊符号替换,最终生成目标日志的模板。
其中,目标日志的模板可以使用Drain3提取算法生成,也可以通过其他算法生成,本发明实施例中使用Drain3提取算法生成日志模板为例,对该异常日志的检测方法进行说明。
步骤102:通过异常日志词库模型,计算所述目标日志模板的异常分数值;其中,所述异常日志词库模型是基于历史日志与所述历史日志对应的历史日志模板中任一词语对应的分数值训练得到的。
异常日志词库模型,是通过历史日志与所述历史日志对应的历史日志模板中任一词语对应的分数值训练得到的,即通过大量的历史日志,提取得到大量的历史日志模板,再计算得到历史日志对应的历史日志模板中任一词语的分数值,不同的词语具有不同的分数值。历史日志越多,历史日志包含的日志异常类型越多,则提取出的历史日志模板越全,得到的异常日志词库模型中的词语就越多,后续检测效果更好。
提取出的目标日志模板中,包含着日志中的各个语句和词语;将目标日志模板导入到异常日志词库模型中,可以计算得到目标日志模板中各个词语的分数值,从而确定目标日志模板的异常分数值。
步骤103:若所述异常分数值大于预设阈值,确定所述目标日志为异常日志。
异常日志词库模型中,不同的词语具有不同的分数值,在得到目标日志模板的异常分数值后,与预设阈值进行比较,当异常分数值大于预设阈值时,所述目标日志为异常日志,异常分数值小于或等于预设阈值时,目标日志为正常日志。
本发明提供的一种异常日志的检测方法,通过提取目标日志的目标日志模板;通过异常日志词库模型,计算所述目标日志模板的异常分数值;若所述异常分数值大于预设阈值,确定所述目标日志为异常日志;实现了通过异常日志词库模型计算日志模板的异常分数值,最终确定日志是否异常,检测方法简单高效,通过每一词语的分数值确定日志模板的异常分数值,具有可解释性较好的特点。
在上述实施例的基础上,根据本发明提供的一种异常日志的检测方法,所述通过异常日志词库模型,计算所述目标日志模板的异常分数值,包括:
将所述目标日志模板导入异常日志词库模型,确定所述目标日志模板中任一词语的分数值;
根据所述任一词语的分数值,基于算数平均方法,计算所属目标日志模板的异常分数值。
基于异常日志词库模型,可以确定目标日志模板中任一词语的分数值;具体的,在确定任一词语的分数值的过程中,若目标日志模板中的一些词语在异常日志词库模型中不存在,则可以忽略这些不存在的词语,对目标日志模板的异常分数值进行计算。
由于不同的日志,长度不相同,其包含的词语的数量也不相同,为了消除日志长短对异常分数值计算结果的影响,本实施例中使用算数平均法计算异常分数值。
具体的,配合已经得到的异常分数词典(即异常日志词库模型),对日志模式模板(即目标日志模板)进行异常分数的计算,对存在字典中的词语,将对应分数求和后平均得到该语句的异常分数值,这里忽略掉字典中不存在的词。计算方式如公式(1):
Figure 370094DEST_PATH_IMAGE001
其中,t为字典匹配中的词所对应的异常分值,n为匹配中的总词数。得到日志模式模板的异常分数后,与设定的异常分数阈值做比较,该阈值经过训练样本统计得出,大于该阈值则认为该条模板属于异常文本模板,则该日志属于异常日志。
本实施例中,通过异常日志词库模型,计算得到任一词语的分数值,再通过算数平均算法得到异常分数值,可以消除不同日志长度对异常分数值结果的影响,提高异常日志的检测效率及检测准确度。
进一步的,根据本发明提供的一种异常日志的检测方法,所述提取目标日志的目标日志模板,包括:
提取出目标日志中的变量;
将所述变量替换为预设符号,通过Drain3算法,得到所述目标日志的目标日志模板。
首先,对Drain3算法进行说明。
Drain3算法可以以流方式实时解析日志,算法构建固定深度的解析树,经过特殊设计的解析规则进行编码。
图2为本发明另一实施例提供的解析树原理示意图。参见图2,其中,第一层为根节点,第二层节点按照模板长度进行划分,模板长度相同的聚到一类。第三层为模板按空格切分的第一个词,下面的层是第二个词,以此类推。同属某一个叶子结点的日志归为同一类,形成一个日志组(log group),每一个日志组包含一个日志事件(log event)与日志id(logids)。
具体的,在通过Drain3算法提取目标日志的目标日志模板时,需要先识别提取出目标日志中的常量和变量,其中,对于变量,需要使用预设符号对变量进行替换,预设符号可以是“*”、“&”等,或者是其他字符。由此,当两个日志属于同一种日志类型,但是包含不同的变量时,也能通过提取出的日志模板,确定出着两个日志的类型相同。
进一步地,还可以赋予Drain3算法一些专家经验的先验知识,通过配置正则表达式的方式辅助提升模板的提取效果;即为一些特定的,或比较常见的日志内容设置特定的模板类型,当对该日志内容进行模板提取时,直接套用设置好的模板类型,在保证生成的日志模板正确的基础上,加快日志模板的提取速度。
本实施例中,通过将日志中变量进行替换,通过Drain3算法,得到所述目标日志的目标日志模板,可以确保相同的日志类型提取出相同的日志模板,从而减少日志模板的类型,加快日志内容的识别和日志模板的提取速度。
进一步的,根据本发明提供的一种异常日志的检测方法,所述通过异常日志词库模型,确定所述目标日志模板的异常分数值之前,还包括:
确定任一历史日志为异常或正常;
提取任一历史日志的历史日志模板,并为任一历史日志模板添加标记;其中,历史日志为异常时添加第一标记,历史日志为正常时添加第二标记;
将具有相同标记的历史日志模板进行合并,生成两组历史日志样本;
通过TF-IDF算法,确定两组历史日志样本中任一词语的分数值,建立异常日志词库模型。
在确定目标日志模板的异常分数值之前,需要建立异常日志词库模型。本实施例中,使用历史日志的内容建立异常日志词库模型。
在获取到历史日志后,可以由人为或者机器对每一条历史日志的内容进行判断,确定每一条历史日志是否正常。需要注意,历史日志需要尽量包含类型多且更丰富的异常日志类型,历史日志包含的日志异常类型越多,则提取出的日志模式越全,后续检测效果更好。
通过Drain3算法提取出历史日志的历史日志模板,并根据历史日志是否正常的判断结果,为每一条历史日志模板进行打标;其中,异常的历史日志的历史日志模板添加第一标记,正常的历史日志的历史日志模板添加第二标记。第一标记和第二标记的形式可以人为设置,本实施例不作具体限制。例如,异常的可以添加标记为“1”,正常的添加标记为“0”。由此,可以将所有的历史日志模板分为两类,一类正常,一类异常。
将具有相同标记的历史日志模板进行合并,生成两组历史日志样本,即历史日志的文档;两组历史日志样本中分别有着异常日志的文本内容和正常日志的文本内容;通过TF-IDF算法,确定出两组历史日志样本中任一词语的分数值,最终建立异常日志词库模型。
具体的,历史日志经过前一步骤日志模式提取后,可生成的日志模式模板列表数据,在该流程,使用人工打标的方式,对每条日志模式模板进行打标,打标分为两类,异常的日志标记为1,正常的日志标记为0。
人工对日志模式模板打标完成后,将打标好的日志模式模板文档送入基于TF-IDF的词语异常权重计算流程,分为3个步骤:
(1)首先我们分别将属于同一类的日志模板进行合并,合并后的日志模板形成2条日志样本,我们基于这2条合并后的文本进行异常分数的计算;
(2)采用TF-IDF计算模板中每个词对应的异常分值,TF-IDF公式如下:
Figure 802343DEST_PATH_IMAGE002
Figure 466715DEST_PATH_IMAGE003
其中,公式(3)中的语料库即为两组历史日志样本,公式(4)中TF-IDF值即为每个词语对应的异常分值。对于那些只出现在“异常模板”或者“正常模板”的词语IDF值略大一些,TF值可以起到对IDF值权重调整的作用。这里通过TF和IDF两个值的计算,可以使得文本中关键的词获得更高的分数。
(3)再统计出只出现在“正常模板”中的词语,对于这些词语,认为不属于“异常”词语,对这些词语的分数加负号并取相反数,这样可以拉开与其他可能异常词语的分辨度。
最终构建出异常日志词库模型,用于后续在线日志异常检测。
本实施例中,对提取出的日志模板进行打标,而非对原始日志打标,提取过程更加简单;将异常的日志模板和正常的日志模板分别进行合并,可以更准确地确定出不同词语的分数值,提高最终异常日志检测的准确度。
进一步的,根据本发明提供的一种异常日志的检测方法,所述提取任一历史日志的历史日志模板之前,还包括:
对所述历史日志进行去重处理。
在提取历史日志的历史日志模板时,需要获取大量的历史日志,历史日志的数量多,就意味着历史日志中存在着较多的重复日志、无效日志;在提取历史日志模板时,需要对这些重复日志、无效日志进行去重。进一步地,在提取目标日志的目标日志模板之前,也可以对目标日志的内容进行去重。
因此,在采用Drain3算法进行日志模式提取前,需要先将日志进行去重处理,可以加速模型的训练速度,去重的操作在后续在线更新Drain3算法模型中依然沿用。
本实施例中,通过对历史日志进行去重,可以加快模型的训练速度,也可以对历史日志模板的内容进行精简;对目标日志的内容进行去重,可以加快对目标日志的异常检测流程。
进一步的,根据本发明提供的一种异常日志的检测方法,所述将所述变量替换为预设符号,通过Drain3算法,得到所述目标日志的目标日志模板,包括:
计算任一历史日志模板与所述目标日志的相似度;
若所述相似度大于预设阈值,将所述相似度对应的历史日志模板作为所述目标日志的目标日志模板;若所述相似度小于或等于预设阈值,将所述目标日志中的变量替换为预设符号后,通过Drain3算法,获取所述目标日志的目标日志模板。
在同一个网元中,会获取到大量的日志,但是日志的类别可以只有若干种;即不同的日志,可能只存在着日志中变量的不同,实际的日志类别是相同的,此时可以将日志类别相同的日志得到的日志模板也是相同的。
当获取到的新的目标日志时,可能会存在着与目标日志相似度较高的历史日志内容,因此可以将相似度较高的历史日志模板作为目标日志的目标日志模板。当目标日志与Drain3算法模型中的某一个历史日志模板的相似度较高时(即大于预设阈值时),说明该目标日志与该历史日志模板的类别可能相同,可以直接使用该历史日志模板作为该目标日志的目标日志模板,从而确定该目标日志是否异常。当目标日志与任一历史日志模板的相似度均小于或等于预设阈值时,可以认为现有的Drain3算法模型中不存在与该目标日志相同的日志类别,因此需要重新提取该目标日志的目标日志模板;之后,将该目标日志的目标日志模板作为新的历史日志模板,添加到Drain3算法模型中,后续输入的新日志若与该目标日志的类别相同,则可以直接提取该目标日志的目标日志模板作为输入的新日志的日志模板,对该输入的新日志进行判断。
其中,预设阈值可以人为设定,本实施例对此不作具体限制。
具体的,对于新输入的日志数据,先经过解析输归到某一个日志组中,采用相似度计算其与日志组相似度,如果相似度超过阈值则将其归为该日志组的模板类型。这里相似度计算公式如下:
Figure 134457DEST_PATH_IMAGE004
公式中t代表日志中的词语,n代表日志长度,simSeq代表相似度。从上面的公式可以看出,相似度的值可以理解为:输入的待检测日志与所属日志模板比较相同词语所占的比例。
本实施例中,在提取目标日志的目标日志模板前,通过判断相似度,当相似度大于预设阈值时,可以直接选取历史日志模板作为目标历史模板,加快了目标日志模板的提取速度及异常日志的检测速度;当相似度小于或等于预设阈值时,提取该目标日志的目标日志模板,并添加到Drain3算法模型中,对Drain3算法模型中的历史日志模板进行优化。
进一步的,根据本发明提供的一种异常日志的检测方法,所述提取目标日志的目标日志模板,还包括:
获取实时日志;
将所述实时日志作为目标日志,并根据预设时间间隔分批提取所述目标日志的目标日志模板。
在建立好异常日志词库模型后,可以将获取到的当前程序或进程产生的实时日志输入到异常日志词库模型中,实现对实时日志的检测。但是由于Drain3算法本身在提取模板时比较耗时,因此在输入实时日志时,可以按照预设的时间间隔,将实时日志分批输入,从而防止Drain3算法在短时间内接收到大量日志时运行速度变慢、甚至崩溃的情况。其中,预设时间间隔也可以由人为设置。
进一步地,在对实时日志进行检测之后,还可以将实时日志的日志模板作为历史日志模板,对Drain3模型进行进一步地训练和固化,从而进一步提高Drain3模型的提取效率和准确性。
具体的,实时日志进入检测方法后,由于Drain3算法本身提取模式比较耗时,因此采取定时1s为时间间隔方式分批将日志送入Drain3算法进行日志模式提取,以达到准实时提取模式的效果,使用之前离线训练好的Drain3模型来达到固化日志模式的效果。
本申请中,通过将实时日志分批输入到Drain3模型中实现对实时日志模型的提取,既能够实现对日志的实时处理,又能保证Drain3模型的处理速度,提高异常日志检测的效率。
图3为本发明实施例提供的异常日志的检测方法的整体流程示意图。参见图3,该异常日志的检测方法包括:
1、在离线模式下完成异常日志词库模型的建立。在离线模式下,获取历史日志数据,通过Drain3算法提取日志模板,得到Drain3模型文件,将Drain3模型文件导入日志数据库,生成经过打标的训练集中的所有日志模式,通过TF-IDF构建词库及对应分值(即异常日志词库模型);
2、在线模式下完成日志的检测。在线模式下,获取Kafka日志数据,通过Drain3模型文件提取日志模板,通过异常日志词库模型查询并计算日志模板的异常分数值,若异常分数值大于门限,则此日志异常。同时,提取到的Kafka日志的模板也存入日志数据库中,作为历史日志模板,对Drain3模型文件进行更新。
本发明提供的异常日志的检测方法,具有以下优点:
1、可解释性较好,使用人工打标的方式对异常日志进行人工打标,最后根据日志模式中拆词计算出单个词语的异常分数,最后进行检测后也是基于人工打标的异常词分数计算出的异常日志,具有很好的解释性;
2、实时性好,异常的检测方式主要为日志模式中异常分数的计算,整体流程相对简单,可以达到较好的实时性;
3、实施简单,采用对提取模板后的日志模式进行打标而非原始日志打标,相比Logrobust实施起来非常简单;
4、鲁棒性,检测范围广,无论针对有规律的日志或无规律的日志,都可以进行异常日志检测,并且检测效果波动范围小。
下面对本发明提供的异常日志的检测装置进行描述,下文描述的异常日志的检测装置与上文描述的异常日志的检测方法可相互对应参照。
图4为本发明实施例提供的异常日志的检测装置的结构示意图,参见图4,该异常日志的检测装置包括:
提取单元401,用于提取目标日志的目标日志模板;
计算单元402,用于通过异常日志词库模型,计算所述目标日志模板的异常分数值;其中,所述异常日志词库模型是基于历史日志与所述历史日志对应的历史日志模板中任一词语对应的分数值训练得到的;
确定单元403,用于若所述异常分数值大于预设阈值,确定所述目标日志为异常日志。
本实施例提供的异常日志的检测装置适用于上述各实施例提供的异常日志的检测方法,在此不再赘述。
本发明提供的一种异常日志的检测装置,通过提取目标日志的目标日志模板;通过异常日志词库模型,计算所述目标日志模板的异常分数值;若所述异常分数值大于预设阈值,确定所述目标日志为异常日志;实现了通过异常日志词库模型计算日志模板的异常分数值,最终确定日志是否异常,检测方法简单高效,通过每一词语的分数值确定日志模板的异常分数值,具有可解释性较好的特点。
进一步的,根据本发明提供的一种异常日志的检测方法,所述通过异常日志词库模型,计算所述目标日志模板的异常分数值,包括:
将所述目标日志模板导入异常日志词库模型,确定所述目标日志模板中任一词语的分数值;
根据所述任一词语的分数值,基于算数平均方法,计算所属目标日志模板的异常分数值。
进一步的,根据本发明提供的一种异常日志的检测方法,所述提取目标日志的目标日志模板,包括:
提取出目标日志中的变量;
将所述变量替换为预设符号,通过Drain3算法,得到所述目标日志的目标日志模板。
进一步的,根据本发明提供的一种异常日志的检测方法,所述通过异常日志词库模型,确定所述目标日志模板的异常分数值之前,还包括:
确定任一历史日志为异常或正常;
提取任一历史日志的历史日志模板,并为任一历史日志模板添加标记;其中,历史日志为异常时添加第一标记,历史日志为正常时添加第二标记;
将具有相同标记的历史日志模板进行合并,生成两组历史日志样本;
通过TF-IDF算法,确定两组历史日志样本中任一词语的分数值,建立异常日志词库模型。
进一步的,根据本发明提供的一种异常日志的检测方法,所述提取任一历史日志的历史日志模板之前,还包括:
对所述历史日志进行去重处理。
进一步的,根据本发明提供的一种异常日志的检测方法,所述将所述变量替换为预设符号,通过Drain3算法,得到所述目标日志的目标日志模板,包括:
计算任一历史日志模板与所述目标日志的相似度;
若所述相似度大于预设阈值,将所述相似度对应的历史日志模板作为所述目标日志的目标日志模板;若所述相似度小于或等于预设阈值,将所述目标日志中的变量替换为预设符号后,通过Drain3算法,获取所述目标日志的目标日志模板。
进一步的,根据本发明提供的一种异常日志的检测方法,所述提取目标日志的目标日志模板,还包括:
获取实时日志;
将所述实时日志作为目标日志,并根据预设时间间隔分批提取所述目标日志的目标日志模板。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行异常日志的检测方法,该方法包括:提取目标日志的目标日志模板;通过异常日志词库模型,计算所述目标日志模板的异常分数值;其中,所述异常日志词库模型是基于历史日志与所述历史日志对应的历史日志模板中任一词语对应的分数值训练得到的;若所述异常分数值大于预设阈值,确定所述目标日志为异常日志。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的异常日志的检测方法,该方法包括:提取目标日志的目标日志模板;通过异常日志词库模型,计算所述目标日志模板的异常分数值;其中,所述异常日志词库模型是基于历史日志与所述历史日志对应的历史日志模板中任一词语对应的分数值训练得到的;若所述异常分数值大于预设阈值,确定所述目标日志为异常日志。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的异常日志的检测方法,该方法包括:提取目标日志的目标日志模板;通过异常日志词库模型,计算所述目标日志模板的异常分数值;其中,所述异常日志词库模型是基于历史日志与所述历史日志对应的历史日志模板中任一词语对应的分数值训练得到的;若所述异常分数值大于预设阈值,确定所述目标日志为异常日志。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种异常日志的检测方法,其特征在于,包括:
提取目标日志的目标日志模板;
通过异常日志词库模型,计算所述目标日志模板的异常分数值;其中,所述异常日志词库模型是基于历史日志与所述历史日志对应的历史日志模板中任一词语对应的分数值训练得到的;
若所述异常分数值大于预设阈值,确定所述目标日志为异常日志。
2.根据权利要求1所述的异常日志的检测方法,其特征在于,所述通过异常日志词库模型,计算所述目标日志模板的异常分数值,包括:
将所述目标日志模板导入异常日志词库模型,确定所述目标日志模板中任一词语的分数值;
根据所述任一词语的分数值,基于算数平均方法,计算所属目标日志模板的异常分数值。
3.根据权利要求1所述的异常日志的检测方法,其特征在于,所述提取目标日志的目标日志模板,包括:
提取出目标日志中的变量;
将所述变量替换为预设符号,通过Drain3算法,得到所述目标日志的目标日志模板。
4.根据权利要求1所述的异常日志的检测方法,其特征在于,所述通过异常日志词库模型,确定所述目标日志模板的异常分数值之前,还包括:
确定任一历史日志为异常或正常;
提取任一历史日志的历史日志模板,并为任一历史日志模板添加标记;其中,历史日志为异常时添加第一标记,历史日志为正常时添加第二标记;
将具有相同标记的历史日志模板进行合并,生成两组历史日志样本;
通过TF-IDF算法,确定两组历史日志样本中任一词语的分数值,建立异常日志词库模型。
5.根据权利要求4所述的异常日志的检测方法,其特征在于,所述提取任一历史日志的历史日志模板之前,还包括:
对所述历史日志进行去重处理。
6.根据权利要求3所述的异常日志的检测方法,其特征在于,所述将所述变量替换为预设符号,通过Drain3算法,得到所述目标日志的目标日志模板,包括:
计算任一历史日志模板与所述目标日志的相似度;
若所述相似度大于预设阈值,将所述相似度对应的历史日志模板作为所述目标日志的目标日志模板;若所述相似度小于或等于预设阈值,将所述目标日志中的变量替换为预设符号后,通过Drain3算法,获取所述目标日志的目标日志模板。
7.根据权利要求1所述的异常日志的检测方法,其特征在于,所述提取目标日志的目标日志模板,还包括:
获取实时日志;
将所述实时日志作为目标日志,并根据预设时间间隔分批提取所述目标日志的目标日志模板。
8.一种异常日志的检测装置,其特征在于,包括:
提取单元,用于提取目标日志的目标日志模板;
计算单元,用于通过异常日志词库模型,计算所述目标日志模板的异常分数值;其中,所述异常日志词库模型是基于历史日志与所述历史日志对应的历史日志模板中任一词语对应的分数值训练得到的;
确定单元,用于若所述异常分数值大于预设阈值,确定所述目标日志为异常日志。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述异常日志的检测方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述异常日志的检测方法的步骤。
CN202110588358.0A 2021-05-28 2021-05-28 异常日志的检测方法、装置、电子设备及存储介质 Pending CN113032226A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110588358.0A CN113032226A (zh) 2021-05-28 2021-05-28 异常日志的检测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110588358.0A CN113032226A (zh) 2021-05-28 2021-05-28 异常日志的检测方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113032226A true CN113032226A (zh) 2021-06-25

Family

ID=76456155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110588358.0A Pending CN113032226A (zh) 2021-05-28 2021-05-28 异常日志的检测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113032226A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535955A (zh) * 2021-07-16 2021-10-22 中国工商银行股份有限公司 一种日志快速归类方法及装置
CN114844778A (zh) * 2022-04-25 2022-08-02 中国联合网络通信集团有限公司 核心网的异常检测方法、装置、电子设备及可读存储介质
CN114969334A (zh) * 2022-05-20 2022-08-30 北京九章云极科技有限公司 异常日志检测方法、装置、电子设备及可读存储介质
CN115034220A (zh) * 2022-08-12 2022-09-09 苏州浪潮智能科技有限公司 一种异常日志检测方法、装置、电子设备及存储介质
CN116149933A (zh) * 2022-12-13 2023-05-23 北京优特捷信息技术有限公司 一种异常日志数据确定方法、装置、设备及存储介质
CN117436496A (zh) * 2023-11-22 2024-01-23 深圳市网安信科技有限公司 基于大数据日志的异常检测模型的训练方法及检测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180075235A1 (en) * 2016-09-14 2018-03-15 Hitachi, Ltd. Abnormality Detection System and Abnormality Detection Method
US20200073740A1 (en) * 2018-08-29 2020-03-05 International Business Machines Corporation Systems and methods for anomaly detection in a distributed computing system
CN111459964A (zh) * 2020-03-24 2020-07-28 长沙理工大学 一种面向模板基于Word2vec的日志异常检测方法及装置
CN112395159A (zh) * 2020-11-17 2021-02-23 华为技术有限公司 一种日志检测方法、系统、设备及介质
CN112463933A (zh) * 2020-12-14 2021-03-09 清华大学 系统日志模板的在线提取方法和装置
CN112579414A (zh) * 2020-12-08 2021-03-30 西安邮电大学 日志异常检测方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180075235A1 (en) * 2016-09-14 2018-03-15 Hitachi, Ltd. Abnormality Detection System and Abnormality Detection Method
US20200073740A1 (en) * 2018-08-29 2020-03-05 International Business Machines Corporation Systems and methods for anomaly detection in a distributed computing system
CN111459964A (zh) * 2020-03-24 2020-07-28 长沙理工大学 一种面向模板基于Word2vec的日志异常检测方法及装置
CN112395159A (zh) * 2020-11-17 2021-02-23 华为技术有限公司 一种日志检测方法、系统、设备及介质
CN112579414A (zh) * 2020-12-08 2021-03-30 西安邮电大学 日志异常检测方法及装置
CN112463933A (zh) * 2020-12-14 2021-03-09 清华大学 系统日志模板的在线提取方法和装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
K. ZHANG, J. XU, M. R. MIN, G. JIANG, K. PELECHRINIS AND H. ZHAN: "Automated IT system failure prediction: A deep learning approach", 《2016 IEEE INTERNATIONAL CONFERENCE ON BIG DATA》 *
R. B. YADAV, P. S. KUMAR AND S. V. DHAVALE: "A Survey on Log Anomaly Detection using Deep Learning", 《2020 8TH INTERNATIONAL CONFERENCE ON RELIABILITY, INFOCOM TECHNOLOGIES AND OPTIMIZATION (TRENDS AND FUTURE DIRECTIONS) (ICRITO)》 *
W. ZHANG AND L. CHEN: "Web Log Anomaly Detection Based on Isolated Forest Algorithm", 《019 IEEE 14TH INTERNATIONAL CONFERENCE ON INTELLIGENT SYSTEMS AND KNOWLEDGE ENGINEERING (ISKE)》 *
孤独的风中一匹狼: "学习笔记:使用开源Drain3日志模板挖掘项目来监视网络中断", 《知乎》 *
李东昊: "日志异常检测研究现状及展望", 《电脑知识与技术》 *
王智远等: "基于日志模板的异常检测技术", 《智能计算机与应用》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535955A (zh) * 2021-07-16 2021-10-22 中国工商银行股份有限公司 一种日志快速归类方法及装置
CN113535955B (zh) * 2021-07-16 2022-10-28 中国工商银行股份有限公司 一种日志快速归类方法及装置
CN114844778A (zh) * 2022-04-25 2022-08-02 中国联合网络通信集团有限公司 核心网的异常检测方法、装置、电子设备及可读存储介质
CN114844778B (zh) * 2022-04-25 2023-05-30 中国联合网络通信集团有限公司 核心网的异常检测方法、装置、电子设备及可读存储介质
CN114969334A (zh) * 2022-05-20 2022-08-30 北京九章云极科技有限公司 异常日志检测方法、装置、电子设备及可读存储介质
CN114969334B (zh) * 2022-05-20 2023-04-07 北京九章云极科技有限公司 异常日志检测方法、装置、电子设备及可读存储介质
CN115034220A (zh) * 2022-08-12 2022-09-09 苏州浪潮智能科技有限公司 一种异常日志检测方法、装置、电子设备及存储介质
CN115034220B (zh) * 2022-08-12 2023-01-10 苏州浪潮智能科技有限公司 一种异常日志检测方法、装置、电子设备及存储介质
WO2024031930A1 (zh) * 2022-08-12 2024-02-15 苏州元脑智能科技有限公司 一种异常日志检测方法、装置、电子设备及存储介质
CN116149933A (zh) * 2022-12-13 2023-05-23 北京优特捷信息技术有限公司 一种异常日志数据确定方法、装置、设备及存储介质
CN116149933B (zh) * 2022-12-13 2023-09-08 北京优特捷信息技术有限公司 一种异常日志数据确定方法、装置、设备及存储介质
CN117436496A (zh) * 2023-11-22 2024-01-23 深圳市网安信科技有限公司 基于大数据日志的异常检测模型的训练方法及检测方法

Similar Documents

Publication Publication Date Title
CN113032226A (zh) 异常日志的检测方法、装置、电子设备及存储介质
US20220405592A1 (en) Multi-feature log anomaly detection method and system based on log full semantics
CN111767725B (zh) 一种基于情感极性分析模型的数据处理方法及装置
CN107506389B (zh) 一种提取职位技能需求的方法和装置
CN110175851B (zh) 一种作弊行为检测方法及装置
Xiao et al. Lpv: A log parser based on vectorization for offline and online log parsing
CN107688630B (zh) 一种基于语义的弱监督微博多情感词典扩充方法
CN113590764B (zh) 训练样本构建方法、装置、电子设备和存储介质
CN104850617A (zh) 短文本处理方法及装置
JP5682448B2 (ja) 因果単語対抽出装置、因果単語対抽出方法および因果単語対抽出用プログラム
CN115017268B (zh) 一种基于树结构的启发式日志抽取方法及系统
CN114584379A (zh) 基于优化特征提取粒度的日志异常检测方法
CN114818643A (zh) 一种保留特定业务信息的日志模板提取方法
CN113961424A (zh) 分布式系统的故障预测方法以及故障预测装置
CN115617614A (zh) 基于时间间隔感知自注意力机制的日志序列异常检测方法
CN114970502B (zh) 一种应用于数字政府的文本纠错方法
US11520994B2 (en) Summary evaluation device, method, program, and storage medium
CN111368534A (zh) 一种应用日志降噪方法及装置
CN114969334B (zh) 异常日志检测方法、装置、电子设备及可读存储介质
CN111209394A (zh) 文本分类处理方法和装置
CN111178043A (zh) 一种识别学术观点句的方法及系统
CN110765762A (zh) 一种大数据背景下在线评论文本最佳主题提取系统和方法
CN115796141A (zh) 文本数据增强方法和装置、电子设备、存储介质
CN114417828A (zh) 一种服务器告警日志描述文本的实体关系抽取方法及系统
CN114662486A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210625

RJ01 Rejection of invention patent application after publication