基于elastic组件的日志分析系统的制作方法

文档序号:11177025阅读:470来源:国知局
基于elastic组件的日志分析系统的制造方法与工艺

本发明涉及数据处理技术领域,尤其涉及一种基于elastic组件的日志分析系统。



背景技术:

随着互联网技术的蓬勃发展,用户越来越普遍地通过终端接入互联网办理各种业务。业务规模不断扩大,系统功能会变得越来越复杂,为了应付业务的快速发展,降低开发难度,排除性能瓶颈,系统会不断拆分,演化成包含多种子服务的分布式系统,各子服务通过远程过程调用协议(remoteprocedurecallprotocol,rpc)相互调用,最后完成业务流程。这个拆分和进化的过程是不可逆的,子系统越变越多,各种专用功能组件会不断被引入,系统和机器规模迅速膨胀。

当业务发展到一定的规模时,几个运维或者开发人员根本无法全面的了解系统中的每个逻辑,出现故障后登录各台服务器,使用grep/sed/awk等linux脚本工具去日志里查找故障原因,排障时间长,不容易及时发现故障根源。

现有技术中的日志分析系统,如splunk、日志易、logz.io等系统价格昂贵,数据安全性无法保证,与指定的业务逻辑结合度不高。



技术实现要素:

本发明提供了一种基于elastic组件的日志分析系统,以解决现有技术中的日志分析系统价格昂贵,数据安全性无法保证,与指定的业务逻辑结合度不高的问题。

本发明实施例提供了一种基于elastic组件的日志分析系统,包括:服务器和监控终端;

所述服务器包括获取模块、创建模块、处理模块、发送模块、分析模块;

所述获取模块用于,获取日志数据,所述日志数据包含系统日志和业务日志;

所述创建模块用于,创建消息队列,将所述日志数据写入所述消息队列;

所述处理模块用于,从所述消息队列中读取所述日志数据,根据预设处理规则对所述日志数据进行预处理,得到预处理日志数据;

所述发送模块用于,将所述预处理日志数据发送到elastic组件进行存储;

所述分析模块用于,根据预设分析规则对所述预处理日志数据进行分析处理,得到分析结果;

所述发送模块还用于,当所述分析结果超过预设阈值时,向所述监控终端发送分析结果和提示信息;

所述监控终端用于,将所述分析结果和所述提示信息生成可视化分析报告,并进行显示。

进一步的,所述处理模块具体用于:

对所述日志数据按照字段进行过滤,并将过滤后的日志数据根据业务类型添加分类标识。

进一步的,所述服务器还包括查询模块;

所述查询模块用于,接收终端发送的查询请求,所述查询请求包含查询条件;

根据所述查询条件在elastic组件中实时查询日志数据,并发送给所述终端。

进一步的,所述分析模块具体用于:

根据预设的报错规则对预处理日志数据中的第一业务的出错信息进行统计,得到所述第一业务的出错次数。

进一步的,所述系统还包括报警模块;

所述报警模块用于,当所述第一业务的出错次数超过所述第一业务报错阈值时,向所述监控终端发送报警信息。

进一步的,所述分析模块具体用于:

分别根据url地址、mac地址、ip地址从预处理日志数据中提取预设时间段内用户的访问数据;

根据所述访问数据,统计预设时间段内用户的点击率。

本发明实施例提供的基于elastic组件的日志分析系统,服务器获取日志数据,日志数据包含系统日志和业务日志;创建消息队列,将日志数据写入消息队列;从消息队列中读取日志数据,根据预设处理规则对日志数据进行预处理,得到预处理日志数据;将预处理日志数据发送到elastic组件进行存储;根据预设分析规则对预处理日志数据进行分析处理,得到分析结果;当分析结果超过预设阈值时,向监控终端发送分析结果和提示信息;监控终端将分析结果和提示信息生成可视化分析报告,并进行显示。本发明实施例提供的系统,基于开源的elastic组件对日志数据进行处理,降低了成本;根据预设的分析规则分析日志数据,可以与指定的业务逻辑有效结合;无需第三方分析系统参与,提高了数据的安全性。

附图说明

图1为本发明实施例提供的基于elastic组件的日志分析系统的示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合图1所示的基于elastic组件的日志分析系统的示意图,对本发明实施例提供的基于elastic组件的日志分析系统进行详细说明。

如图1所示,本发明提供的基于elastic组件的日志分析系统主要包括:服务器1和监控终端2。

服务器1包括获取模块11、创建模块12、处理模块13、发送模块14、分析模块15。

获取模块11用于,获取日志数据,日志数据包含系统日志和业务日志。

在所有需要收集信息的服务器端通过轻量级数据发送工具fiilebeat或linux系统日志收集发送工具rsyslog配置需要收集的日志路径并滤筛日志格式,根据日志路径得到系统日志和业务日志,并将不满足格式要求的日志过滤掉。

需要说明的是,日志数据收集发送工具除了fiilebeat以及rsyslog之外,也可以根据需要选择其他工具,本发明包含但不限于此。

创建模块12用于,创建消息队列,将日志数据写入消息队列。

在一个具体的实施例中,利用开源集群工具zookeeper与开源消息队列创建工具kafka的集群创建消息队列。

在分布式系统中,一次分布式事务关联的是多个节点,其中每一个节点出现问题都会成为整个事务处理流程中的瓶颈。如果逻辑节点与数据库之间没有一个起到缓冲作用的节点,那就是每次操作都要访问数据库,会降低系统的响应速度和稳定性,创建消息队列的目的就是为了在逻辑节点与数据库之间建立缓冲节点,提高系统响应速度,而且,消息队列还能起到解耦的作用,提高了系统的稳定性。

处理模块13用于,从消息队列中读取日志数据,根据预设处理规则对日志数据进行预处理,得到预处理日志数据;

具体的,对日志数据按照字段进行过滤,并将过滤后的日志数据根据业务类型添加分类标识。

本步骤为日志清洗的步骤,对日志数据按照字段进行过滤,并将过滤后的日志数据根据业务类型添加分类标识。

在一个具体的实施例中,可以利用日志清理工具logstatsh进行日志清理,在日志清理系统里设置日志字段的过滤规则和一些标记信息。

发送模块14用于,将预处理日志数据发送到elastic组件进行存储。

收集清理后的日志数据通过分布式搜索和分析引擎elasticsearch来进行存储,elasticsearch为开源技术,从而避免了使用现有技术中价格昂贵的日志分析系统,而且,elasticsearch能够提供数据的实时查询。

分析模块15用于,根据预设分析规则对预处理日志数据进行分析处理,得到分析结果。

可以结合指定的业务逻辑规则和需求信息预设各种分析规则对日志数据进行分析,得到对应的分析结果。

可选地,分析模块15用于根据预设的报错规则对预处理日志数据中的第一业务的出错信息进行统计,得到第一业务的出错次数。

可选地,服务器还包括报警模块17;

报警模块17用于,当第一业务的出错次数超过第一业务报错阈值时,向监控终端发送报警信息。

可选地,分析模块15用于分别根据url地址、mac地址、ip地址从预处理日志数据中提取预设时间段内用户的访问数据;根据访问数据,统计预设时间段内用户的点击率。

发送模块14还用于,当分析结果超过预设阈值时,向监控终端发送分析结果和提示信息。

对于分析得到的数值类型的结果数据,判断该结果数值是否超过对应的预设阈值,如果超过,则通过信息或邮件的方式将分析结果和提示信息发送给特定的监控人员终端。

可选的,当第一业务执行的出错次数超过第一业务报错阈值时,发送模块14向监控终端发送报警信息。

服务器接收原始日志,统一管理并建立索引,能在几秒钟内返回搜索分析结果,帮助及时定位故障原因。结合告警监控,在故障发生或即将发生的时候就发出告警。通过前台展示功能可以随时查看系统状况,对系统情况了如指掌,避免事后救火的被动。

另外,服务器还包括查询模块16;

查询模块16用于,接收终端发送的查询请求,查询请求包含查询条件;根据查询条件在elastic组件中实时查询日志数据,并发送给终端。

监控终端2用于,将分析结果和提示信息生成可视化分析报告,并进行显示。

例如,分析计算出的数据结果和报警信息和相关的原始数据可以通过数据可视化展示工具kibana、grafana等展示出来,便于监控终端侧系统维护人员及时发现问题,及时采取相关措施进行解决。

本发明实施例提供的基于elastic组件的日志分析系统,服务器获取日志数据,日志数据包含系统日志和业务日志;创建消息队列,将日志数据写入消息队列;从消息队列中读取日志数据,根据预设处理规则对日志数据进行预处理,得到预处理日志数据;将预处理日志数据发送到elastic组件进行存储;根据预设分析规则对预处理日志数据进行分析处理,得到分析结果;当分析结果超过预设阈值时,向监控终端发送分析结果和提示信息;监控终端将分析结果和提示信息生成可视化分析报告,并进行显示。本发明实施例提供的系统,基于开源的elastic组件对日志数据进行处理,降低了成本;根据预设的分析规则分析日志数据,可以与指定的业务逻辑有效结合;无需第三方分析系统参与,提高了数据的安全性。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件来实现,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。具体地,所述运算和控制部分都可以通络逻辑硬件实现,其可以是使用集成电路工艺制造出来的逻辑集成电路,本实施例对此不作限定。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明实施例的保护范围,凡在本发明实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

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