【技术实现步骤摘要】
基于自定义规则检测引擎的日志分析系统
[0001]本专利技术涉及日志数据管理和日志分析的
,尤其是指一种基于JSONPointer标准和自定义规则检测引擎的日志分析系统。
技术介绍
[0002]随着现代信息化水平的不断提高,各种系统的日志数据越来越多,如何有效地管理日志数据成为了一个比较紧迫的问题。目前,已有的数据管理系统,如ELK等,可以对日志数据进行存储,但是对于数据的处理,比如数据的提取和匹配等方面,还不够灵活,需要进一步提高。
技术实现思路
[0003]本专利技术的目的在于针对SpringBoot系统中用户行为的json格式日志数据,提出了一种基于JSONPointer标准和自定义规则检测引擎的日志分析系统,设计一种基于JSONPointer标准的元语法表达式,利用词法和语法分析器,对用户自定义规则进行分析,从而增强对日志的分析能力,同时,为用户行为日志提供告警功能,增强了日志异常检测能力。
[0004]为实现上述目的,本专利技术所提供的技术方案为:基于自定义规则检测引擎的日志分析系统, ...
【技术保护点】
【技术特征摘要】
1.基于自定义规则检测引擎的日志分析系统,其特征在于,包括:日志采集模块,用于收集到SpringBoot系统中实时、可靠的用户行为操作日志数据;日志聚合模块,作为日志数据从采集到存储的中间环节,用于保障日志数据的可靠传输、缓存和汇聚;自定义规则检测引擎模块,利用词法和语法分析器对用户自定义规则进行解析和转化后,再利用Hyperscan高性能正则表达式匹配库对日志数据进行匹配,最终实现对用户行为操作日志数据的自定义规则检测分析;日志处理模块,通过与自定义规则检测引擎模块编译形成的动态链接库交互,实现对日志进行处理;日志存储展示模块,用于日志数据的存储、管理和展示。2.根据权利要求1所述的基于自定义规则检测引擎的日志分析系统,其特征在于,所述日志采集模块通过集成Logstash收集SpringBoot系统中实时、可靠的用户行为操作日志数据,其中用户行为操作日志数据格式为json,所述日志采集模块执行以下操作:1)在SpringBoot的pom.xml文件中,需要添加Logstash依赖;在SpringBoot应用程序中,使用Logback作为日志框架,需要在application.properties或application.yml文件中添加Logback的配置,作为系统采集组件,将日志输出到Logstash;2)对步骤1)的Logstash组件中安装json_lines插件;3)配置Logstash的input和output,以便从SpringBoot应用程序中读取日志数据并将其向后面模块发送。3.根据权利要求2所述的基于自定义规则检测引擎的日志分析系统,其特征在于,所述日志聚合模块通过kafka实现日志数据的缓存、保障数据的高可用。4.根据权利要求3所述的基于自定义规则检测引擎的日志分析系统,其特征在于:所述自定义规则检测引擎模块包括编译器和匹配器,自定义规则引擎模块会将编译器和匹配器整体编译成动态链接库,与日志处理模块交互;其中:所述编译器包括词法分析模块和语法分析模块,最后将这两个模块整体编译形成静态链接库,与匹配器交互;其中:所述词法分析模块用于对输入的字符流S使用词法分析器Lexical(
·
)进行解析拆分为一个个词法单元,也叫标记Token,包括以下步骤:a1)定义基于JSON Pointer标准的自定义规则的元语法表达式,采用BNF的语法表示;a2)通过定义一个有限状态机FSM,用于识别输入的字符流是否符合基于JSON Pointer标准的自定义规则的元语法,它由状态和转移函数组成;假设有n个状态s1,s2,...,s
n
,其中状态s1是起始状态,s
n
状态是终止状态,每个状态都能接受一个或多个输入字符,执行状态转移,状态转移函数表示为:(s
i
,c)
→
s
j
式中,c表示输入字符,s
i
和s
j
表示当前状态和下一个状态;如果当前状态为s
i
,读入输入字符c后,状态转移函数将计算下一个状态s
j
,并将c记录为当前状态接受的字符之一;其中,一个状态能有多个出边,即对于同一个状态和不同的输入字符,能有不同的下一个状态;a3)将每个词法单元Token定义为一组表达式,假设有m个词法单元t1,t2,...,t
m
,其中t
m
是第m个词法单元,每个标记都有一个对应的表达式其中是第m个词法单元t
m
对应的表达式,每个表达式能表示为上述步骤a1)中定义的基于JSON Pointer标准的自定义规则的元语法表达式和动作嵌入运算符组成的表达式;a4)将每个正则表达式转换为等价的有限自动机,假设步骤a3)中定义的第i个词法单元t
i
对应的表达式正则表达式该表达式对应的有限自动机为M
i
,有限自动机用上述步骤a2)中定义的状态和转移函数表示;a5)将步骤a4)中所有的有限自动机合并成一个大的有限自动机,假设大的有限自动...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。