掌桥专利:专业的专利平台
掌桥专利
首页

一种日志归类分析方法、装置、设备及可读存储介质

文献发布时间:2023-06-19 10:29:05


一种日志归类分析方法、装置、设备及可读存储介质

技术领域

本发明涉及日志管理技术领域,特别是涉及一种日志归类分析方法、装置、设备及可读存储介质。

背景技术

随着互联网的飞速发展,云操作系统已经越来越流行,但由于其庞大的规模和高度的复杂性,云操作系统运行时,更容易出现各种各样的问题。因此,如何保障可靠性,已经成为系统设计和管理中的一个重要问题。在现代大规模分布式系统的管理中,系统日志一直是检测系统状态的主要来源。系统运行产生的大量日志记录通常是系统管理员排除故障的主要信息来源。由于现代系统的规模与日俱增,系统复杂度也不断提升,各种组件生成大量的日志信息,有可能出现比如系统有潜在异常,但被淹没在海量日志中;又比如新版本上线,系统行为有变化,却无法感知等情况,这对于系统管理员排障是一个巨大的挑战。

综上所述,如何提供针对海量日志有效的信息分析手段,是目前本领域技术人员急需解决的技术问题。

发明内容

本发明的目的是提供一种日志归类分析方法、装置、设备及可读存储介质,可以对海量日志实现快速有效的分类标记,有利于发现日志中的规律和共性问题,方便从海量日志中排查问题定位故障以及日志的存储。

为解决上述技术问题,本发明提供如下技术方案:

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

获取待分析的原始日志;

解析所述原始日志中的所有数据字段,并根据所述数据字段对所述原始日志进行结构化重排,得到结构化日志;

提取所述结构化日志中的所有分词;

筛选出所述分词中的重要分词,并确定所述重要分词对应的分词编号;

将所述重要分词对应的分词编号,按照所述重要分词在所述原始日志中的排布顺序进行日志表示,得到日志向量;

调用预训练的神经网络模型对所述日志向量进行日志归类处理,得到归类化后的日志。

可选地,筛选出所述分词中的重要分词,并确定所述重要分词对应的分词编号,包括:

确定所述原始日志的信息统计类型;

判断是否存在所述信息统计类型对应的分词库;

若存在所述分词库,判断所述分词是否在所述分词库中存在对应项;

若存在对应项,将存在对应项的分词作为重要分词,并对照所述分词库提取所述重要分词对应的分词编号。

可选地,所述日志归类分析方法还包括:

获取所述分词中不存在对应项的分词,作为差异分词;

接收用户对于所述差异分词中重要分词以及无关分词的指定;

将用户指定的所述差异分词中重要分词创建对应的分词编号,并添加至所述分词库中。

可选地,若不存在所述信息统计类型对应的分词库,所述日志归类分析方法包括:

提取所述结构化日志中包含的分词,并删除所述分词中的重复项,生成分词全表;

接收用户对于所述分词全表中无关分词的删除指令,从所述分词全表中删除所述无关分词,作为重要分词表;

对所述重要分词表中各分词创建对应的分词编号,得到分词库,并执行所述判断所述分词是否在所述分词库中存在对应项的步骤。

可选地,若不存在所述信息统计类型对应的分词库,所述日志归类分析方法包括:

提取所述结构化日志中包含的分词,并统计各所述分词对应的出现次数,生成分词频率统计表;

删除所述分词频率统计表中出现次数低于阈值的分词,生成高频分词统计表;

对所述高频分词统计表中各分词创建对应的分词编号,得到分词库,并执行所述判断所述分词是否在所述分词库中存在对应项的步骤。

可选地,所述解析所述原始日志中的所有数据字段,包括:

确定所述原始日志的数据字段排布类型;

获取所述数据字段排布类型对应的解析规则;

调用所述解析规则对所述原始日志进行数据字段提取。

可选地,所述调用预训练的神经网络模型对所述日志向量进行日志归类处理,得到归类化后的日志,包括:

调用预训练的LVQ神经网络模型对所述日志向量进行日志归类处理,得到归类化后的日志。

一种日志归类分析装置,包括:

日志获取单元,用于获取待分析的原始日志;

日志结构化单元,用于解析所述原始日志中的所有数据字段,并根据所述数据字段对所述原始日志进行结构化重排,得到结构化日志;

分词提取单元,用于提取所述结构化日志中的所有分词;

编号确定单元,用于筛选出所述分词中的重要分词,并确定所述重要分词对应的分词编号;

向量表示单元,用于将所述重要分词对应的分词编号,按照所述重要分词在所述原始日志中的排布顺序进行日志表示,得到日志向量;

归类分析单元,用于调用预训练的神经网络模型对所述日志向量进行日志归类处理,得到归类化后的日志。

一种计算机设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述日志归类分析方法的步骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述日志归类分析方法的步骤。

应用本发明实施例所提供的方法,通过对原始日志根据数据字段进行统一结构化重排,实现不同格式不同数据内容下日志的统一处理,消除格式差异,得到结构化日志后根据其中的重要分词对应的编号,将日志转化为向量形式进行存储,可以提取共性部分保留独立信息,减少存储成本,然后调用预训练的神经网络模型对日志向量进行日志归类处理,实现了对海量日志分类标记,调用神经网络模型进行特征识别有利于发现日志中的规律和共性问题,方便从海量日志中排查问题,定位故障,同时为后续的功能比如日志异常检测打下基础,从而保障系统运行稳定,降低系统运维的复杂度。

相应地,本发明实施例还提供了与上述日志归类分析方法相对应的日志归类分析装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

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

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

图2为本发明实施例中一种日志归类分析装置的结构示意图;

图3为本发明实施例中一种计算机设备的结构示意图。

具体实施方式

本发明的核心是提供一种日志归类分析方法,可以对于海量日志实现有效的信息分析。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

申请人分析发现,目前难以根据系统日志实现有效的故障排除的一个重要原因在于是信息太多太杂不能良好归类,同时记录信息的日志,往往格式多样难以统一规范。因此申请人提出将日志采集并进行聚类模式学习,通过AI算法把海量日志划分为少数的几种模式,这样原来几千万行的日志被归类为几十条,以加快日志查看和故障排查的效率。

基于此,申请人提出了一种日志归类分析方法,请参考图1,图1为本发明实施例中一种日志归类分析方法的流程图,该方法包括以下步骤:

S101、获取待分析的原始日志;

待分析的原始日志为系统自动生成的日志,本实施例中对于原始日志中记录的数据对象、日志格式不做限定,本实施例可以实现不同的设备以及不同的系统下针对不同数据对象生成的海量日志的快速归类分析。

S102、解析原始日志中的所有数据字段,并根据数据字段对原始日志进行结构化重排,得到结构化日志;

原始日志中存在对应的数据记录规则,即生成该原始日志的系统的日志记录规则,按照该规则进行数据字段的组装后即可得到原始日志。不同的原始日志中数据记录规则可能不同,为便于对不同数据格式不同记录对象下原始日志的统一分析,本实施例汇总对所有日志进行统一结构化重排,消除格式差异。

本步骤中需要确定该原始日志中的记录规则,确定其中包含的所有数据字段,比如时间、特殊字符、IP等,具体的数据字段的划分可以根据实际日志解析的需要进行设定。

根据数据字段对原始日志进行结构化重排,将半结构化、非结构化的原始日志转换成结构化日志,方便后续的内容分析。

如下表1所示为两个syslog原始日志:

表1

按列可以结构化为时间戳、日志来源、日志内容等字段,对于表1所示的原始日志进行结构化重排后得到的一种结构化日志如下表2所示:

表2

可见,经过结构化重排后的原始日志记录的每个数据项清晰明确,方便对于后续日志的精准分析。需要说明的是,本实施例中对于数据字段的解析的实现方式不做限定,由于不同的日志对应的据字段排布规则可能不同,为便于快速字段解析,一种解析原始日志中的所有数据字段的实现方式如下所示:

(1)确定原始日志的数据字段排布类型;

数据字段排布类型可以根据原始日志的类型或者记录的数据对象等因素来确定。

(2)获取数据字段排布类型对应的解析规则;

(3)调用解析规则对原始日志进行数据字段提取。

上述数据字段的解析方式中预先配置各种数据字段排布类型对应的解析规则,通过数据字段排布类型实现解析规则的快速匹配,可以加快解析进程,提升解析效率。

本实施例中仅以上述实现方式为例进行详细介绍,其他解析方式,比如确定原始日志中的关键字,根据关键字进行字段的提取,或者根据预先设置的解字段解析规则进行解析等,均可参照本实施例的介绍,在此不再赘述。

S103、提取结构化日志中的所有分词;

提取结构化日志中可以识别到的所有分词,比如结构化日志中的日志信息为connection from UDP,则提取到的分词可以为:connection,from,UDP。针对结构化日志中分词的提取实现方式可以参照相关技术中分词的提取实现方式,本实施例中对此不再赘述。

S104、筛选出分词中的重要分词,并确定重要分词对应的分词编号;

根据预设规则筛选出分词中的重要分词,删除干扰分词以及无用分词,需要说明的是,本实施例中重要分词指所有分词中用户关注的重要程度高的分词,在后续归类分析中主要依据日志中包含的重要分词进行深度分析,重要分词比如IP地址、端口号、16进制数、url链接等,具体的对于重要分词的筛选规则以及实现方式本实施例中不做限定,重要分词可以由用户指定,也可以对照预设的重要分词表进行比对确定,可以根据实际信息分析的需要进行相应设定。

筛选出所有分词中的重要分词后,为重要分词创建唯一的分词编号,以便于后续的日志管理以及识别。

需要说明的是,针对每个原始日志都单独设置一份重要分词及其编号的对应关系数据,以便于对于每个原始日志的精准特征分析。

如下表3所示为一种原始日志的重要分词与对应的分词编号示意,其他基于本实施例的分词以及编号设置均可参照下表:

表3

S105、将重要分词对应的分词编号,按照重要分词在原始日志中的排布顺序进行日志表示,得到日志向量;

将日志内容的分词用分词编号替换,忽略未包含在分词库中的分词,并保持分词原有的相对顺序,将日志文本转换为向量表示。

一种日志序号对应的日志信息与日志向量间的对应关系如下表4所示:

表4

将日志转换为向量形式存储后,一方面有利于发现日志中的规律和共性问题,方便从海量日志中排查问题,定位故障,同时为后续的功能比如日志异常检测打下基础,另一方面海量日志仅需少量日志模式表示,提取共性部分保留独立信息,减少存储成本。

S106、调用预训练的神经网络模型对日志向量进行日志归类处理,得到归类化后的日志。

本实施例中利用神经网络模型对海量系统日志进行归类,极大的提升了分类的精准度,为后续的功能比如日志异常检测打下基础,保障了系统运行稳定,降低了系统运维的复杂度。

对于神经网络模型的网络类型本实施例中不做限定,如今人工神经网络已发展出百余种模型和多种建立方法,可以根据模型训练的需要以及精准度的要求进行模型的选择。比如可以调用预训练的LVQ神经网络模型对日志向量进行日志归类处理,得到归类化后的日志。

LVQ神经网络全称学习向量量化神经网络,是一种在有教师状态下对竞争层进行训练的学习算法,在模式识别领域有着广泛的应用,LVQ网络结构简单,训练收敛速度快,非常适合进行模式识别与分类。

除了LVQ神经网络之外,还可以选用其他类型的网络模型,其他类型的网络模型的设置均可参照本实施例的介绍。

为加深理解,在此介绍一种LVQ神经网络模型的训练方法,主要可以包括以下几个步骤:

(1)设置模型参数,其中包括权值矩阵,学习函数,学习速率;

(2)初始化模型,给各个权值矩阵一个比较小的随机非零向量;

(3)输入日志向量,对网络进行训练;

(4)根据训练结果与目标输出的比较,由Kohonen规则修正竞争层权值向量;

(5)判断是否已经到了最大迭代次数,若到,转到第6步;若未到,转至第3步;

(6)判断是否学习完所有的样本,是则结束,否则转到第3步。

本发明实施例所提供的技术方案,通过对原始日志根据数据字段进行统一结构化重排,实现不同格式不同数据内容下日志的统一处理,消除格式差异,得到结构化日志后根据其中的重要分词对应的编号,将日志转化为向量形式进行存储,可以提取共性部分保留独立信息,减少存储成本,然后调用预训练的神经网络模型对日志向量进行日志归类处理,实现了对海量日志分类标记,调用神经网络模型进行特征识别有利于发现日志中的规律和共性问题,方便从海量日志中排查问题,定位故障,同时为后续的功能比如日志异常检测打下基础,从而保障系统运行稳定,降低系统运维的复杂度。

需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。

上述实施例中对于重要分词的筛选规则不做限定,本实施例中介绍一种重要分词的确定方式,具体如下:

(1)确定原始日志的信息统计类型;

信息统计类型可以根据原始日志中记录的数据对象进行划分,比如记录的都为CPU的运行信息,或者记录的都为服务器风扇的故障信息等;或者可以根据生成数据对象所属的设备进行划分等,比如记录的都为服务器信息,或者都为外接设备的信息等,本实施例中对此不做限定。对于不同的原始日志的内容,根据其记录的信息以及分词的相似度进行信息统计类型的划分,不同的信息统计类型下配置对应的分词库,分词库中记录有常规的重要分词,从而便于根据分词库快速定位重要分词,实现快速分析。

(2)判断是否存在信息统计类型对应的分词库;

(3)若存在分词库,判断分词是否在分词库中存在对应项;

(4)若存在对应项,将存在对应项的分词作为重要分词,并对照分词库提取重要分词对应的分词编号。

需要说明的是,上述方法中对于分词中不存在对应项的分词的实现方式不做限定,一种实现方式如下:

(5)获取分词中不存在对应项的分词,作为差异分词;

(6)接收用户对于差异分词中重要分词以及无关分词的指定;

(7)将用户指定的差异分词中重要分词创建对应的分词编号,并添加至分词库中。

分词库中记录的分词有限,在系统的运行中可能随时出现一些新的但是重要的信息需要后续分析中使用,为实现分词库中重要分词的及时更新,上述实现方法中将差异分词输出,接受用户对于重要性的指定,比如将某差异分析划定为重要分词,则将其添加至分词库中,实现分词库的更新,也便于后续信息分析的全面性。

另外,上述方法中对于不存在信息统计类型对应的分词库时对应的处理方式也不做限定,以下介绍两种实现方式:

(1.1)若不存在信息统计类型对应的分词库,则提取结构化日志中包含的分词,并删除分词中的重复项,生成分词全表;

(1.2)接收用户对于分词全表中无关分词的删除指令,从分词全表中删除无关分词,作为重要分词表;

(1.3)对重要分词表中各分词创建对应的分词编号,得到分词库,并执行判断分词是否在分词库中存在对应项的步骤。

上述方法中在遇到不存在的分词库后,通过提取所有分词,并接收用户对于其中所有分词的重要性的指定,即将一部分分词划定为重要分词,另一部分分词划定为无关分词,根据用户的指定创建分词库,可以快速定位用户关注点,方便后续根据用户指定的关注点进行日志的归类分析。

另一种处理方式如下:

(2.1)若不存在信息统计类型对应的分词库,则提取结构化日志中包含的分词,并统计各分词对应的出现次数,生成分词频率统计表;

(2.2)删除分词频率统计表中出现次数低于阈值的分词,生成高频分词统计表;

(2.3)对高频分词统计表中各分词创建对应的分词编号,得到分词库,并执行判断分词是否在分词库中存在对应项的步骤。

上述方法中在遇到不存在的分词库后,通过自动统计分词的出现频率,自动将高频分词作为重要分词,可以提升分词库的生成速度,快速定位重要分词,提升整体处理效率,实现归类分析的自动化。

本实施例中仅以上述两种实现方式为例进行介绍,其他实现方式均可参照上述介绍,在此不再赘述。

相应于上面的方法实施例,本发明实施例还提供了一种日志归类分析装置,下文描述的日志归类分析装置与上文描述的日志归类分析方法可相互对应参照。

参见图2所示,该装置包括以下模块:

日志获取单元110主要用于获取待分析的原始日志;

日志结构化单元120主要用于解析原始日志中的所有数据字段,并根据数据字段对原始日志进行结构化重排,得到结构化日志;

分词提取单元130主要用于提取结构化日志中的所有分词;

编号确定单元140主要用于筛选出分词中的重要分词,并确定重要分词对应的分词编号;

向量表示单元150主要用于将重要分词对应的分词编号,按照重要分词在原始日志中的排布顺序进行日志表示,得到日志向量;

归类分析单元160主要用于调用预训练的神经网络模型对日志向量进行日志归类处理,得到归类化后的日志。

相应于上面的方法实施例,本发明实施例还提供了一种计算机设备,下文描述的一种计算机设备与上文描述的一种日志归类分析方法可相互对应参照。

该计算机设备包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现上述方法实施例的日志归类分析方法的步骤。

具体的,请参考图3,为本实施例提供的一种计算机设备的具体结构示意图,该计算机设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在计算机设备301上执行存储器332中的一系列指令操作。

计算机设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。

上文所描述的日志归类分析方法中的步骤可以由计算机设备的结构实现。

相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种日志归类分析方法可相互对应参照。

一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的日志归类分析方法的步骤。

该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。

本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

相关技术
  • 一种日志归类分析方法、装置、设备及可读存储介质
  • 日志分析方法、装置、设备与计算机可读存储介质
技术分类

06120112567996