一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种日志数据异常检测的方法及设备与流程

2021-10-24 08:30:00 来源:中国专利 TAG:检测方法 异常 计算机 数据 设备


1.本技术涉及计算机领域,尤其涉及一种日志数据异常检测的方法及设备。


背景技术:

2.传统的日志异常检测方法,是在针对日志信息进行检测时,采用正则表达式进行关键字匹配,从而发现其预先设定的异常日志;但这种方式局限于单条日志内容的检测,且只能对设定关键字的对应日志进行匹配发现,对其他日志进行忽略,其检测方式单一、实用性差。


技术实现要素:

3.本技术的一个目的是提供一种日志数据异常检测的方法及设备,解决现有技术中检测方式只能进行单条日志内容的检测,检测方式单一以及实用性差的问题。
4.根据本技术的一个方面,提供了一种日志数据异常检测的方法,该方法包括:
5.按照日志相似度对原始日志进行聚类处理,得到若干类别日志;
6.统计每一类别日志在当前检测时刻的前预设时间内的单位时间的日志量,得到每一类别日志的时间序列的日志量数据;
7.根据所述每一类别日志的时间序列的日志量数据及对应的动态阈值判断当前检测时刻是否为异常点。
8.可选地,按照日志相似度对原始日志进行聚类处理,得到若干类别日志,包括:
9.按照日志的字段及词序的相似度对原始日志进行聚类处理,得到若干类别日志。
10.可选地,根据所述每一类别日志的时间序列的日志量数据及对应的动态阈值判断当前检测时刻是否为异常点,包括:
11.根据所述每一类别日志的时间序列的日志量数据判定当前检测时刻的前预设时间内的日志量是否稳定,若稳定,则判定所述当前检测时刻是否为离群点;
12.当所述当前检测时刻为离群点时,确定每一类别日志的动态阈值,根据所述动态阈值进行当前检测时刻的突变点检测;
13.根据检测结果判断所述当前时刻的日志检测点是否为异常点。
14.可选地,根据所述每一类别日志的时间序列的日志量数据判定当前检测时刻的前预设时间内的日志量是否稳定,包括:
15.将当前检测时刻的前预设时间内的历史日志作为训练数据;
16.根据所述每一类别日志的时间序列的日志量数据判定所述训练数据在所述当前检测时刻的前预设时间内的日志量是否稳定。
17.可选地,根据所述每一类别日志的时间序列的日志量数据判定所述训练数据在所述当前检测时刻的前预设时间内的日志量是否稳定,包括:
18.对所述训练数据计算每一类别日志的上限值和下限值;
19.根据所述每一类别日志的时间序列的日志量数据、所述上限值和下限值判定所述
训练数据在所述当前检测时刻的前预设时间内的日志量是否稳定。
20.可选地,判定所述当前检测时刻是否为离群点,包括:
21.计算所述当前检测时刻的日志量,根据所述当前检测时刻的日志量以及所述训练数据判定所述当前检测时刻是否为离群点。
22.可选地,确定每一类别日志的动态阈值,包括:
23.对所述训练数据中的每一类别日志进行归一化处理,得到归一化数值;
24.根据所述归一化数值计算日志总体的标准差;
25.根据所述日志总体的标准差设定每一类别日志的对应的动态阈值。
26.可选地,根据检测结果判断所述当前时刻的日志检测点是否为异常点,包括:
27.若检测结果为当前检测时刻为突变点,则计算所述当前检测时刻与所述训练数据的平均值的比率;
28.判断所述比率是否超过所述动态阈值,若超过,则所述当前检测时刻为异常点。
29.根据本技术另一个方面,还提供了一种日志数据异常检测的设备,该设备包括:
30.聚类装置,用于按照日志相似度对原始日志进行聚类处理,得到若干类别日志;
31.统计装置,用于统计每一类别日志在当前检测时刻的前预设时间内的单位时间的日志量,得到每一类别日志的时间序列的日志量数据;
32.检测装置,用于根据所述每一类别日志的时间序列的日志量数据及对应的动态阈值判断当前检测时刻是否为异常点。
33.根据本技术又一个方面,还提供了一种日志数据异常检测的设备,所述设备包括:
34.一个或多个处理器;以及
35.存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
36.根据本技术再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。
37.与现有技术相比,本技术通过按照日志相似度对原始日志进行聚类处理,得到若干类别日志;统计每一类别日志在当前检测时刻的前预设时间内的单位时间的日志量,得到每一类别日志的时间序列的日志量数据;根据所述每一类别日志的时间序列的日志量数据及对应的动态阈值判断当前检测时刻是否为异常点。从而从日志量层面发现日志异常,通过检测易于历史的日志量变化达到检测异常事件的目的;仅对历史数据的学习即可对当前点进行检测,无需提前训练和人为标记,适用性高、计算速度快以及应用范围广。
附图说明
38.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
39.图1示出根据本技术的一个方面提供的一种日志数据异常检测的方法流程示意图;
40.图2示出本技术一具体实施例中一种日志数据异常检测的方法流程示意图;
41.图3示出本技术又一个方面提供一种日志数据异常检测的设备的结构示意图。
42.附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
43.下面结合附图对本技术作进一步详细描述。
44.在本技术一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(central processing unit,cpu))、输入/输出接口、网络接口和内存。
45.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(random access memory,ram)和/或非易失性内存等形式,如只读存储器(read only memory,rom)或闪存(flash ram)。内存是计算机可读介质的示例。
46.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(phase

change ram,pram)、静态随机存取存储器(static random access memory,sram)、动态随机存取存储器(dynamic random access memory,dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(electrically erasable programmable read

only memory,eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(compact disc read

only memory,cd

rom)、数字多功能光盘(digital versatile disk,dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
47.图1示出根据本技术的一个方面提供的一种日志数据异常检测的方法流程示意图,该方法包括:步骤s11~步骤s13,其中,步骤s11,按照日志相似度对原始日志进行聚类处理,得到若干类别日志;步骤s12,统计每一类别日志在当前检测时刻的前预设时间内的单位时间的日志量,得到每一类别日志的时间序列的日志量数据;步骤s13,根据所述每一类别日志的时间序列的日志量数据及对应的动态阈值判断当前检测时刻是否为异常点。从而通过将每一类在单位时间内的日志量转化为时间序列数据,再通过对该时间序列数据进行异常检测,发现其中的异常点,该方式是将从日志量层面发现日志异常,通过检测易于历史的日志量变化达到检测异常事件的目的。
48.具体地,在步骤s11中,按照日志相似度对原始日志进行聚类处理,得到若干类别日志;在此,先进行日志预处理,即将获取到的原始日志进行聚类处理,聚类处理时是按照日志的相似度来进行的,从而可以得到若干类别日志;其中,原始日志为需要进行检测的某一来源的日志,比如需要对某一服务进行访问时产生的日志进行检测,则该服务访问时得到的日志为原始日志,对该原始日志进行分类,即是对这一服务访问时所得到的所有日志进行了分类,从而为后续进行检测该服务访问的日志提供方便。
49.具体地,在步骤s12中,统计每一类别日志在当前检测时刻的前预设时间内的单位时间的日志量,得到每一类别日志的时间序列的日志量数据;在此,对获得每一类别日志进行一个统计,可以统计单位时间的日志量,比如统计每小时的日志量,从而可以积累在当前检测时刻前预设时间内的所有单位时间的日志量,比如当时检测时刻前2周的单位时间的日志量,从而得到每一类别日志的在这2周内的日志量数据,且该日志量数据是以时间序列进行的;其中,当前检测时刻为进行检测日志时在当前时刻所进行检测的位置,即当前的检
测点,获取该当前检测点之前的历史日志量数据,从而利用获得的历史日志量数据来判定当前检测点是否为异常点。
50.具体地,在步骤s13中,根据所述每一类别日志的时间序列的日志量数据及对应的动态阈值判断当前检测时刻是否为异常点。在此,根据统计得到的每一类别日志的日志量,以及确定的每一类别对应的动态阈值来判断当前检测时刻是否为异常点,即利用每一类别日志在时间序列下的日志量来衡量下当前检测时刻时日志量是否也符合之前的日志量规律,从而可以判断出当前时刻的日志量是不是有问题,进而得出当前时刻的检测点是否为异常点;例如,原始日志通过聚类处理被划分为a,b,c,d
……
类日志,统计每一类日志在每小时内的日志量,从而转化为时间序列数据,再通过无监督异常检测方法对时间序列数据进行异常检测,发现其中的异常点,比如a类日志在过去的时间内一直保持平稳,每小时日志量为500条左右,而在当前检测时刻出现了暴增,达到800条,则该当前检测时刻的检测点为异常点。通过本技术所述的检测方式可以及时发现异于历史的日志量变化点,仅通过对历史数据学习即可对当前点进行检测,无需提前训练和人为标记,适用性高,计算速度快,应用范围广。
51.在本技术一些实施例中,在步骤s11中,按照日志的字段及词序的相似度对原始日志进行聚类处理,得到若干类别日志。在此,对原始日志进行聚类处理时,比如对1000条nginx web服务的访问日志,经过drain3进行聚类后,被划分为七类日志,该drain3进行聚类时是按照日志的字段以及词序的相似度进行的。
52.在本技术一些实施例中,在步骤s13中,根据所述每一类别日志的时间序列的日志量数据判定当前检测时刻的前预设时间内的日志量是否稳定,若稳定,则判定所述当前检测时刻是否为离群点;当所述当前检测时刻为离群点时,确定每一类别日志的动态阈值,根据所述动态阈值进行当前检测时刻的突变点检测;根据检测结果判断所述当前时刻的日志检测点是否为异常点。在此,先判定需要检测的日志的历史变化是否为稳定,如果历史变化随机性过强,则这类数据没有判定意义,因此,当历史数据稳定的前提下,判断当前检测时刻的检测点是否为离群点,通过上述两项判定后计算当前日志类别的动态阈值,从而利用动态阈值再次对这个离群点进行突变点检测,判定是否为异常点。在进行判定历史数据稳定时,是将每一类别日志的时间序列的日志量数据与当前检测时刻的前预设时间内的日志量进行比较,即比如前预设时间内为当前检测时刻的前2周内,则判断这前2周内的单位时间内的日志量的变化情况,使用该类别日志的时间序列的日志数量(单位时间的日志量)的稳定性来判定,若单位时间内的日志量的变化相差不大,则表示稳定;比如在前2周内的每小时的日志量都在300条至305条之间变化,因此,根据历史数据(前2周内的数据)可以判定是稳定的,可以使用前2周内的历史数据来检测当前检测时刻的日志是否有异变。
53.接上述实施例,将当前检测时刻的前预设时间内的历史日志作为训练数据;根据所述每一类别日志的时间序列的日志量数据判定所述训练数据在所述当前检测时刻的前预设时间内的日志量是否稳定。在此,统计每一类别日志的单位时间的日志量(比如每小时的日志量),积累14天的每一类别日志的历史数据作为训练数据,即积累14天内的每小时的日志量作为训练数据;从而判定这14天的每一类别的日志数据是否稳定,利用日志量来判定。
54.具体地,对所述训练数据计算每一类别日志的上限值和下限值;根据所述每一类
别日志的时间序列的日志量数据、所述上限值和下限值判定所述训练数据在所述当前检测时刻的前预设时间内的日志量是否稳定。在此,可以使用五数概括法进行判定,对训练数据计算出其上下限值,该上下限值为该类日志在前预设时间内的单位时间的上限值和下限值,统计整体数值,比如绝大部分点(99%)分布在上下限区间内,则判定其相对稳定;例如,14天内的单位时间内的日志量按照时间序列为300条、301条、300条、305条、301条、300条
……
304条,日志量的上限值为305条,下限值为300条,则判定这些单位时间的日志量在上限值以及下限值的区间内的比例或者多个日志量记录直接的差值等进行比较,判定出是符合稳定,则继续进行下一步的离群点的判断;否则将判定其历史数据被判定为随机离散,则说明此类型数据无实际判定意义,不再进行下一步判断。
55.在本技术一些实施例中,判定所述当前检测时刻是否为离群点时,可以计算所述当前检测时刻的日志量,根据所述当前检测时刻的日志量以及所述训练数据判定所述当前检测时刻是否为离群点。在此,对当前检测时刻的日志数值进行计算,即计算当前检测时刻对应的日志量,判断当前的日志量与训练数据进行比较,是否符合训练数据的稳定性变化规律,比如是否大于99%的训练点数值,如果是,则说明是变化超出训练数据的稳定性变化的,判定其为离群点。例如,对于a类日志,之前两周时间内每小时日志条数为5~20条,而当前检测时刻的前一小时其却报出了30条日志,则判定当前检测时刻为离群点,即当前的检测点易于历史点的历史变化范围。
56.在本技术一些实施例中,进行确定动态阈值时,可以对所述训练数据中的每一类别日志进行归一化处理,得到归一化数值;根据所述归一化数值计算日志总体的标准差;根据所述日志总体的标准差设定每一类别日志的对应的动态阈值。在此,对训练数据的日志量进行归一化处理,即将其等比例缩小到0~1变化区间,随后对归一化的数值计算其总体标准差,标准差取值区间为0~1,其越小则说明前期数据(训练数据)越稳定,则对当前检测时刻的检测点进行突变检测时设定阈值越小,检测灵敏度越高;标准差数值越大,则说明前期数据越不稳定,随机离散度高,则对检测点进行突变检测时设定阈值越大,检测灵敏度越低。例如,标准差在0~0.2范围内,则突变检测的判断阈值为历史数据(训练数据)平均值的1.2倍,即比如对于a类日志,获取到前14天的每小时的日志量进行平均值计算,然后取该平均值的1.2倍作为a类日志的动态阈值;若检测a类日志时,当前检测时刻对应的日志量超过该动态阈值,则判定为异常。又例如标准差在0.5~0.8范围,则突变检测的判断阈值为历史数据平均值的4倍,若当前检测时刻对应的日志量超过此刻的动态阈值(即平均值的4倍),则判定为异常。
57.在本技术一些实施例中,在步骤s13中,若检测结果为当前检测时刻为突变点,则计算所述当前检测时刻与所述训练数据的平均值的比率;判断所述比率是否超过所述动态阈值,若超过,则所述当前检测时刻为异常点。在此,当进行突变检测时,检测出当前检测时刻对应的日志量超过动态阈值,则说明该当前检测时刻为突变点,此时计算检测点与训练数据的平均值的比率,若该比率超过动态阈值,则判定当前检测时刻为异常点。从而仅对历史数据的学习即可对当前点进行检测,无需提前训练和人为标记,适用性高、计算速度快以及应用范围广。
58.在本技术一具体实施例中,如图2所示,获得原始日志,该原始日志为监控数据,首先基于字段及词序对该原始日志相似度进行聚类处理,将原始日志划分为若干类,比如使
用drain3进行聚类,划分为a、b、c
……
类;接着,分别统计a、b、c
……
类日志的单位时间日志量的时间序列数据,积累并输出时间序列数据(比如积累14天),将输出的前期数据作为训练数据,对该训练数据进行稳定性判定,若稳定,则对检测点数值进行计算,判定其是否为离群点,若是,则对训练点数值进行归一化处理,计算标准差并确定动态阈值,从而输出动态阈值进行突变点检测,计算检测点与前期数据的平均值的比率,若该比率超过动态阈值,则判定检测点为异常点;从而实现针对时间序列日志监控数据的无监督异常发现,从日志量层面发现日志异常,通过检测异于历史的日志量变化达到检测异常事件的目的。
59.此外,本技术实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种的方法。
60.与上文所述的方法相对应的,本技术还提供一种终端,其包括能够执行上述图1或图2或各个实施例所述的方法步骤的模块或单元,这些模块或单元可以通过硬件、软件或软硬结合的方式来实现,本技术并不限定。例如,在本技术一实施例中,还提供了一种日志数据异常检测的设备,所述设备包括:
61.一个或多个处理器;以及
62.存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
63.例如,计算机可读指令在被执行时使所述一个或多个处理器:
64.按照日志相似度对原始日志进行聚类处理,得到若干类别日志;
65.统计每一类别日志在当前检测时刻的前预设时间内的单位时间的日志量,得到每一类别日志的时间序列的日志量数据;
66.根据所述每一类别日志的时间序列的日志量数据及对应的动态阈值判断当前检测时刻是否为异常点。
67.图3示出本技术又一个方面提供一种日志数据异常检测的设备的结构示意图,所述设备包括:聚类装置11、统计装置12及检测装置13,其中,聚类装置11用于按照日志相似度对原始日志进行聚类处理,得到若干类别日志;统计装置12用于统计每一类别日志在当前检测时刻的前预设时间内的单位时间的日志量,得到每一类别日志的时间序列的日志量数据;检测装置13用于根据所述每一类别日志的时间序列的日志量数据及对应的动态阈值判断当前检测时刻是否为异常点。
68.需要说明的是,聚类装置11、统计装置12及检测装置13执行的内容分别与上述步骤s11、s12和s13中的内容相同或相应相同,为简明起见,在此不再赘述。
69.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
70.需要注意的是,本技术可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本技术的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本技术的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本技术的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
71.另外,本技术的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本技术的方法和/或技术方案。而调用本技术的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本技术的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本技术的多个实施例的方法和/或技术方案。
72.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜