一种日志的归类方法及系统与流程

文档序号:14796857发布日期:2018-06-29 19:12阅读:132来源:国知局

本发明涉及归类分析技术领域,尤其涉及一种日志的归类方法及系统。



背景技术:

如今,伴随着网络技术的发展,互联网中每天至少产生几百万条原始日志为了减少日志存储占用空间、提高日志分析效率、提高有用日志的可读性,需要对原始日志进行归类,抛除无分析价值的日志,将有价值日志进行归类分析。只有与告警事件相关的日志,才更有分析和存储价值。因此,将原始日志归类到各类告警事件,保留与各类告警事件相关的日志,抛弃其他无用日志,才能让日志分析人员高效处理这些数据,同时又能大大节省日志存储空间。

发明人对于海量日志信息的归类方法进行研究发现,现有的日志的归类方法如K-M EANS、K-MEDOIDS以及CHAM ELEON等,上述的归类方法的误差高,得到的归类结果准确性并不是很高,存在误判、漏判的情况。



技术实现要素:

有鉴于此,本发明提供了一种日志的归类方法,用以解决现有技术中归类结果准确性并不是很高,存在误判、漏判的情况的问题。具体方案如下:

一种日志的归类方法,包括:

获取所述目标日志中包含的目标关键代码;

解析所述目标关键代码对应的目标连续片段,所述目标连续片段由预设数量的日志状态序列组成;

计算所述目标连续片段中的各个日志状态序列与预设的告警事件代码库中的目标告警事件连续片段中各个目标告警事件状态序列之间的第一距离测度;

判断所述第一距离测度是否小于采用预设的计算方法计算得到的距离测度阈值,若是,将所述目标日志归类到目标告警事件对应的分类中。

上述的方法,可选的,还包括:

若否,分别计算所述目标连续片段中的各个状态序列与所述预设的告警事件代码库其余的各个告警事件连续片段中的告警事件状态序列之间对应的第二距离测度;

判断是否存在一个第二距离测度小于与其对应的预设的距离测度阈值;

若是,将所述目标日志存储到与所述第二距离测度对应的告警事件的分类中。

上述的方法,可选的,还包括:

若否,判定所述目标日志为无用日志,对所述无用日志进行舍弃处理。

上述的方法,可选的,计算所述目标连续片段中的各个日志状态序列分别与预设的告警事件代码库中的目标告警事件连续片段中各个目标告警事件状态序列之间的第一距离测度包括:

确定计算所述第一距离测度的第一表达式;

解析所述第一表达式中与所述第一距离测度关联的第一权重;

采用预设的第一优化函数对所述第一权重进行优化,得到目标权重;

将所述目标权重传递给所述第一表达式,计算得到所述第一距离测度。

上述的方法,可选的,采用预设的计算方法计算得到的距离测度阈值,包括:

任意选取与所述目标告警事件类型相同的第一日志样本和与所述目标告警事件类型不同的第二日志样本;

解析所述第一日志样本对应的第一连续片段和所述第二日志样本对应的第二连续片段;

将所述目标权重,所述第一连续片段,所述第二连续片段和所述目标告警事件连续片段传递到预设的第二优化函数中进行计算,令所述第二优化函数取最小值,所述最小值为距离测度阈值。

一种日志的归类系统,包括:

获取模块,用于获取所述目标日志中包含的目标关键代码;

解析模块,用于解析所述目标关键代码对应的目标连续片段,所述目标连续片段由预设数量的日志状态序列组成;

第一计算模块,用于计算所述目标连续片段中的各个日志状态序列与预设的告警事件代码库中的目标告警事件连续片段中各个目标告警事件状态序列之间的第一距离测度;

第一判断模块,用于判断所述第一距离测度是否小于采用预设的计算方法计算得到的距离测度阈值,若是,将所述目标日志归类到目标告警事件对应的分类中。

上述的系统,可选的,还包括:

第二计算模块,用于若否,分别计算所述目标连续片段中的各个状态序列与所述预设的告警事件代码库其余的各个告警事件连续片段中的告警事件状态序列之间对应的第二距离测度;

第二判断模块,用于判断是否存在一个第二距离测度小于与其对应的预设的距离测度阈值;

归类模块,用于若是,将所述目标日志存储到与所述第二距离测度对应的告警事件的分类中。

上述的系统,可选的,还包括:

舍弃模块,用于若否,判定所述目标日志为无用日志,对所述无用日志进行舍弃处理。

上述的系统,可选的,所述第一计算模块包括:

第一确定单元,用于确定计算所述第一距离测度的第一表达式;

解析单元,用于解析所述第一表达式中与所述第一距离测度关联的第一权重;

优化单元,用于采用预设的第一优化函数对所述第一权重进行优化,得到目标权重;

计算单元,用于将所述目标权重传递给所述第一表达式,计算得到所述第一距离测度。

上述的系统,可选的,所述第一判断模块包括:

选取单元,用于任意选取与所述目标告警事件类型相同的第一日志样本和与所述目标告警事件类型不同的第二日志样本;

解析单元,用于解析所述第一日志样本对应的第一连续片段和所述第二日志样本对应的第二连续片段;

第二确定单元,用于将所述目标权重,所述第一连续片段,所述第二连续片段和所述目标告警事件连续片段传递到预设的第二优化函数中进行计算,令所述第二优化函数取最小值,所述最小值为距离测度阈值。与现有技术相比,本发明包括以下优点:

本发明公开了一种日志的归类方法,包括:获取所述目标日志中包含的目标关键代码;解析所述目标关键代码对应的目标连续片段,所述目标连续片段由预设数量的日志状态序列组成;计算所述目标连续片段中的各个日志状态序列与预设的告警事件代码库中的目标告警事件连续片段中各个目标告警事件状态序列之间的第一距离测度;判断所述第一距离测度是否小于采用预设的计算方法计算得到的距离测度阈值,若是,将所述目标日志归类到目标告警事件对应的分类中。上述的方法,通过计算所述第一距离测度,可以将所述目标日志归类到对应的告警事件,避免了现有的日志归类过程中,归类结果准确性并不是很高,存在误判、漏判的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种日志的归类方法流程图;

图2为本发明实施例公开的一种日志的归类方法又一方法流程图;

图3为本发明实施例公开的一种日志的归类方法又一方法流程图;

图4为本发明实施例公开的一种日志的归类系统结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

本发明提供了一种日志的归类方法,所述归类方法应用于对海量的原始日志的分类处理过程中,依据上述的归类方法实现对海量日志的告警日志的归类并将海量的原始日志中的无用日志进行删除,大大节省了日志的存储空间。其中,原始日志指:网络设备、系统及服务程序等,在运作时都会产生一个叫log的日志记录,每一行日志都记载着日期、时间、使用者及动作等相关操作的描述。告警事件指:可能会引起报警的告警事件,与告警事件相关的原始日志代码更有分析价值。所述归类方法的执行主体可以包含上述归类方法的处理器或者控制器,所述处理器或者控制器运行在终端平台上。所述归类方法的执行流程如图1所示,包括步骤:

S101、获取所述目标日志中包含的目标关键代码;

本发明实施例中,所述目标日志为当前待归类的日志,所述目标日志是在海量的原始日志中任意选取的一个。所述目标日志的组成:

[时间][模块名][具体日志]

通过对海量原始日志进行归类,可以得到各类告警事件的日志条数,以及每类告警事件出现的时间及具体日志代码。这样可以极大的方便日志分析人员查阅、分析这些日志。由于在进行归类比较时,“时间”和“模块名”没有比较意义,“具体日志”才在归类比较的关键,因此,本发明实施例中,所述关键代码指具体日志。

S102、解析所述目标关键代码对应的目标连续片段,所述目标连续片段由预设数量的日志状态序列组成;

本发明实施例中,解析所述日志关键代码的得到与所述目标关键代码对应的所述目标连续片段为而满足以下表达式:

其中,Xik是中的第k个日志状态序列,即第k个属性代码。

S103、计算所述目标连续片段中的各个日志状态序列与预设的告警事件代码库中的目标告警事件连续片段中各个目标告警事件状态序列之间的第一距离测度;

本发明实施例中,所述目标连续片段中各个日志状态的数量与所述预设的告警事件代码库中任意一个告警事件代码连续片段中告警事件状态序列的数量相同,依据加权Euclidean算法计算所述第一距离测度。

其中,所述预设的告警事件代码库中存储有不同类型的告警事件连续片段,依据所述目标日志的类型,在预设的告警事件代码库中对应的目录下查找与所述目标日志匹配的目标告警事件连续片段。

S104、判断所述第一距离测度是否小于采用预设的计算方法计算得到的距离测度阈值,若是,将所述目标日志归类到目标告警事件对应的分类中。

本发明实施例中,将所述第一距离测度与采用预设的计算方法计算得到的距离测度阈值进行对比,当所述第一距离测度小于所述距离测度阈值时,将所述目标日志归类到目标告警事件对应的分类中。

本发明实施例中,一系列的原始日志关键代码连续片段关键代码连续片段由n个属性构成,这样它们就组成了一个n步程序状态序列的连续片段。不同日志类型的日志,其属性的个数不同,如windows日志的n个属性包括:用户IP地址、应用、服务器动作等;log4g日志的n个属性包括:用户IP地址、文件位置、访问状态等;rsyslog日志的n个属性包括:源IP、目的IP、源端口、目的端口、服务器动作等。日志类型确定后,日志关键代码中的属性代码顺序也是确定的。优选的,本发明实施例中,所提到的海量的原始日志默认为某一特定类型的日志。

本发明实施例中,所述预设的告警事件代码库的建立过程如下:

每一类型告警事件都有自己的特征代码,如告警事件“Mcafee的威胁检测”的特征代码是:

{″query″:{″bool″:{″must″:[{″term″:{″EventlD″:4660}},{

″match″:{″SourceName″:″kaspersky.threat″}},{″match″:

{″Message″:″threats.have.been.detected″}}],″filter″:{″range″:

{″@timestamp″:{″gt″:″now-%sm″}}}}}

与原始日志关键代码一样,一系列的告警事件特征代码连续片段告警事件特征代码也是一个n步程序状态序列这样就能得到告警事件特征代码行为特征的定义。

告警事件特征代码样本行为特征的连续片段为而是在状态序列集合Ω上的一个向量,可以被表示为:

其中,

将这些告警事件特征代码存放在一起,形成了预设的告警事件特征代码库。

本发明公开了一种日志的归类方法,包括:获取所述目标日志中包含的目标关键代码;解析所述目标关键代码对应的目标连续片段,所述目标连续片段由预设数量的日志状态序列组成;计算所述目标连续片段中的各个日志状态序列与预设的告警事件代码库中的目标告警事件连续片段中各个目标告警事件状态序列之间的第一距离测度;判断所述第一距离测度是否小于采用预设的计算方法计算得到的距离测度阈值,若是,将所述目标日志归类到目标告警事件对应的分类中。上述的方法,通过计算所述第一距离测度,可以将所述目标日志归类到对应的告警事件,避免了现有的日志归类过程中,归类结果准确性并不是很高,存在误判、漏判的问题。

本发明实施例中,上述的归类方法还包括:

S201、若否,分别计算所述目标连续片段中的各个状态序列与所述预设的告警事件代码库其余的各个告警事件连续片段中的告警事件状态序列之间对应的第二距离测度;

本发明实施例中,将所述预设的告警事件代码库中与所述目标日志的类型相同的目录下的其余各个告警事件连续片段分别采用S101-S104所述归类方法进行计算,得到所述目标连续片段与所述其余各个告警事件特征代码对应的多个第二距离测度。

S202、判断是否存在一个第二距离测度小于与其对应的预设的距离测度阈值;

本发明实施例中,将每一个第二距离测度与其对应的采用预设的计算方法计算得到的预设的距离测度阈值进行比较,判断是否存在一个第二距离测度小于与其对应的预设的距离测度阈值。

S203、若是,将所述目标日志存储到与所述第二距离测度对应的告警事件的分类中。

本发明实施例中,当存在一个第二距离测度小于与其对应的预设的距离测度阈值时,将所述目标日志存储到对应的告警事件分类中。

本发明实施例中,上述的分类过程还包括:当不存在一个第二距离测度小于与其对应的预设的距离测度阈值时,判定所述目标日志为无用日志,对所述无用日志进行舍弃处理。上述舍弃的操作,节省了日志的存储空间。

为了能够对原始日志与告警事件进行相似度的比较,本发明实施例中,引入了向量相似度测度方法,用于判断和计算两个向量的相似程度。所述目标日志关键代码并不一定和所述目标告警事件特征代码100%一样,所以需要通过“距离”来识别某一条日志是否和已知的告警事件达到一定的相似度,若相似度非常高,就可以把这条日志归类为该告警事件。因此,通过两个向量的距离测度的方法可以判断出原始日志关键代码状态语句序列与告警事件特征代码状态语句序列的相似程度,从而分析出该原始日志关键代码是否与告警事件特征代码相似,进而得出该原始日志代码是否归属于该类告警事件。

首先,我们对两个向量间的距离测度进行了如下的定义。

向量与之间距离测度应该满足以下三个条件:

(1)当且仅当时,有

(2)

(3)

本发明实施例中,计算所述目标连续片段中的各个日志状态序列分别与预设的告警事件代码库中的目标告警事件连续片段中各个目标告警事件状态序列之间的第一距离测度的流程如图3所示,包括步骤:

S301、确定计算所述第一距离测度的第一表达式;

本发明实施例中,优选的,应用加权的Euclidean距离(欧氏距离)对距离测度进行了描述。

其中,公式(3)为计算所述第一距离测度的第一表达式。

S302、解析所述第一表达式中与所述第一距离测度关联的第一权重;

本发明实施例中,由于告警事件连续片段的状态序列存在有序性条件的约束,不用考虑之间距离的“大小”差别,因此可以定义:

其中,ak>0。上述式子中的距离可描述为:

当时,可以判断为与相似。其中,d0是距离测度阈值,ak是第一权重。

S303、采用预设的第一优化函数对所述第一权重进行优化,得到目标权重;

本发明实施例中,在初始情况下,ak=1,k=1,2,...,n。经过学习可以对距离测度进行校正。这时,存在一系列与特定目标告警事件类型相同的第一日志样本连续片段:

已知的一系列与特定目标告警事件类型不同的第二日志样本连续片段:

其中,可能是其他类型告警事件连续片段,也可能不是告警事件连续片段(即正常日志的连续片段)。

通过最优化问题进行求解,可以得到以下表达式:

上式中,G是目标的告警事件特征代码。由于是一个已知的非告警事件关键代码的连续片段,所以与G越不相似越好,因此,距离越大越好;而是一个与所述目标告警事件类型相同的告警事件特征代码的连续片段,因此与G约相似越好,即距离越小越好,因此两个距离之差越大越好。公式(6)就是为了求一组最优的{ak},使得两者距离之差最大。

{ak}初始值全部为1,如果{ak}的解不唯一,那么优先选择尾部的尽可能多的位数保持为1的那些解。经过不断的学习,可以校正{ak}的取值,得到获得最优解目标权重。

S304、将所述目标权重传递给所述第一表达式,计算得到所述第一距离测度。

本发明实施例中,将所述目标权重传递给公式(5)进行计算,得到所述第一距离测度。

本发明实施例中,所述距离测度阈值d0的计算过程如下:

在进行{ak}优化完成之后,选取合适的阀值d0作为告警事件行为特征判断标准,给定显著性参数α=0.005,这时d0有以下优化问题求解可以得到:

其中,上式中,G是目标的告警事件特征代码,即判断标准。由于是一个已知的非告警事件关键代码的连续片段,而是一个与所述目标告警事件类型相同的告警事件特征代码的连续片段。

公式(7)是为了获取最佳的d0取值,判断标准的设置应该是在优先保证识别告警事件的准确度达到一定要求、漏判的情况足够小的前提下,优化参数d0的设置,使得非告警事件关键代码被误判为告警事件特征代码的几率尽可能小。

通过实验进行学习校正,可以得到最优的d0取值。

通过上述的方法,已经确定了{ak}与d0的取值,当时,即可判定向量与向量相似,即原始日志代码Xi与告警日志特征代码Yj相似,亦即原始日志Xi可以归类为告警事件Yj,反之,则说明原始日志Xi不可以归类为告警事件Yj。

本发明实施例中,与上述的日志的归类方法相对应的,本发明还提供了一种日志的归类系统,所述归类系统的结构如图4所示,包括:

获取模块401,解析模块402,第一计算模块403和第一判断模块404。

其中,

所述获取模块401,用于获取所述目标日志中包含的目标关键代码;

所述解析模块402,用于解析所述目标关键代码对应的目标连续片段,所述目标连续片段由预设数量的日志状态序列组成;

所述第一计算模块403,用于计算所述目标连续片段中的各个日志状态序列与预设的告警事件代码库中的目标告警事件连续片段中各个目标告警事件状态序列之间的第一距离测度;

所述第一判断模块404,用于判断所述第一距离测度是否小于采用预设的计算方法计算得到的距离测度阈值,若是,将所述目标日志归类到目标告警事件对应的分类中。

本发明公开了一种日志的归类系统,包括:获取所述目标日志中包含的目标关键代码;解析所述目标关键代码对应的目标连续片段,所述目标连续片段由预设数量的日志状态序列组成;计算所述目标连续片段中的各个日志状态序列与预设的告警事件代码库中的目标告警事件连续片段中各个目标告警事件状态序列之间的第一距离测度;判断所述第一距离测度是否小于采用预设的计算方法计算得到的距离测度阈值,若是,将所述目标日志归类到目标告警事件对应的分类中。上述的系统,通过计算所述第一距离测度,可以将所述目标日志归类到对应的告警事件,避免了现有的日志归类过程中,归类结果准确性并不是很高,存在误判、漏判的问题。

本发明实施例中,所述归类系统还包括:

第二计算模块405,第二判断模块406和归类模块407。

其中,

所述第二计算模块405,用于若否,分别计算所述目标连续片段中的各个状态序列与所述预设的告警事件代码库其余的各个告警事件连续片段中的告警事件状态序列之间对应的第二距离测度;

所述第二判断模块406,用于判断是否存在一个第二距离测度小于与其对应的预设的距离测度阈值;

所述归类模块407,用于若是,将所述目标日志存储到与所述第二距离测度对应的告警事件的分类中。

本发明实施例中,所述归类系统还包括:舍弃模块408。

其中,

所述舍弃模块408,用于若否,判定所述目标日志为无用日志,对所述无用日志进行舍弃处理。

本发明实施例中,所述第一计算模块403包括:

第一确定单元409,解析单元410,优化单元411和计算单元412。

其中,

所述第一确定单元409,用于确定计算所述第一距离测度的第一表达式;

所述解析单元410,用于解析所述第一表达式中与所述第一距离测度关联的第一权重;

所述优化单元411,用于采用预设的第一优化函数对所述第一权重进行优化,得到目标权重;

所述计算单元412,用于将所述目标权重传递给所述第一表达式,计算得到所述第一距离测度。

本发明实施例中,所述第一判断模块404包括:

选取单元413,解析单元414和第二确定单元415。

其中,

所述选取单元413,用于任意选取与所述目标告警事件类型相同的第一日志样本和与所述目标告警事件类型不同的第二日志样本;

所述解析单元414,用于解析所述第一日志样本对应的第一连续片段和所述第二日志样本对应的第二连续片段;

所述第二确定单元415,用于将所述目标权重,所述第一连续片段,所述第二连续片段和所述目标告警事件连续片段传递到预设的第二优化函数中进行计算,令所述第二优化函数取最小值,所述最小值为距离测度阈值。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1