一种利用正则表达式自定义提取日志关键信息的方法
【技术领域】
[0001] 本发明专利涉及计算机领域,尤其涉及提取出日志中的关键信息来进行格式化分 析的方法。
【背景技术】
[0002] 在计算机领域中的日志,一般都是以某种格式约定,但却是以纯文本的格式存在 的。
[0003] -条Iinux安全的日志格式,如表1所不。
[0004] 表 1
[0005]
[0006] 其中包含了 Iinux用户名、登录的结果、登录的时间等信息。
[0007]因为日志分析端接收到的日志是纯文本形态,所以在日志的分析中存在着很大的 困难,即很难从一堆日志中统计出关键信息,例如,root用户登录失败的次数,登录成功和 登录失败的比率、通过各种方式登录的比率等等。
【发明内容】
[0008] 为解决上述技术问题,本发明提供了一种利用正则表达式自定义提取日志关键信 息的方法,能够将日志进行分解,提取出需要分析的内容来格式化存储,方便将来的进一步 精确分析。
[0009] 为了实现上述目的,本发明采用如下技术方案。
[0010] -种利用正则表达式自定义提取日志关键信息的方法,包括如下步骤:
[0011] (1)定义若干条规则库;包括:确定需要匹配该规则库的日志和规则库里的规则 集。
[0012] 所述规则集为对日志进行解析的规则集合,规则的内容包括:规则的名称和ID 号、规则正则表达式、提取字段说明表达式。
[0013] (2)规则匹配;具体步骤如下:
[0014] 将接收到的日志依次与规则集中的规则正则表达式相匹配。
[0015] 遇到匹配的规则,则退出匹配;否则继续匹配下一条规则。
[0016] 如匹配,按该条规则提取出关键信息,并按照规则中的提取字段说明表达式将关 键信息的名称与内容对应起来。
[0017] 如果所有的规则都不匹配,则将日志整体存储。
[0018] 本发明的有益效果是,日志分析服务,一般按照固定的规则或全文索引的方式来 进行分析,而本发明提出了一种允许用户自定义如何分析日志、提取日志中关键信息的方 法,其基于正则表达式的分析方法通用性和灵活性都很强,可以满足需求。
[0019] 当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优 点。
【附图说明】
[0020] 图1是本发明流程不意图。
【具体实施方式】
[0021] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施 例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022] 如图1所示,本发明的利用正则表达式自定义提取日志关键信息的方法,包括如 下步骤:
[0023] 首先由用户或系统来定义η条规则库。规则库包括两方面:1.哪些日志需要匹配 该规则库。2.该规则库里的规则集,由规则集来决定。
[0024] 此步骤需要定义好不同来源的日志由什么规则来解析。不同来源的日志可以由该 日志的"主机名" "IP" "应用名"来组合界定使用哪种规则集来匹配,也可以不指定其来源, 举例如表2。
[0025] 表 2
[0026]
[0027] 规则集为如何对H志进行觯析的规
则集合,由一组止则表达式及其表述构成,每 条规则的内容一般包括:
[0028] 1.规则的名称和ID号。
[0029] 2.规则正则表达式。
[0030] 3.提取字段说明表达式。
[0031] 规则匹配的过程为:
[0032] 1.将接收到的日志依次与规则集中的规则正则表达式相匹配。
[0033] 2.遇到第一条匹配的规则,则退出匹配,否则继续匹配下一条规则。
[0034] 3.如匹配,按该条规则提取出关键信息,并按照规则中的提取字段说明表达式将 关键信息的名称与内容对应起来。
[0035] 4.如果所有的规则都不匹配,则将日志整体存储。
[0036] 本实施例通过如下举例说明本发明的技术方案。
[0037] 表 3
[0038] CN 105138593 A 说明书 3/3 页
[0039] 提取字段说明表达式为:src_ip = = $2 ; ;dst_ip = = $3 ; ;name = = $1。
[0040] 这样将从日志中提取3个关键字:src_ip、dst_ip、name,内容根据正则表达式的 匹配,分别为 192. 168. 1. 73、114. 218. 6. 2、ICMP-unreachable。
[0041 ] 解析后,可将输出的内容发送给后端,做进一步处理。
[0042] 上述虽然结合附图对本发明的【具体实施方式】进行了描述,但并非对本发明保护范 围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不 需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
【主权项】
1. 一种利用正则表达式自定义提取日志关键信息的方法,其特征是,包括如下步骤: (1) 定义若干条规则库;包括:确定需要匹配该规则库的日志和规则库里的规则集; 所述规则集为对日志进行解析的规则集合,规则的内容包括:规则的名称和ID号、规 则正则表达式、提取字段说明表达式; (2) 规则匹配;具体步骤如下: 将接收到的日志依次与规则集中的规则正则表达式相匹配; 遇到匹配的规则,则退出匹配;否则继续匹配下一条规则; 如匹配,按该条规则提取出关键信息,并按照规则中的提取字段说明表达式将关键信 息的名称与内容对应起来; 如果所有的规则都不匹配,则将日志整体存储。
【专利摘要】本发明公开了一种利用正则表达式自定义提取日志关键信息的方法,包括如下步骤:(1)定义若干条规则库。包括:确定需要匹配该规则库的日志和规则库里的规则集。(2)规则匹配。具体步骤如下:将接收到的日志依次与规则集中的规则正则表达式相匹配;遇到匹配的规则,则退出匹配,否则继续匹配下一条规则;如匹配,按该条规则提取出关键信息,并按照规则中的提取字段说明表达式将关键信息的名称与内容对应起来;如果所有的规则都不匹配,则将日志整体存储。本发明提出了一种允许用户自定义如何分析日志、提取日志中关键信息的方法,其基于正则表达式的分析方法通用性和灵活性都很强,可以满足需求。
【IPC分类】G06F17/30
【公开号】CN105138593
【申请号】CN201510465448
【发明人】张明, 马黎黎
【申请人】山东蚁巡网络科技有限公司
【公开日】2015年12月9日
【申请日】2015年7月31日