一种基于访问日志的应用状态监控报警系统及方法技术方案

技术编号:24455743 阅读:16 留言:0更新日期:2020-06-10 15:29
本发明专利技术公开了一种基于访问日志的应用状态监控报警系统及方法,所述系统包括日志收集模块、日志订阅模块、过滤器链组件以及数据库模块,其中,所述日志收集模块用于将来自日志源的应用日志文件进行处理和格式转换为数据流,将数据流按照主题作为应用日志消息进行存储和发布;日志订阅模块用于根据主题订阅应用日志消息,并将应用日志消息推送给过滤器链组件,进行应用日志消息处理;所述过滤器链组件还用于访问数据库模块,将应用日志消息及其处理结果进行存取、查询和更新;所述过滤器链组件中包括报警模块,用于根据应用日志消息的业务状态,以及应用与系统的关联规则,向系统关联负责人发送报警信息。

An application state monitoring alarm system and method based on access log

【技术实现步骤摘要】
一种基于访问日志的应用状态监控报警系统及方法
本专利技术属于分布式发布订阅消息
,特别是涉及到分布式订阅消息用于应用状态监控报警的技术。
技术介绍
目前移动互联技术高度发达,人们日常生活中的各种功能、事务都借助于网络服务来解决。另一方面,随着互联网用户的不断增加,大型的网站一般会采用多台相同角色的应用服务器,组成分布式网络系统,从而在用户访问网站时,各应用服务器能够较为均衡地接入用户,从而实现分布式网络系统的负载均衡。在现有分布式网络系统中,为了保障网站的正常运行,需要对网站的可用性进行监控。网站的可用性包括各应用服务器系统层面的可用性以及应用服务器提供的网页页面应用内容的可用性,其中,对于系统层面的可用性,现有技术的监控比较完善,例如,可以针对负载、网络带宽、CPU、IO、内存等基础数据提供完善的监控。而对于应用内容的可用性监控比较复杂,具体来说,一方面,应用内容错误并不一定导致系统层面的错误,另一方面,应用内容错误直接与用户获取信息的准确度相关,而应用内容的异常情况多种多样,例如,应用程序部分异常,会降低网页展示的应用内容的准确性,使得该网页页面展示的应用内容是错误的,或者是不全的。为了及时处理应用服务器由于应用程序出现的应用内容错误,一些应用方案及其存在的技术问题如下所述。1.应用监控报警技术。应用程序会自定义一个health_check的页面,来对应用的状态进行输出,如果应用服务出现服务异常,通过监控此health_check的方式来及时发现应用服务的故障问题,通过报警及时通知技术人员分析原因。应用的监控报警技术存在覆盖率不足的问题,覆盖率依赖于部署的监控的客户端和业务是否增加了报警的统一规则,一般只是代表监控客户端的物理情况、网络情况,并不能代表所有线上真实用户的访问情况,因此可能会遗漏部分场景,特别是对于集群环境下的监控,部署的监控节点的客户端存在路由覆盖不到的情况,部分集群内的机器业务的状态并不能被监控到。2.Http服务监控。Http服务监控技术会定时请求访问的资源,通过定义返回的状态和返回的值来判断是否存在异常情况,如果存在异常状态,则通知用户报警。HTTP服务监控一般是单独部署模拟的客户端模拟实际请求调用应用的服务,存在的主要缺陷是客户端有限,没法覆盖全部场景,因为IP的有限,也很难覆盖到集群服务下的所有业务的服务主机。由于现在的系统部署都采用高可用的集群部署方式,而覆盖率往往依赖于客户端的节点情况,比如如果节点IP被HASH到同一台或者其中几台业务机器上,其他的机器的运行情况并不能被发现。还有种情况是各地运营商的情况不同,服务的响应可能也不一样。3.应用日志监控。为了及时发现应用服务的错误,应用服务大部分会集成日志框架,比如log4j、logback等,日志框架会分别定义debug、info、warn、error等不同级别的日志级别,一般发系统级错误异常通过error的级别去输出,很多公司会基于对error日志的监控,来通过应用管理员及时发现和关注应用的服务日志。虽然这些应用利用日志方式针对自己的服务状态做了监控,但这仅仅是对自己的业务系统的事件或者日志进行监控和报警,而实际的很多场景是因为业务系统外部的因素导致服务不可用,比如网络不稳定、外部安全设备拦截等导致的问题,业务系统是感知不到的。另外,应用级别的监控技术只局限于业务的异常,对资源是否存在、URL是否错误、超时类异常等都很难捕获,特别是静态资源、接口调用方面出现的概率比较大。
技术实现思路
为解决现有技术中各类应用服务监控以及报警技术存在技术问题:1)应用级别的监控以及报警技术只局限于业务的异常,对资源是否存在、URL是否错误、超时类异常等都很难捕获,特别是静态资源、接口调用方面出现的概率比较大;2)覆盖率不够,监控的覆盖率依赖的部署的监控的客户端,一般只是代表监控客户端的物理情况、网络情况,并不能代表所有线上真实用户的访问情况,会遗漏部分场景;3)并没有形成体系化,没法通过后端服务来进行数据统计以及分析,在此基础上做到对可用性的预估和优化度量。提出一种基于访问日志的应用状态监控报警方法,直接接入所有接入端的日志,能够分析所以访问日志的情况,能够触及到所有真实用户的情况。为了实现该技术效果,本专利技术采用了如下的技术方案。一种基于访问日志的应用状态监控报警系统,包括日志收集模块、日志订阅模块、过滤器链组件以及数据库模块,其中,所述日志收集模块用于将来自日志源的应用日志文件进行处理和格式转换为数据流,将数据流按照主题作为应用日志消息进行存储和发布;日志订阅模块用于根据主题订阅应用日志消息,并将应用日志消息推送给过滤器链组件,进行应用日志消息处理;所述过滤器链组件还用于访问数据库模块,将应用日志消息及其处理结果进行存取、查询和更新;其中,所述过滤器链组件中包括报警模块,用于根据应用日志消息的业务状态,以及应用与系统的关联规则,向系统关联负责人发送报警信息。另外,所述日志收集模块按照集群方式进行存储和发布,所述集群包括多个服务器节点,每个服务器节点存储一主题应用日志消息的一个或多个分区;所述日志订阅模块采用拉取的方式获取应用日志消息,所述拉取的方式为每次按照预定偏移量拉取一定数量的应用日志消息。另外,所述过滤器链组件还包括HTTP状态分析器,所述HTTP状态分析器模块通过分析HTTP代码来确定应用日志消息是否属于报警业务规则内;所述HTTP状态分析器还过滤静态资源,将与跟业务不相关的静态资源进行过滤;所述HTTP状态分析器模块通过所述HTTP代码分析以及静态资源过滤操作来确定应用日志消息的业务状态。另外,所述过滤器链组件还包括用户分析器,所述用户分析器连接至报警模块,用于根据预设应用与系统之间的关联规则,确定系统关联负责人的联系信息,当所述应用日志消息的业务状态分析结果为需要报警时,将需要报警的数据及系统关联负责人的联系信息返回给报警模块,报警模块发送相关的报警信息。另外,所述过滤器链组件还包括统计模块,所述统计模块用于对应用日志消息进行归类和统计分析,所述统计模块通过将应用日志消息按照登录应用、登录地址、登录代码等维度进行数据归类和统计,后期为分析提供基础数据。另外,所述过滤器链组件还包括缓存管理器,所述对基础配置信息进行缓存和更新,以及将基础配置信息传递给数据库。另外,所述过滤器组件还包括数据库管理器,所述数据库管理器用于使用JDBC连接关系数据库和在线分析数据库,为所述过滤器组件的其他业务模块提供快速数据库的查询和更新服务。一种基于访问日志的应用状态监控报警方法,包括步骤:A、将来自日志源的应用日志文件进行处理和格式转换为数据流,将数据流按照主题作为应用日志消息进行存储和发布;B、根据主题订阅应用日志消息,并将应用日志消息推送给过滤器链组件,进行应用日志消息处理;C、根据应用日志消息的业务状态,以及应用与系统的关联规则,向系统关联负责人发送报警信息;以及,D、访问数据库模块,将本文档来自技高网
...

【技术保护点】
1.一种基于访问日志的应用状态监控报警系统,包括日志收集模块、日志订阅模块、过滤器链组件以及数据库模块,其中,/n所述日志收集模块用于将来自日志源的应用日志文件进行处理和格式转换为数据流,将数据流按照主题作为应用日志消息进行存储和发布;/n日志订阅模块用于根据主题订阅应用日志消息,并将应用日志消息推送给过滤器链组件,进行应用日志消息处理;/n所述过滤器链组件还用于访问数据库模块,将应用日志消息及其处理结果进行存取、查询和更新;/n其中,所述过滤器链组件中包括报警模块,用于根据应用日志消息的业务状态,以及应用与系统的关联规则,向系统关联负责人发送报警信息。/n

【技术特征摘要】
1.一种基于访问日志的应用状态监控报警系统,包括日志收集模块、日志订阅模块、过滤器链组件以及数据库模块,其中,
所述日志收集模块用于将来自日志源的应用日志文件进行处理和格式转换为数据流,将数据流按照主题作为应用日志消息进行存储和发布;
日志订阅模块用于根据主题订阅应用日志消息,并将应用日志消息推送给过滤器链组件,进行应用日志消息处理;
所述过滤器链组件还用于访问数据库模块,将应用日志消息及其处理结果进行存取、查询和更新;
其中,所述过滤器链组件中包括报警模块,用于根据应用日志消息的业务状态,以及应用与系统的关联规则,向系统关联负责人发送报警信息。


2.根据权利要求1中所述的基于访问日志的应用状态监控报警系统,其特征在于,所述日志收集模块按照集群方式进行存储和发布,所述集群包括多个服务器节点,每个服务器节点存储一主题应用日志消息的一个或多个分区;所述日志订阅模块采用拉取的方式获取应用日志消息,所述拉取的方式为每次按照预定偏移量拉取一定数量的应用日志消息。


3.根据权利要求1中所述的基于访问日志的应用状态监控报警系统,其特征在于,所述过滤器链组件还包括HTTP状态分析器,所述HTTP状态分析器模块通过分析HTTP代码来确定应用日志消息是否属于报警业务规则内;所述HTTP状态分析器还过滤静态资源,将与跟业务不相关的静态资源进行过滤;所述HTTP状态分析器模块通过所述HTTP代码分析以及静态资源过滤操作来确定应用日志消息的业务状态。


4.根据权利要求1中所述的基于访问日志的应用状态监控报警系统,其特征在于,所述过滤器链组件还包括用户分析器,所述用户分析器连接至报警模块,用于根据预设应用与系统之间的关联规则,确定系统关联负责人的联系信息,当所述应用日志消息的业务状态分析结果为需要报警时,将需要报警的数据及系统关联负责人的联系信息返回给报警模块,报警模块发送相关的报警信息。


5.根据权利要求1中所述的基于访问日志的应用状态监控报警系统,其特征在于,所述过滤器链组件还包括统计模块,所...

【专利技术属性】
技术研发人员:李玉福
申请(专利权)人:北京农信互联科技集团有限公司
类型:发明
国别省市:北京;11

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

1