一种日志文件的统计与异常探测方法及电子装置制造方法及图纸

技术编号:27444071 阅读:31 留言:0更新日期:2021-02-25 04:02
本发明专利技术提供一种日志文件的统计与异常探测方法及电子装置,包括:将日志文件转化为事件流;解析不同事件流中的事件,对得到的结构化日志数据,进行前期聚合或后期聚合得到日志统计结果;对连续时间窗口内的结构化日志数据进行聚合,得到以请求量为元素的数组A与包含结构化日志数据时间戳及IP元信息的数组B;通过机器学习方法对数组A进行分析;利用数组A与数组B的关联关系,得到异常发生的时间窗口和IP元信息;对异常发生的时间窗口内的IP请求进行响应聚合,依据聚合后响应分布信息,得到异常发生时间和请求IP。本发明专利技术能将异构日志数据处理为同构结构化数据,以便统计分析需要;可依据日志进行业务网站异常流量探测,发现爬虫或恶意攻击。或恶意攻击。或恶意攻击。

【技术实现步骤摘要】
一种日志文件的统计与异常探测方法及电子装置


[0001]本专利技术属于软件设计与应用
尤其涉及一种日志文件的统计与异常探测方法及电子装置。

技术介绍

[0002]日志是业务系统状态的一种记录,是一种时间序列数据。对应用系统的日志数据进行分析有助于了解该应用系统的运行状态。通常,日志分析系统并不会随业务系统一起上线。现实情况多是业务系统上线一段时间后产生对一些需要进行日志分析的业务需求,如考察网站的流量变化,异常流量及原因尤其在网站经历一次攻击后;业务的日志格式可能随时间有所变化;历史日志被打包备份在硬盘上。如何对此种场景下的日志进行分析是现实环境中一个亟待解决的问题。
[0003]目前,市场上存在很多开源或商业的日志处理分析工具。ELK(Elasticsearch Logstash Kibana)是在工业界得到普遍应用的工具集。其各组件可以灵活地应用到不同地架构中,以便应对不同的分析应用。本专利技术基于ELK提出一种框架来处理上述场景下的日志分析。
[0004]异常探测在很多领域都有应用,且其定义通常依赖于领域知识。日志反映了用户访问业务网站的行为,对其进行异常探测可用于辨别业务网站是否存在爬虫或其他恶意攻击。ELK的机器学习组件支持的异常探测整合了包括聚类、时间序列分解、贝叶斯分布模型及关联分析等多种机器学习方法,但需付费订阅。本专利技术应用统计方法和python机器学习类库scikit-learn对日志进行了异常探测分析。

技术实现思路

[0005]本专利技术为了解决上述背景中提到的至少一个技术问题,提出了一种日志文件的统计与异常探测方法及电子装置,利用Elasticsearch技术栈相关工具进行日志分析处理,并依据分析处理结果,实现异常探测。
[0006]本专利技术的技术方案包括:
[0007]一种日志文件的统计方法,其步骤包括:
[0008]1)将日志文件转化为事件流;
[0009]2)解析事件流中的事件,将不同业务类型的日志文件转化为具有相同结构的结构化日志数据,其中通过解析事件流中的事件时间戳,得到结构化日志数据时间戳;
[0010]3)依据结构化日志数据时间戳与通过IP分析出的地域信息,对结构化日志数据进行统计分析,得到日志统计结果。
[0011]进一步地,将日志文件转化为事件流的方法包括:使用FileBeat。
[0012]进一步地,所述日志文件包括:历史日志文件和实时日志文件。
[0013]进一步地,若系统没有消息队列组件,设置Logstash流水线的Logstash Persistent Queue作事件缓存;若系统已经有消息队列组件,Logstash流水线利用此消息
队列组件作事件缓存。
[0014]进一步地,通过不同的Logstash流水线,解析历史日志文件事件流和实时日志文件事件流中的不同业务类型的事件。
[0015]进一步地,将日志统计结果存储至关系型数据库中。
[0016]进一步地,对于历史日志文件,得到日志统计结果的方法包括:按设定时间段对日志进行统计并持久化至关系型数据库中,随后基于此关系型数据库作聚合统计、或直接利用ES的聚合查询接口对ES中的日记文档进行统计。
[0017]进一步地,通过以下步骤解析事件流中的事件:
[0018]1)通过Grok将事件流中的每个事件即日志记录解析成多个键值对;
[0019]2)移除不感兴趣的键值对;
[0020]3)依据请求类型丢掉静态文件请求事件及图标请求事件;
[0021]4)对保留的键值对做进一步拆分和重命名。
[0022]进一步地,将结构化日志数据时间戳存为一字段并索引为date格式。
[0023]进一步地,通过以下步骤所述字段索引为date格式:
[0024]1)按照默认方式索引部分日志数据,得到默认的索引模板;
[0025]2)在默认的索引模板基础上,通过put_templateAPI创建新的索引模板,设置相应字段索引为date格式;
[0026]3)删除已索引的日志数据,并重新导入数据使其按照新的索引模板索引数据。
[0027]一种日志文件的异常探测方法,其步骤包括:
[0028]1)对通过上述方法得到的结构化日志数据进行聚合,依据连续相同大小的时间窗口内的不同IP的请求数量,得到一个以请求量为元素的数组A和另一个包含结构化日志数据时间戳及IP元信息的数组B;
[0029]2)通过机器学习方法对数组A进行分析,得到异常的请求量,并利用数组A与数组B之间的关联关系,得到异常发生的时间窗口和IP元信息;
[0030]3)对各异常发生的时间窗口内的IP的请求进行请求响应聚合,依据聚合后请求响应分布信息,确定异常发生的时间和请求IP。
[0031]进一步地,机器学习方法包括:scikit-learn中的异常探测分析方法LocalOutilierFactor。
[0032]一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述所述的方法。
[0033]一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机以执行上述所述的方法。
[0034]与现有技术相比,本专利技术具有以下优点:
[0035](1)对异构日志数据进行处理,从而构成具有相同结构的结构化数据,以便统计分析需要。
[0036](2)基于解析后的结构化数据进行包括统计量(一般为请求数、下载量等)、时间、地域(依IP地址得出)在内的二维或三维统计分析。
[0037](3)依据日志进行业务网站异常流量探测,以便进一步分析是否存在爬虫或恶意攻击。
附图说明
[0038]图1为本专利技术的日志处理实施架构图。
[0039]图2为本专利技术的日志处理过滤流程图。
[0040]图3为本专利技术的异常探测流程图。
具体实施方式
[0041]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本专利技术做进一步详细说明。
[0042]本专利技术的日志分析与异常探测系统,包括:
[0043](1)本专利技术采用FileBeat将日志文件转化为事件流,利用Logstash流水线对事件流中的事件进行解析,转化为具有相同结构的结构化数据,并存储至ES集群。需对历史日志、不同业务的日志启动不同的FileBeat实例。Logstash过滤掉无关的事件如静态文件请求,网站页面的图标请求等。ES集群根据业务需求配置索引以便据业务进行日志的统计分析。日志记录中的时间戳对日志统计有重要意义,需要将该时间戳信息提取转化并按“date”格式进行索引。
[0044](2)Ngnix日志通常包含时间戳、IP地址、访问的URL,请求类型等信息。针对网站日志的统计因此主要涉及某一时间段内网站的总访问量,不同IP的访问量,不同地域的访问量等。可归本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志文件的统计方法,其步骤包括:1)将日志文件转化为事件流;2)解析事件流中的事件,将不同业务类型的日志文件转化为具有相同结构的结构化日志数据,其中通过解析事件流中的事件时间戳,得到结构化日志数据时间戳;3)依据结构化日志数据时间戳与通过IP分析出的地域信息,对结构化日志数据进行统计分析,得到日志统计结果。2.如权利要求1所述的方法,其特征在于,将日志文件转化为事件流的方法包括:使用FileBeat。3.如权利要求1所述的方法,其特征在于,所述日志文件包括:历史日志文件和实时日志文件。4.如权利要求3所述的方法,其特征在于,若系统没有消息队列组件,设置Logstash流水线的Logstash Persistent Queue作事件缓存;若系统已经有消息队列组件,Logstash流水线利用此消息队列组件作事件缓存;通过不同的Logstash流水线,解析历史日志文件事件流和实时日志文件事件流中的不同业务类型的事件。5.如权利要求3所述的方法,其特征在于,将日志统计结果存储至关系型数据库中;对于历史日志文件,得到日志统计结果的方法包括:按设定时间段对日志进行统计并持久化至关系型数据库中并基于此关系型数据库作聚合统计、或直接利用ES的聚合查询接口对ES中的日记文档进行统计。6.如权利要求1所述的方法,其特征在于,通过以下步骤解析事件流中的事件:1)通过Grok将事件流中的每个事件解析成多个键值对;2)移除不感兴趣的键值对;3)依据请...

【专利技术属性】
技术研发人员:易秀娟孟珍王学志周园春
申请(专利权)人:中国科学院计算机网络信息中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1