CN115102848B - 日志数据的提取方法、系统、设备及介质 - Google Patents
日志数据的提取方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN115102848B CN115102848B CN202210856244.4A CN202210856244A CN115102848B CN 115102848 B CN115102848 B CN 115102848B CN 202210856244 A CN202210856244 A CN 202210856244A CN 115102848 B CN115102848 B CN 115102848B
- Authority
- CN
- China
- Prior art keywords
- rule
- log
- normalization
- rule set
- matched
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013075 data extraction Methods 0.000 title claims description 13
- 238000010606 normalization Methods 0.000 claims abstract description 152
- 230000008569 process Effects 0.000 claims description 6
- 230000014509 gene expression Effects 0.000 abstract description 27
- 238000012550 audit Methods 0.000 description 26
- 238000004458 analytical method Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种日志数据的提取方法、系统、设备及介质,日志数据的提取方法包括:获取日志记录;在规则库中读取并保存所述日志记录有关的各范化规则,生成规则集合;在所述规则集合中查找是否存在与所述日志记录匹配的范化规则;若存在,则使用匹配的范化规则从所述日志记录中提取对应的日志数据。解决了使用正则表达式匹配日志记录易发生大量回溯,减慢运行速率的问题。
Description
技术领域
本发明涉及日志审计技术领域,具体涉及一种日志数据的提取方法、系统、设备及介质。
背景技术
随着大数据时代和物联网时代的到来,网络已经深入到工作的各个方面。每天网络中都会形成大量的日志,这些日志记录着网络资产的状态及网络服务的操作记录。对日志进行审计和分析能够协助操作人员监控和了解系统的运行状态。
传统的日志审计方式,需要经过日志采集阶段、解析阶段、入库阶段、检索阶段等多个环节。通常在日志采集阶段会对日志进行过滤,以过滤掉不需要统计的日志。然后在解析阶段通过日志审计设备,采用正则表达式的方式把日志中需要解析的字段提取出来,再将解析的字段进行入库和检索等其他阶段。
虽然使用正则表达式来识别数据块具有较好的通用性和扩展性,但在海量数据场景中存在如下缺陷:(1)正则表达式规则性能低下:一般的日志审计设备可以审计多种类型日志,在一些复杂现场可能存在安全设别、网络设备、主机、数据库、中间件、应用系统和虚拟化系统等多种系统,对应的规则有上百种。而将日志依次与上百种规则相匹配,直至找到到合适的规则,并解析出相应的字段非常耗费性能,尤其在正则表达式规则不匹配的情况下,会导致灾难性的正则表达式回溯现象。使得CPU资源大幅上升,影响其他正常功能。(2)高质量正则表达式规则编写对于运维人员的难度较大。因此,需要提供一种日志数据的提取方法、系统、设备及介质。
发明内容
鉴于以上现有技术的缺点,本发明的目的在于提供一种日志数据的提取方法,以改善现有技术中,使用正则表达式匹配日志记录易发生大量回溯,减慢运行速率、编写不规范的问题。
为实现上述目的及其它相关目的,本发明提一种日志数据的提取方法,包括以下过程:
获取日志记录;
在规则库中读取并保存所述日志记录有关的各范化规则,生成规则集合;
在所述规则集合中查找是否存在与所述日志记录匹配的范化规则;
若存在,则使用匹配的范化规则从所述日志记录中提取对应的日志数据。
在本发明一实施例中,所述日志记录中还记载有地址标识,所述地址标识表示所述日志记录的日志源。
在本发明一实施例中,所述在规则库中,读取并保存所述日志记录对应的各范化规则,生成规则集合,包括以下过程:
读取所述日志记录中的地址标识;
在所述规则库中,根据所述地址标识查找所述日志记录的日志源,其中,每个日志源具有多个不同的范化规则;
在所述规则库中,读取并保存所述日志源具有的多个范化规则,生成规则集合。
在本发明一实施例中,所述规则库中还记载有每个范化规则的优先级,所述日志源对应的多个范化规则按照优先级降序的顺序,记载在所述规则集合中。
在本发明一实施例中,所述在所述规则集合中查找是否存在与所述日志记录匹配的范化规则,是将所述规则集合与所述日志记录进行匹配实现的,所述规则集合与所述日志记录匹配的过程为:
S31、在所述规则集合中,选择优先级最高的范化规则作为待匹配范化规则;
S32、判断所述待匹配范化规则是否与所述日志记录匹配;
S33、若不匹配,在所述规则集合中依序选择另一个范化规则作为待匹配范化规则,返回步骤S32进行日志记录的匹配,直至所述规则集合中的各范化规则均不与所述日志记录匹配,则所述规则集合中不存在与所述日志记录匹配的范化规则。
在本发明一实施例中,所述在所述规则集合中查找是否存在与所述日志记录匹配的范化规则之前,还包括:
在所述规则集合中,选择优先级大于预设阈值的多个范化规则,生成第一子规则集合,将所述第一子规则集合与所述日志记录进行匹配;
若不匹配,在所述规则集合中选择优先级小于或等于所述阈值的多个范化规则,生成第二子规则集合;
根据所述日志记录中是否存在与所述第二子规则集合中范化规则相匹配的特征串,改变对应范化规则的优先级,更新所述第二子规则集合,作为当前的规则集合。
在本发明一实施例中,所述使用匹配的范化规则从所述日志记录中提取对应的日志数据之后,还包括:将所述日志数据保存至缓冲区间中。
在本发明一实施例中,还提供一种日志数据的提取系统,所述系统包括:
日志记录获取模块,用于获取日志记录;
规则集合生成模块,用于在规则库中读取并保存所述日志记录对应的各范化规则,生成规则集合;
范化规则获取模块,用于在所述规则集合中查找是否存在与所述日志记录匹配的范化规则;
数据提取模块,用于若存在,则使用匹配的范化规则从所述日志记录中提取对应的日志数据。
在本发明一实施例中,还提供一种日志数据的提取的设备,包括处理器,所述处理器与存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述任一项所述的方法。
在本发明一实施例中,还提供一种计算机可读存储介质,包括程序,当所述程序在计算机上运行时,使得计算机执行上述中任一项所述的方法。
综上所述,本发明中,通过日志审计设备获取需要解析的日志记录后,通过读取规则库中对应的各范化规则,并将这些范化规则保存到规则集合中。在规则集合中将各范化规则逐一与日志记录进行匹配,若规则集合中存在与日志记录匹配的范化规则,则使用匹配的范化规则提取日志记录中的相关日志数据。通过范化规则引用正则规则的方式,实现对日志记录的解析,由于范化规则更容易更改和扩展,提升了匹配性能。解决了使用正则表达式匹配日志记录易发生大量回溯,减慢运行速率、且正则表达式编写不规范的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1显示为本发明一实施例中日志数据的提取方法的流程示意图;
图2显示为本发明一实施例中根据日志源地址标识获取范化规则的流程示意图;
图3显示为本发明一实施例中规则集合与日志记录匹配的流程示意图;
图4显示为本发明一实施例中根据日志记录改变优先级的流程示意图;
图5显示为本发明一实施例中日志数据的提取系统的原理结构示意图。
组件标号说明:
10、日志数据的提取系统;11、日志记录获取模块;12、规则集合生成模块;13、范化规则获取模块;数据提取模块14。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其它优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。还应当理解,本发明实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本发明的保护范围。下列实施例中未注明具体条件的试验方法,通常按照常规条件,或者按照各制造商所建议的条件。
请参阅图1至图5。须知,本说明书附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容所能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
当实施例给出数值范围时,应理解,除非本发明另有说明,每个数值范围的两个端点以及两个端点之间任何一个数值均可选用。除非另外定义,本发明中使用的所有技术和科学术语与本技术领域的技术人员对现有技术的掌握及本发明的记载,还可以使用与本发明实施例中所述的方法、设备、材料相似或等同的现有技术的任何方法、设备和材料来实现本发明。
请参阅图1,图1显示为本发明一实施例中日志数据的提取方法的流程示意图,本发明提供一种日志数据的提取方法。通过日志审计设备获取需要解析的日志记录后,通过读取规则库中对应的各范化规则,并将这些范化规则保存到规则集合中。在规则集合中将各范化规则逐一与日志记录进行匹配,若规则集合中存在与日志记录匹配的范化规则,则使用匹配的范化规则提取日志记录中的相关日志数据。通过范化规则引用正则规则的方式,实现对日志记录的解析,由于范化规则更容易更改和扩展,提升了匹配性能。解决了使用正则表达式匹配日志记录易发生大量回溯现象,导致CPU资源大幅上升的问题。
请参阅图1,在本发明一实施例中,提供一种日志数据的提取方法,包括以下过程:
S1、获取日志记录。
日志记录用于表征对计算机的一系列操作事件,通过分析日志记录有利于操作人员及时了解和监控计算机的运行状态。具体地,可通过日志审计设备调取日志源,从而获取日志源的日志记录。其中,日志源指的是日志审计设备所审计的日志的来源,常见的日志源一般是服务器、防火墙、活动目录、入侵检测、终端设备、WEB服务器、DNS服务器等。日志审计设备会从这些设备中获取日志记录,并对日志记录进行解析。可以理解的是,一条日志审计设备可以与多个不同的日志源相连,并对不同的日志源的日志记录进行解析。
S2、在规则库中读取并保存所述日志记录有关的各范化规则,生成规则集合。
由于日志审计设备收集的日志记录类型不同,因此每个日志记录的格式也不尽相同。如果对每种日志记录都使用正则表达式进行解析,由于正则表达式具有灵活性,对于同一条日志记录,不同的正则表达式可以得到相同的日志数据,而将每个日志记录依次与不同的正则表达式匹配,会极大降低运行速率,甚至导致系统陷入死循环。因此通过将正则表达式进行规范化表示,以范化规则提取日志记录中的日志数据,可以有效提升运行速率。本实施例中,日志审计设备中存储有一条规则库,规则库中存储有一条或多个日志审计设备需要的各种不同的范化规则。当日志审计设备获取到一条日志记录后,在规则库中,读取当前日志审计设备的IP地址对应的各范化规则,生成规则集合。其中,范化即标准化或归一化,是对各种不同形式的日志记录进行统一的描述后,形成结构化的日志描述。范化规则是正则表达式的规范化表示,是基于正则表达式实现的日志的标准化规则。因此,范化规则是日志审计和解析的核心,通过正则规则实现对日志记录的解析。此外,由于范化规则的标准化,使得范化规则更加容易进行更改和扩展,当需要对接一条新的日志记录类型时,只需要操作人员简单添加相应的范化规则即可。
S3、在所述规则集合中查找是否存在与所述日志记录匹配的范化规则。
日志审计设备获取日志记录后,通过在规则集合中将各范化规则依次与该条日志记录进行匹配,查找与日志记录匹配的范化规则。其中,使用范化规则与日志记录匹配时,需要将范化规则编译为NFA(非确定性状态机,NonDeterministic Finite Automata),以利用状态的跳变进行匹配。
S4、若存在,则使用匹配的范化规则从所述日志记录中提取对应的日志数据。
若规则集合中存在与日志记录匹配的范化规则,则通过该范化规则提取日志记录中的日志数据。示例性地,若日志记录是“tos time="2006-11-0213:46:09",user ID=192.168.89.122”,规则集合中的其中一个范化规则表示提取日志记录的时间,则该范化规则与日志记录匹配,从而可提取日志记录的时间数据(即tos time)。进一步地,在本发明一实施例中,若不存在,则将所述日志记录另行保存,不提取所述日志记录中的日志数据。
进一步地,在本发明一实施例中,使用匹配的范化规则从所述日志记录中提取对应的日志数据之后,还包括:将日志数据保存至缓冲区间中,以供后续对日志数据进行分析。
考虑到通常每个日志审计设备会对应100个左右的范化规则,在上述根据日志审计设备的IP地址获取范化规则的方法中,平均每条日志记录的匹配成功所需的次数,以及匹配失败的次数分别如公式(1)和(2)所示:
其中,O1为平均每条日志记录匹配成功所需的次数,M1为平均每条日志记录匹配失败的次数,N为当前日志审计设备对应的范化规则的数量。由此可见,使用日志审计设备的IP地址获取范化规则的方法,需要将日志记录逐一与各范化规则匹配,导致平均每条日志记录与范化规则匹配成功或失败的次数都接近50次。这是由于将每条日志记录与范化规则匹配时,范化规则由正则表达式组成,而正则表达式的各匹配单元依次与日志记录匹配时,匹配不成功时,NFA算法会产生大量回溯现象,导致性能低下。尤其是日志流量很大时,需要频繁的进行失败匹配,会致使CPU资源占用严重,系统性能大幅度下降。示例性地,当日志记录中的一个字段为“abc”时,若正则表达式为/ab{1,2}c/,匹配过程为:a->a;ab->ab;abb->abc;由于正则表达式中的abb并未匹配上日志记录中的abc,需要回溯到下一个匹配单元,方匹配成功,极大的增加了系统的运算量。为了改善这一问题,在本发明一实施例中,所述日志记录中还记载有地址标识,所述地址标识表示所述日志记录的日志源。考虑到日志审计设备可对应多个日志源,每个日志源都是一个独立的设备,都具有一个唯一不变的IP地址,可将地址标识用日志源的IP地址进行表示。从而实现对日志审计设备中各日志源进行分类,匹配时,只需要匹配日志记录对应的日志源中包含的各范化规则即可。
请参阅图1和图2,图2显示为本发明一实施例中根据日志源地址标识获取范化规则的流程示意图。在本发明一实施例中,所述在规则库中,读取并保存所述日志记录对应的各范化规则,生成规则集合,包括以下过程:
S41、读取所述日志记录中的地址标识;
S42、在所述规则库中,根据所述地址标识查找所述日志记录的日志源,其中,每个日志源具有多个不同的范化规则;
S43、在所述规则库中,读取并保存所述日志源具有的多个范化规则,生成规则集合。
本实施例中,日志审计设备读取日志记录中的地址标识后,在规则库中根据地址标识获得日志记录所属的日志源分组。然后通过读取并保存该日志源具有的多个范化规则,形成规则集合。从规则集合中循环遍历各范化规则,将每个范化规则依次与日志记录匹配,若存在与日志记录匹配的范化规则,则使用该范化规则提取日志记录。若没有,则使用下一条范化规则继续匹配日志记录,直至当规则集合中所有范化规则均无法与日志记录匹配时,可将该日志记录另行存储,暂不提取日志记录中的数据。需要说明的是,由于每个日志源的性能不同,因此不同的日志源具有的范化规则也不尽相同。每个日志源可具有多个不同的范化规则,本领域技术人员可根据日志源的类型、需要解析的日志内容等适应性设置范化规则的数量,在此不做限定。
通过改进,使用日志源的地址标识获取范化规则后,每个日志源会具有10个左右的范化规则,远小于根据日志审计设备获取的范化规则的数量,使用这种日志源地址标识获取范化规则时,平均每条日志记录的匹配成功所需的次数,以及匹配失败的次数分别如公式(3)和(4)所示:
其中,O2为根据日志源分组后,平均每条日志记录匹配成功所需的次数,M2为根据日志源分组后,平均每条日志记录匹配失败的次数,P为当前日志源对应的范化规则的数量。由此可见,根据日志源获取范化规则时,匹配成功所需次数O2为5次左右,远小于根据日志审计设备获取范化规则,匹配成功所需的次数O1(50次左右)。O2可收敛至O1的20%左右,从而使得系统的运行性能大幅度提升,相对于根据日志审计设备获取范化规则,可提升80%左右的性能速率。通过根据日志源的地址标识对范化规则进行分组,对日志记录的范化范围进行了优化收敛,减少了日志记录与范化规则的匹配次数,从而进一步提升了系统运行性能。
考虑到上述使用日志源地址标识获取范化规则,依然存在M2次的匹配失败,从而也会造成正则回溯现象,导致系统很多时候都是再看进行无效匹配。为了解决这一问题,在本发明一实施例中,所述规则库中还记载有每个范化规则的优先级,所述日志源对应的多个范化规则按照优先级降序的顺序,记载在所述规则集合中。按照优先级的顺序匹配范化规则,可进一步提升运行速率。其中,优先级是基于机器学习算法,从已经解析的大量数据中学习获取。通过从以往已经解析完成的大量数据分析,得到每条范化规则在当前日志源分组的命中率Q(也即范化规则能够匹配日志记录的概率)。第i条范化规则的优先级计算方法如公式(5)所示:
Si=100%*Qi (5)
其中,Qi为当前分组中,第i条范化规则的命中率,Si为当前日志源分组中,第i条范化规则的优先级。
请参阅图1和图3,图3显示为本发明一实施例中规则集合与日志记录匹配的流程示意图。在本发明一实施例中,所述在所述规则集合中查找是否存在与所述日志记录匹配的范化规则,是将所述规则集合与所述日志记录进行匹配实现的,所述规则集合与所述日志记录匹配的过程为:
S31、在所述规则集合中,选择优先级最高的范化规则作为待匹配范化规则;
S32、判断所述待匹配范化规则是否与所述日志记录匹配;
S33、若不匹配,在所述规则集合中依序选择另一个范化规则作为待匹配范化规则,返回步骤S32进行日志记录的匹配,直至所述规则集合中的各范化规则均不与所述日志记录匹配,则所述规则集合中不存在与所述日志记录匹配的范化规则;
本实施例中,由于规则集合中的范化规则是按照优先级由高到低顺序存储的。因此匹配时,先选择优先级最高的范化规则作为待匹配规则,将待匹配规则与日志记录匹配,若匹配,则所述规则集合中存在与所述日志记录匹配的范化规则。若不匹配,则从规则集合中按照顺序,选择下一个范化规则作为待匹配的范化规则,继续与日志记录进行匹配。当规则集合中有一个范化规则能够与日志记录匹配时,则说明规则集合中存在与日志记录匹配的范化规则,并使用该匹配的范化规则提取日志记录中是数据信息。当规则集合中所有范化规则都不能与日志记录匹配时,则说明规则集合中不存在与日志记录匹配的范化规则,此时不能对该日志记录进行解析,可将日志记录另行保存,暂不解析。由于每次匹配都是按照优先级由高到低的顺序选择对应的范化规则,根据现场采集数据得到的经验,通常80%的日志数据来自于20%规则产生。根据优先级针对性的锁紧无用规则后,80%的日志记录只需匹配20%范化规则即可命中,优化后平均每条日志记录的匹配成功所需的次数,以及匹配失败的次数分别如公式(6)和(7)所示:
其中,O3为根据日志源分组和优先级后,平均每条日志记录匹配成功所需的次数,M1为根据日志源分组和优先级后,平均每条日志记录匹配失败的次数。由此可见,使用优先级可以很好的调整与日志记录的匹配顺序,进一步减少收敛匹配的次数,降低了正则回溯的次数,提升了系统的运行性能。
请参阅图1和图4,图4显示为本发明一实施例中根据日志记录改变优先级的流程示意图。在本发明一实施例中,所述在所述规则集合中查找是否存在与所述日志记录匹配的范化规则之前,还包括:
S301、在所述规则集合中,选择优先级大于预设阈值的多个范化规则,生成第一子规则集合,将所述第一子规则集合与所述日志记录进行匹配;
S302、若不匹配,在所述规则集合中选择优先级小于或等于所述阈值的多个范化规则,生成第二子规则集合;
S303、根据所述日志记录中是否存在与所述第二子规则集合中范化规则相匹配的特征串,改变对应范化规则的优先级,更新所述第二子规则集合,作为当前的规则集合。
本实施例中,考虑到虽然使用优先级的方式,已经具有良好的运行性能。但通常范化规则的大部分需要运维人员维护,由于运维人员对正则规则的不了解,制定的正则性能可能会比较低,尤其是在大流量场景下的性能体现更加欠佳。因此需要在判断日志记录是否符合范化规则时,尽量减少匹配错误造成的正则表达式回溯现象。具体地,在规则集合中选择优先级大于预设阈值的多个范化规则,得到第一子规则集合。第一子规则集合中的范化规则的优先级均大于预设阈值,且按照优先级降序的顺序排列。将第一子规则集合中的各范化规则按照优先级由高到低的顺序,依次与日志记录相匹配。若匹配,则说明规则集合中存在与日志记录匹配的范化规则,使用该范化规则即可对日志记录进行相关数据的提取。若第一子规则集合中没有与日志记录匹配的范化规则,则选择规则集合中优先级小于或等于阈值的多个范化规则,生成第二子规则集合。第二子规则集合中的范化规则的优先级均小于或等于阈值,且按照优先级降序的顺序排列。通过判断日志记录中是否存在与第二子规则集合中范化规则相匹配的特征串,改变对应的优先级。具体地,在本发明一实施例中,使用TF-IDF(Term Frequency–Inverse Document Frequency,词频-逆文档频率)算法对已经采集的历史日志记录进行特征提取,从而获得与日志记录匹配的范化规则对应的特征串,并将这些特征串存储在第二子规则集合中的对应位置。将第二子规则集合中各范化规则及对应的特征串,按照优先级降序的顺序,依次与日志记录进行匹配,查看日志记录中是否存在对应的特征串。若存在,则将该范化规则的优先级按照Sj=S′j*2调高,其中,S′j为第二子规则集合中第j个范化规则的原始优先级,Sj第二子规则集合中第j个范化规则的最新优先级。若日志记录中不存在对应的特征串,按照Sj=S′j*0.5调低范化规则的优先级。将第二子规则集合中所有范化规则均按照上述优先级的调整方法遍历一遍后,重新按照各范化规则的最新优先级,按照降序的顺序排列第二子规则集合中的各个范化规则。将更新后的第二子规则集合作为规则集合,按照优先级由高到低的顺序,依次将各范化规则与日志记录按照上述S31至S33的步骤进行匹配。通过这种改变优先级的方式,大幅降低了因匹配失败而导致的正则规则回溯,导致的CPU性能低下的问题,进一步提升了系统的运行性能。此外,针对正则表达式规则不匹配的情况下,很大情况会发生灾难性的正则表达式回溯现象,导致运行速率大幅降低的问题。通过对特征抽取和特征匹配,最大限度减小正则规则回溯现象,提升了匹配速率,增加了系统的整体稳定性。
可以理解的是,本发明所述的正则规则还可通过Grok表达式等现有成熟的组件对日志信息进行提取的方式进行。需要说明的是,本发明所述的TF-IDF字符串特征提取的方式,是一种文本特征值提取的方法,还可使用Word2vec(word to vector,词向量模型)、TF-IWF(Term Frequency–Inverse Document Frequency,文档关键词自动提取算法)等作为替代方式,进行字符串特征值的提取。
上面方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本发明的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该发明的保护范围内。
请参阅图5,图5显示为本发明一实施例中日志数据的提取系统的原理结构示意图。该日志数据的提取系统10包括日志记录获取模块11、规则集合生成模块12、范化规则获取模块13和数据提取模块14。其中,日志记录获取模块11用于获取日志记录。规则集合生成模块12用于在规则库中读取并保存所述日志记录有关的各范化规则,生成规则集合。范化规则获取模块13用于在所述规则集合中查找是否存在与所述日志记录匹配的范化规则。数据提取模块14用于若存在,则使用匹配的范化规则从所述日志记录中提取对应的日志数据。
需要说明的是,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的模块引入,但这并不表明本实施例中不存在其它的模块。
此外,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本发明所提供的实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本实施例还提出了一种日志数据的提取设备,该设备包括处理器和存储器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述任务管理方法。处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件;所述存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(Non-Volatile Memory),例如至少一个磁盘存储器。所述存储器可以为随机存取存储器(Random Access Memory,RAM)类型的内部存储器,所述处理器、存储器可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application Specific IntegratedCircuit,ASIC)。需要说明的是,上述的存储器中的计算机程序可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
本实施例还提出一种计算机可读的存储介质,所述存储介质存储有计算机指令,所述计算机指令用于使计算机执行上述的任务管理方法。存储介质可以是电子介质、磁介质、光介质、电磁介质、红外介质或半导体系统或传播介质。存储介质还可以包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘可以包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-RW)和DVD。
综上所述,本发明结构简单,通过日志审计设备获取需要解析的日志记录后,通过读取规则库中对应的各范化规则,并将这些范化规则保存到规则集合中。在规则集合中将各范化规则逐一与日志记录进行匹配,若规则集合中存在与日志记录匹配的范化规则,则使用匹配的范化规则提取日志记录中的相关日志数据。通过范化规则引用正则规则的方式,实现对日志记录的解析,由于范化规则更容易更改和扩展,提升了匹配性能。解决了使用正则表达式匹配日志记录易发生大量回溯现象,导致CPU资源大幅上升的问题。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (9)
1.一种日志数据的提取方法,其特征在于,包括以下过程:
获取日志记录;
在规则库中读取并保存所述日志记录有关的各范化规则,生成规则集合;
在所述规则集合中查找是否存在与所述日志记录匹配的范化规则;
若存在,则使用匹配的范化规则从所述日志记录中提取对应的日志数据;
所述在所述规则集合中查找是否存在与所述日志记录匹配的范化规则之前,还包括:
在所述规则集合中,选择优先级大于预设阈值的多个范化规则,生成第一子规则集合,将所述第一子规则集合与所述日志记录进行匹配;
若不匹配,在所述规则集合中选择优先级小于或等于所述阈值的多个范化规则,生成第二子规则集合;
根据所述日志记录中是否存在与所述第二子规则集合中范化规则相匹配的特征串,改变对应范化规则的优先级,更新所述第二子规则集合,作为当前的规则集合;
其中,将所述第二子规则集合中各范化规则及对应的特征串,按照优先级降序顺序,依次与所述日志记录匹配,若所述日志记录中存在对应的特征串,将该范化规则的优先级按照Sj=S’j*2调高,其中,S’j为第二子规则集合中第j个范化规则的原始优先级,Sj为第二子规则集合中第j个范化规则的最新优先级。
2.根据权利要求1所述的日志数据的提取方法,其特征在于,所述日志记录中还记载有地址标识,所述地址标识表示所述日志记录的日志源。
3.根据权利要求2所述的日志数据的提取方法,其特征在于,所述在规则库中,读取并保存所述日志记录对应的各范化规则,生成规则集合,包括以下过程:
读取所述日志记录中的地址标识;
在所述规则库中,根据所述地址标识查找所述日志记录的日志源,其中,每个日志源具有多个不同的范化规则;
在所述规则库中,读取并保存所述日志源具有的多个范化规则,生成规则集合。
4.根据权利要求3所述的日志数据的提取方法,其特征在于,所述规则库中还记载有每个范化规则的优先级,所述日志源对应的多个范化规则按照优先级降序的顺序,记载在所述规则集合中。
5.根据权利要求4所述的日志数据的提取方法,其特征在于,所述在所述规则集合中查找是否存在与所述日志记录匹配的范化规则,是将所述规则集合与所述日志记录进行匹配实现的,所述规则集合与所述日志记录匹配的过程为:
S31、在所述规则集合中,选择优先级最高的范化规则作为待匹配范化规则;
S32、判断所述待匹配范化规则是否与所述日志记录匹配;
S33、若不匹配,在所述规则集合中依序选择另一个范化规则作为待匹配范化规则,返回步骤S32进行日志记录的匹配,直至所述规则集合中的各范化规则均不与所述日志记录匹配,则所述规则集合中不存在与所述日志记录匹配的范化规则。
6.根据权利要求1-5任一项所述的日志数据的提取方法,其特征在于,所述使用匹配的范化规则从所述日志记录中提取对应的日志数据之后,还包括:将所述日志数据保存至缓冲区间中。
7.一种日志数据的提取系统,其特征在于,所述系统包括:
日志记录获取模块,用于获取日志记录;
规则集合生成模块,用于在规则库中读取并保存所述日志记录有关的各范化规则,生成规则集合;
范化规则获取模块,用于在所述规则集合中查找是否存在与所述日志记录匹配的范化规则;
数据提取模块,用于若存在,则使用匹配的范化规则从所述日志记录中提取对应的日志数据;
所述在所述规则集合中查找是否存在与所述日志记录匹配的范化规则之前,还包括:
在所述规则集合中,选择优先级大于预设阈值的多个范化规则,生成第一子规则集合,将所述第一子规则集合与所述日志记录进行匹配;
若不匹配,在所述规则集合中选择优先级小于或等于所述阈值的多个范化规则,生成第二子规则集合;
根据所述日志记录中是否存在与所述第二子规则集合中范化规则相匹配的特征串,改变对应范化规则的优先级,更新所述第二子规则集合,作为当前的规则集合;
其中,将所述第二子规则集合中各范化规则及对应的特征串,按照优先级降序顺序,依次与所述日志记录匹配,若所述日志记录中存在对应的特征串,将该范化规则的优先级按照Sj=S’j*2调高,其中,S’j为第二子规则集合中第j个范化规则的原始优先级,Sj为第二子规则集合中第j个范化规则的最新优先级。
8.一种日志数据的提取的设备,其特征在于:包括处理器,所述处理器与存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于:包括程序,当所述程序在计算机上运行时,执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210856244.4A CN115102848B (zh) | 2022-07-13 | 2022-07-13 | 日志数据的提取方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210856244.4A CN115102848B (zh) | 2022-07-13 | 2022-07-13 | 日志数据的提取方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115102848A CN115102848A (zh) | 2022-09-23 |
CN115102848B true CN115102848B (zh) | 2024-05-28 |
Family
ID=83298691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210856244.4A Active CN115102848B (zh) | 2022-07-13 | 2022-07-13 | 日志数据的提取方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115102848B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543950B (zh) * | 2022-09-29 | 2023-06-16 | 杭州中电安科现代科技有限公司 | 一种日志范化的数据处理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284268A (zh) * | 2018-10-29 | 2019-01-29 | 杭州安恒信息技术股份有限公司 | 一种快速解析日志的方法、系统及电子设备 |
CN109656894A (zh) * | 2018-11-13 | 2019-04-19 | 平安科技(深圳)有限公司 | 日志规范化存储方法、装置、设备及可读存储介质 |
CN109768623A (zh) * | 2019-02-02 | 2019-05-17 | 鼎信信息科技有限责任公司 | 电力系统的监控方法、装置、计算机设备和存储介质 |
CN114398518A (zh) * | 2021-11-30 | 2022-04-26 | 北京威努特技术有限公司 | 一种日志快速匹配范化策略的方法及系统 |
CN114706839A (zh) * | 2022-04-07 | 2022-07-05 | 京东科技信息技术有限公司 | 日志数据处理方法、装置、电子设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10235476B2 (en) * | 2015-05-28 | 2019-03-19 | Salesforce.Com, Inc. | Matching objects using match rules and lookup key |
-
2022
- 2022-07-13 CN CN202210856244.4A patent/CN115102848B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284268A (zh) * | 2018-10-29 | 2019-01-29 | 杭州安恒信息技术股份有限公司 | 一种快速解析日志的方法、系统及电子设备 |
CN109656894A (zh) * | 2018-11-13 | 2019-04-19 | 平安科技(深圳)有限公司 | 日志规范化存储方法、装置、设备及可读存储介质 |
CN109768623A (zh) * | 2019-02-02 | 2019-05-17 | 鼎信信息科技有限责任公司 | 电力系统的监控方法、装置、计算机设备和存储介质 |
CN114398518A (zh) * | 2021-11-30 | 2022-04-26 | 北京威努特技术有限公司 | 一种日志快速匹配范化策略的方法及系统 |
CN114706839A (zh) * | 2022-04-07 | 2022-07-05 | 京东科技信息技术有限公司 | 日志数据处理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115102848A (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036567B2 (en) | Determining system behavior using event patterns in machine data | |
US10678669B2 (en) | Field content based pattern generation for heterogeneous logs | |
US10367827B2 (en) | Using network locations obtained from multiple threat lists to evaluate network data or machine data | |
WO2021068547A1 (zh) | 日志模板提取方法及装置 | |
WO2017107965A1 (zh) | 一种web异常检测方法和装置 | |
CN110213207B (zh) | 一种基于日志分析的网络安全防御方法及设备 | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN113254255B (zh) | 一种云平台日志的分析方法、系统、设备及介质 | |
US20220197879A1 (en) | Methods and systems for aggregating and querying log messages | |
EP3818680A1 (en) | Systems and methods for reporting computer security incidents | |
CN115102848B (zh) | 日志数据的提取方法、系统、设备及介质 | |
CN111586037B (zh) | 一种参数篡改网络请求异常的检测方法 | |
US11693851B2 (en) | Permutation-based clustering of computer-generated data entries | |
US11973775B1 (en) | Monitoring client networks for security threats using recognized machine operations and machine activities | |
Larsson | Large scale congurable text matching for detection of log changes and anomalies |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room A501, Building 3, No. 1588, Zixing Road, Minhang District, Shanghai, 200000 Applicant after: China Guanghe Digital Technology Co.,Ltd. Address before: Room A501, Building No. 1588 Zixing Road, Minhang District, Shanghai 201100 Applicant before: SHANGHAI CHINA NUCLEAR POWER ENGINEERING TECHNOLOGY CO.,LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |