一种用于系统的日志分析报警方法及平台技术方案

技术编号:33713552 阅读:59 留言:0更新日期:2022-06-06 08:51
本发明专利技术涉及涉及计算机网络技术领域,具体涉及一种用于系统的日志分析报警方法及平台,包括以下步骤:实时采集系统日志,并发送到集群中;对集群中的日志进行实时分析处理,若出现异常则发出报警通知,并将分析结果存储于数据库中。本发明专利技术通过实时采集日志数据,且采集后进行实时分析,因此可以及时发现系统异常情况,并及时报警及处理。并及时报警及处理。并及时报警及处理。

【技术实现步骤摘要】
一种用于系统的日志分析报警方法及平台


[0001]本专利技术涉及计算机
,特别涉及一种用于系统的日志分析报警方法及平台。

技术介绍

[0002]网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录;每一行日志都记载着日期、时间、使用者及动作等相关操作的描述。通过对日志文件进行分析,可以获取很多有用的信息,因此对于系统产生的日志进行分析很有必要。现有技术中存在多种日志分析平台,但几乎都有一个共同的特点,就是先收集日志,然后存储于数据库中,需要分析时再从数据库中调取日志数据来进行分析,这样的处理方式存在一定的技术缺陷,例如不能及时发现异常情况并报警,经常出现用户发现异常再临时解决的情况,干扰业务的顺畅进行,也使得用户的体验差。

技术实现思路

[0003]本专利技术的目的在于提供一种用于系统的日志分析报警方法及平台,可以及时发现异常并报警。
[0004]为了实现上述专利技术目的,本专利技术实施例提供了以下技术方案:
[0005]一种用于系统的日志分析报警方法,包括以下步骤:
[0006]实时采集系统日志,并发送到集群中;
[0007]对集群中的日志进行实时分析处理,若出现异常则发出报警通知,并将分析结果存储于数据库中。
[0008]在进一步优化的方案中,在日志发送到集群中之后,还包括步骤:将集群中的日志传输到所述数据库中存储。本方案中,通过对采集的日志数据进行直接存储,保留了日志原始数据,可以供后续其他目的的使用。
[0009]在进一步优化的方案中,在采集系统日志之前,还包括步骤:在各个系统中置入统一的日志包,以便于实现收集该系统中的日志。针对于体量较大的应用,通常是通过多个应用服务器来满足负载需求,因为日志数据会分布在不的系统中,本方案中通过在各个系统中提前置入统一的日志包,继而实现从各个系统中收集日志数据的目的,然后汇总并进行可视化展示,为日志的查看带来了极大的便利。
[0010]另一方面,本专利技术实施例还提供了一种用于系统的日志分析报警平台,包括:
[0011]日志采集模块,用于实时采集系统日志;
[0012]集群模块,用于实时接收日志采集模块所发送的日志数据;
[0013]日志分析模块,用于对集群中的日志进行实时分析处理;
[0014]报警模块,用于当日志分析模块发现异常时发出报警通知;
[0015]数据库,用于存储日志分析模块输出的分析结果。
[0016]与现有技术相比,本专利技术通过实时采集日志数据,且采集后进行实时分析,因此可
以及时发现系统异常情况,并及时报警及处理,不仅可以使得问题得到及时解决,而且可以提升用户体验。另外,采集的日志数据同时也会存储在数据库中,使得原始数据得以保留,以供其他应用所需。
附图说明
[0017]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0018]图1为本专利技术实施例中用于系统的日志分析报警方法的流程图。
[0019]图2为日志可视化展示的实现流程图。
[0020]图3为实施例中用于系统的日志分析报警平台的结构框图。
具体实施方式
[0021]下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0022]请参阅图1,本实施例提供的用于系统的日志分析报警方法,包括以下步骤:
[0023]实时采集系统日志,并发送到集群中。
[0024]对集群中的日志进行实时分析处理,若出现异常则发出报警通知,并将分析结果存储于数据库中。
[0025]传统的日志数据分析处理,是先将采集的日志数据存储在数据库中,当有分析需求时才从数据库中调取日志数据进行分析,因此对于故障节点(熔断信息)不能及时发现及定位,且是由人工进行排查才能找到故障点,效率低,因此会严重影响业务的继续进行。例如A服务与B服务相互配合才能完成例如支付功能,假设B服务出现故障,当A服务调用B服务时无法调用,因此会导致一直处于在支付的状态。
[0026]本方案中,在收集到日志数据后,马上进行分析处理,因此如果应用服务中某个节点存在故障,那么就会马上被发现,继而进行及时处理。仍以上述举例为例,当B服务出现故障时会被及时发现,继而A服务无法调用B服务后即会及时向前端反馈,及时终止当前服务,不会出现一直等待调用B服务、一直处于支付状态的情况。
[0027]因此,通过本专利技术上述方案,可以及时发现是否出现故障、故障位置、故障发生时间、故障时长及恢复时间等信息,而且是由传统的人工确认方式转为机器自动感知,发现故障后及时通知业务人员及时解决,故障恢复快,用户体验好。另外,实时分析的结果会存储在数据库中,业务人员可以通过web系统直接查看。
[0028]另外,通过上述方案还可以实现业务耗时分析,方便识别耗时较长环节。具体的,日志中包含整个微服务的调用日志,所以可以根据日志中记载的记录计算出每个调用使用
的具体时间。比如用户(客户端)发起请求,这时应用系统日志里就有了客户端发起请求相关信息(例如发起时间),到了服务端也有相关信息(例如接到消息时间,处理时间,再发送到别的服务端的时间),根据这一次调用的整个链路即可计算出业务的耗时时间。
[0029]需要注意的是,对于日志数据的具体分析方式本方案中没有限定,用户甚至可以自定义分析规则、预警规则等,以实现对系统状态的全面掌控,保障用户体验。例如,当发现应用系统有网络波动或者应用系统有异常时,监控告警到企业微信群时,在告警群里可以看到当前告警原因、告警时候的日志及系统(如cpu,内存,磁盘,网络)相关指标、告警服务器IP地址、告警系统名称、以及业务相关指标(比如失败率)、失败原因、失败码、失败笔数等。
[0030]在实时采集系统日志的步骤中,采集的日志数据可能是来自于同一个应用系统,也可能是来自于多个应用系统。为了实现对不同应用系统中日志数据的采集,事先在各个应用系统中置入了统一的日志包,例如应用系统是java语言开发的就用jar包。日志包的作用就是采集和发送相关数据到分析平台,如果预先没有事先置入日志包将无法实现日志采集。
[0031]目前,查看日志的方式较为简单,登录一台服务器,找到固定目录的一个日志文件即可查看。然而,当应用的体量较大时,往往一个应用服务器很难满足负本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于系统的日志分析报警方法,其特征在于,包括以下步骤:实时采集系统日志,并发送到集群中;对集群中的日志进行实时分析处理,若出现异常则发出报警通知,并将分析结果存储于数据库中。2.根据权利要求1所述的用于系统的日志分析报警方法,其特征在于,在日志发送到集群中之后,还包括步骤:将集群中的日志传输到所述数据库中存储。3.根据权利要求1所述的用于系统的日志分析报警方法,其特征在于,在采集系统日志之前,还包括步骤:在各个系统中置入统一的日志包,以便于实现收集该系统中的日志。4.根据权利要求1所述的用于系统的日志分析报警方法,其特征在于,所述实时采集系统日志的步骤中,基于log4j2...

【专利技术属性】
技术研发人员:戈子根李春龙郗亚静刘亚维张强刘一男朱静波
申请(专利权)人:北京结慧科技有限公司
类型:发明
国别省市:

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

1