一种日志解析规则自动生成方法和装置与流程

文档序号:15492355发布日期:2018-09-21 20:52阅读:1158来源:国知局

本发明涉及安全管理技术领域,具体地,涉及一种日志解析规则自动生成方法和装置。



背景技术:

在现有技术中,通过编写代码来接入计算机中新增的设备日志,从而对日志解析难度较大、复杂度较高,从而对日志进行解析规则开发的效率极低。



技术实现要素:

本发明的目的是为了解决对日志解析难度较大、复杂度较高,从而对日志进行解析规则开发的效率极低的技术问题。

为了实现上述目的,本发明采用以下技术方案:

本发明提供了一种日志解析规则自动生成方法,包括:日志分词步骤,接收新增设备日志,并对所述新增设备日志进行自动分词;语法分析步骤,对分出的词赋予语法定义;正则生成步骤,根据所述语法定义生成解析规则正则表达式;以及字段映射步骤,将所述解析规则正则表达式自动作用到服务端解析引擎。

优选地,在所述日志分词步骤中,构建有穷状态自动机,通过所述有穷状态自动机对所述新增设备日志中的逐个字符进行分析,当遇到停止词字典中的停止词时,则退出所述有穷状态自动机并输出词法标记,然后返回所述有穷状态自动机继续分词,直到所述新增设备日志中的全部字符分析完成为止,从而将所述新增设备日志切分成词列表。

优选地,在计算机系统中内置有或通过用户定义有语法分析规则,在所述语法分析步骤中,接收所述词法标记,并将所述语法分析规则与所述词法标记进行匹配,若具有与所述词法标记匹配的语法分析规则,则对切分出的词列表中的每个词赋予与所述词法标记匹配的语法分析规则中的语法定义,若没有与所述词法标记匹配的语法分析规则,则对所述词法标记赋予默认的语法分析规则。

优选地,在所述语法分析步骤中,所述语法定义包括时间戳、ip地址、url地址、用户代理、整数、浮点数、文件、用户名中的一个或多个。

优选地,在所述语法分析步骤中,将不同的词法标记分别与语法分析规则进行匹配,对于同一个词法标记,将词法标记与多个语法分析规则进行匹配,并选择与词法标记匹配度最大的语法分析规则。

优选地,在所述正则生成步骤中,将所述语法定义的组合转换成解析规则正则表达式,并与未解析成功的日志片段进行拼接。

优选地,在所述字段映射步骤中,所述服务端解析引擎对所述解析规则正则表达式中的字段进行函数操作,以将所述解析规则正则表达式中的字段映射成为所述服务端解析引擎需要的最终字段。

优选地,在所述字段映射步骤中,将所述解析规则正则表达式自动上传到服务器上,并通过可视化界面对用户展示,用户通过所述可视化界面对所述解析规则正则表达式进行二次确认和保存,并重新下发到服务端解析引擎。

优选地,在所述字段映射步骤中,将所述解析规则正则表达式和语法分析规则与词法标记的匹配度自动上传到服务器上,并通过可视化界面对用户展示,用户通过所述可视化界面对所述解析规则正则表达式进行修正,并重新下发到服务端解析引擎。

本发明还提供了一种日志解析规则自动生成装置,用于执行上述日志解析规则自动生成方法,所述日志解析规则自动生成装置包括:日志分词模块,接收新增设备日志,并对所述新增设备日志进行自动分词;语法分析模块,对切分出的词赋予语法定义;正则生成模块,根据所述语法定义生成解析规则正则表达式;以及字段映射模块,将生成的所述解析规则正则表达式自动作用到服务端解析引擎。

与现有技术相比,本发明具有以下优点和有益效果:

通过本发明,用户可以不用编写任何代码的前提下就可以自动完成设备日志接入,极大地降低了日志解析的难度和复杂度,从而提升对日志进行解析规则开发的效率。

附图说明

图1是日志分词步骤的流程图;

图2是语法分析步骤的流程图;

图3是日志解析规则自动生成装置的结构图。

具体实施方式

下面将参考附图,对本发明做进一步详细的说明,以便于本发明更加清楚和易于理解。本领域的普通技术人员可以认识到,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式或其组合对所描述的实施例进行修正。因此,附图和描述在本质上是说明性的,而不是用于限制权利要求的保护范围。此外,在本说明书中,附图未按比例画出,并且相同的附图标记表示相同的部分。

下面结合图1-3详细说明本发明的实施例。

本发明的日志解析规则自动生成方法包括:日志分词步骤、语法分析步骤、正则生成步骤以及字段映射步骤。

在日志分词步骤中,接收新增设备日志,并对新增设备日志进行自动分词。

优选地,在日志分词步骤中,如图1所示,构建有穷状态自动机(fsm),通过fsm对新增设备日志中的逐个字符进行分析,当遇到停止词字典中的停止词时,则退出fsm并输出词法标记(词法token),然后返回所述有穷状态自动机继续分词,直到所述新增设备日志中的全部字符分析完成为止,从而将所述新增设备日志切分成词列表。停止词字典可以动态进行更新,根据实际情况可以针对不同的设备类型设置不同的停止词字典。

在语法分析步骤中,对分出的词赋予语法定义。

优选地,在计算机系统中内置或通过用户定义有语法分析规则,在语法分析步骤中,如图2所示,接收词法标记,并将语法分析规则与词法标记进行匹配。若具有与词法标记匹配的语法分析规则,则对切分出的词列表中的每个词赋予与词法标记匹配的语法分析规则中的语法定义。若没有与词法标记匹配的语法分析规则,则对词法标记赋予默认的语法分析规则。

优选地,语法分析规则包含两部分内容,第一部分是语法定义,包括但不限于时间戳、ip地址、url地址、用户代理(user-agent)、整数、浮点数、文件、用户名等,第二部分是正则表达式定义,对于不同的语法定义制定不同的正则表达式。

优选地,在语法分析步骤中,多线程地将不同的词法标记分别与语法分析规则进行匹配。对于同一个词法标记,将词法标记与多个语法分析规则进行匹配,并选择与词法标记匹配度最大的语法分析规则。因此,能够高效输出匹配结果。

在正则生成步骤中,根据语法定义生成解析规则正则表达式。

优选地,在正则生成步骤中,将语法定义的组合转换成解析规则正则表达式,并与未解析成功的日志片段进行拼接以。

在字段映射步骤中,将解析规则正则表达式自动作用到服务端解析引擎。

优选地,在字段映射步骤中,服务端解析引擎对解析规则正则表达式中的字段进行函数操作,以将解析规则正则表达式中的字段映射成为服务端解析引擎需要的最终字段。

优选地,在字段映射步骤中,将解析规则正则表达式自动上传到服务器上,并通过可视化界面对用户展示,用户通过可视化界面对解析规则正则表达式进行二次确认和保存,并重新下发到服务端解析引擎。

优选地,在字段映射步骤中,将解析规则正则表达式和语法分析规则与词法标记的匹配度自动上传到服务器上,并通过可视化界面对用户展示,用户通过可视化界面对解析规则正则表达式进行修正,并重新下发到服务端解析引擎,以对解析规则正则表达式进行优化。

本发明还包括一种用于执行上述日志解析规则自动生成方法的日志解析规则自动生成装置,如图3所示,包括:日志分词模块,接收新增设备日志,并对新增设备日志进行自动分词;语法分析模块,对切分出的词赋予语法定义;正则生成模块,根据语法定义生成解析规则正则表达式;以及字段映射模块,将生成的解析规则正则表达式自动作用到服务端解析引擎。

通过本发明,用户可以不用编写任何代码的前提下就可以自动完成设备日志接入,极大地降低了日志解析的难度和复杂度,从而提升对日志进行解析规则开发的效率。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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