一种基于日志分析的API网关监控方法技术

技术编号:24176020 阅读:27 留言:0更新日期:2020-05-16 04:39
本发明专利技术揭示了一种基于日志分析的API网关监控方法,其核心特征为:编写用于记录调用日志的收集程序,并将收集程序定义为Bo‑log插件、以插件的方式安装至API网关,利用Bo‑log插件对API网关所发生的每一条调用生成日志,将日志发送至流式计算,通过分析日志整理和计算得到所需的监控数据,并通过网关管理服务展示监控性能、配置网关功能及治理策略。应用本发明专利技术的监控解决方案,通过部署在API网关外的流式计算对所收集的日志实施整理和分析,消除了对API网关的性能消耗,保障了路由服务的性能;同时通过监控数据精度的提升,有利于后端服务的响应。

An API gateway monitoring method based on log analysis

【技术实现步骤摘要】
一种基于日志分析的API网关监控方法
本专利技术涉及计算机和网络产品的软件
,尤其涉及一种基于日志分析的API网关监控方法。
技术介绍
随着IT技术的快速发展,互联网应用逐渐成为业务创新、企业提质增效的重要推动力。因此,保障互联网应用的服务质量至关重要,而运维监控也成为平台运行、服务运维的重中之重。目前的监控软件不会超出六层监控体系:1、基础设施监控,即服务器、交换机等;2、系统层监控,操作系统、CPU、内存、网络等;3、数据库、中间件监控;4、应用层,应用性能监控,服务响应时间、QPS等;5、业务监控,注册登录、下单支付等;6、端用户体验监控,即为浏览器监控、用户感知监控等。此六层监控体系,已经对整个网络通信在理论上做了严密的监控,涵盖了从客户端到服务器的每一个通信环节。但是却不能满足多数对外开放平台的监控需求,多数对外开放平台是提供企业或平台功能业务网站,而实际使用接口由底层企业网关提供。对于多数企业的开发平台或服务中台而言,客户端对API使用的计量计费、健康程度、调用性能等,传统的六层监控体系,是不能有效、直观的做到网关的调用性能和调用统计监控的。API网关是外部访问企业内部程序的唯一入口,面对大量的接口转发,认证鉴权,API网关将是所有对外业务的性能瓶颈。而API网关的监控同样是业务链中必不可少的功能,那么监控每一条调用,且搜集众多信息内容,也将会增加网关处的性能消耗。
技术实现思路
本专利技术的目的旨在提出一种基于日志分析的API网关监控方法,针对于网关处API调用过程、调用计量、API性能提供数据的统计和核算,掌握调用性能,规避问题、防止雪崩。本专利技术实现上述目的的技术解决方案是,一种基于日志分析的API网关监控方法,其特征在于:编写用于记录调用日志的收集程序,并将收集程序定义为Bo-log插件、以插件的方式安装至API网关,利用Bo-log插件对API网关所发生的每一条调用生成日志,将日志发送至流式计算,通过分析日志整理和计算得到所需的监控数据,并通过网关管理服务展示监控性能、配置网关功能及治理策略。上述基于日志分析的API网关监控方法,进一步地,所述日志的记载信息包括调用者信息、网关路由信息、网关服务信息、后端实例信息、调用时间、结束时间、返回结果、使用流量。上述基于日志分析的API网关监控方法,进一步地,所述日志为JSON格式。上述基于日志分析的API网关监控方法,进一步地,所述流式计算部署于API网关外。上述基于日志分析的API网关监控方法,进一步地,所述API网关部署有底层存储服务和前端的网关管理服务,流式计算得到的所述监控数据存储至后台的ElasticSearch存储器,所述网关管理服务从ElasticSearch存储器中获取监控数据,并基于Web页面展示。上述基于日志分析的API网关监控方法,更进一步地,所述监控数据至少包括调用量统计、调用性能统计和使用流量统计。上述基于日志分析的API网关监控方法,更进一步地,所述API网关还部署有至少包含告警、统计报表、基于性能的熔断、限流和扩缩容的后端服务。应用本专利技术的API网关监控方法,具备突出的实质性特点和显著的进步性:通过部署在API网关外的流式计算对所收集的日志实施整理和分析,消除了对API网关的性能消耗,保障了路由服务的性能;同时通过监控数据精度的提升,有利于后端服务的响应。附图说明图1是本专利技术API网关实现功能服务的整体架构框图。图2是本专利技术API网关实现监控功能的原理框图。具体实施方式以下便结合实施例附图,对本专利技术的具体实施方式作进一步的详述,以使本专利技术技术方案更易于理解、掌握,从而对本专利技术的保护范围做出更为清晰的界定。在深入介绍本专利技术该API网关监控方法之前,先简单介绍下该API网关功能层面的架构情况。API网关的主要功能是接口的路由转发和访问的认证鉴权,网关后端即为底层的服务或应用,将其接口暴露于API网关处,供外部调用。如图1所示,API网关通常部署分为多个微服务进程,包括底层网关路由服务、流式计算服务、底层存储服务、前端管理web服务,以及部分所需的拓展服务(告警、日志等)。其中底层网关路由服务,是提供主要网关功能的服务模块,许多开源组件也可提供此功能。主要负责路由转发,后台将服务地址、访问方式录入该程序,由程序配置路由,对外提供服务。本服务是API网关的核心组件,主要承载外部服务调用。流式计算服务,设置计算规则,主要功能是将调用日志分析整理,计算出平台需要的特定值,然后将处理结果缓存,或将数据转发给其它服务使用。网关管理服务,主要用于与管理者的交互,可配置网关功能、展示监控性能,配置其它治理策略等。本专利技术仅关注于暴露在API网关处的接口,监控数据关注于以下几个方面:一者调用量统计,即某一个接口API的调用量,为实现调用计费,需以用户为单位获取其调用者信息,以此统计调用量。二者调用性能统计,在某一次调用中,记录调用开始时间和API网关反馈时间(即结束时间),计算出本次API调用的响应时间,并以API为维度,统计某段时间内的API调用平均响应时间。三者流量使用统计,统计API调用中总报文大小,计算出网络流量使用情况,亦可以此作为计量计费的辅助参考信息。基于以上调用监控,统计计算出QPS、流量吞吐、某时间内的可用性等性能监控信息。本专利技术的主要目的是在API网关处记录每一次调用,将监控所需信息全部记录,那么既可以做监控使用,也可以方便之后溯源追查。其赖以实现的概述技术手段为:编写用于记录调用日志的收集程序,并将收集程序定义为Bo-log插件、以插件的方式安装至API网关,利用Bo-log插件对API网关所发生的每一条调用生成一个详细的日志,将日志发送至流式计算,通过分析日志整理和计算得到所需的监控数据,并通过网关管理服务展示监控性能、配置网关功能及治理策略。如图2所示更具体细化的步骤,利用lua语言编写用于记录调用日志的收集程序,该收集程序对于API网关而言,可被理解或定义为Bo-log插件,将其添加入网关资源中。该日志插件对网关中的每一个服务、路由资源均生效,每一次调用都能生成一条日志信息,日志主要记载调用者信息、网关路由信息、网关服务信息、后端实例信息、调用时间、结束时间、返回结果、流量使用情况等。通过上述插件生成的日志信息,在每一次调用之后,将日志内容仅以JSON格式传到后台流式计算中,通过流式计算获取监控所需的数据。该流式计算部署于API网关外,而监控数据包括但不限于调用量统计、调用性能统计和使用流量统计等。上述API网关部署有底层存储服务和前端的网关管理服务,以ElasticSearch存储器为例,流式计算得到的监控数据存储至后台的ElasticSearch存储器中,为API网关中许多功能需求提供基础数据。而面向管理者,网关管理服务从ElasticSearch存储器中获取监控数据,并基于Web页面展示。当然,上述底层存储服务除El本文档来自技高网...

【技术保护点】
1.一种基于日志分析的API网关监控方法,其特征在于:编写用于记录调用日志的收集程序,并将收集程序定义为Bo-log插件、以插件的方式安装至API网关,利用Bo-log插件对API网关所发生的每一条调用生成日志,将日志发送至流式计算,通过分析日志整理和计算得到所需的监控数据,并通过网关管理服务展示监控性能、配置网关功能及治理策略。/n

【技术特征摘要】
1.一种基于日志分析的API网关监控方法,其特征在于:编写用于记录调用日志的收集程序,并将收集程序定义为Bo-log插件、以插件的方式安装至API网关,利用Bo-log插件对API网关所发生的每一条调用生成日志,将日志发送至流式计算,通过分析日志整理和计算得到所需的监控数据,并通过网关管理服务展示监控性能、配置网关功能及治理策略。


2.根据权利要求1所述基于日志分析的API网关监控方法,其特征在于:所述日志的记载信息包括调用者信息、网关路由信息、网关服务信息、后端实例信息、调用时间、结束时间、返回结果、使用流量。


3.根据权利要求1所述基于日志分析的API网关监控方法,其特征在于:所述日志为JSON格式。


4.根据权利要求1所述基于...

【专利技术属性】
技术研发人员:张俊刘对对花磊赵安全王亮王涛
申请(专利权)人:苏州博纳讯动软件有限公司
类型:发明
国别省市:江苏;32

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

1