CN115766527A - 信创环境下基于api网关进出流量的业务化分析系统及其方法 - Google Patents
信创环境下基于api网关进出流量的业务化分析系统及其方法 Download PDFInfo
- Publication number
- CN115766527A CN115766527A CN202211661199.3A CN202211661199A CN115766527A CN 115766527 A CN115766527 A CN 115766527A CN 202211661199 A CN202211661199 A CN 202211661199A CN 115766527 A CN115766527 A CN 115766527A
- Authority
- CN
- China
- Prior art keywords
- service
- gateway
- index
- api gateway
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000007619 statistical method Methods 0.000 claims abstract description 45
- 238000012423 maintenance Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000013480 data collection Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 abstract description 4
- 238000004220 aggregation Methods 0.000 abstract description 4
- 230000006978 adaptation Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种信创环境下基于API网关进出流量的业务化分析系统,其中,所述的系统包括:运维管理平台,用于进行业务指标的设置,并对接收到的相应的指标进行统计分析以及对业务指标流量信息进行数据展示;API网关,与所述的运维管理平台相连接,用于对业务指标进行流量数据采集处理,以供后续进行指标统计分析。本发明还涉及一种相应的方法。采用了本发明的该信创环境下基于API网关进出流量的业务化分析系统及其方法,解决了用户基于Spring cloud gateway网关对后端服务进出流量的业务化分析统计;所有规则配置动态生效,并支持任意条件组合,满足了微服务架构下,不同后端业务的聚合统计分析要求,进一步提升了网关业务适配能力。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及API网关技术领域,具体是指一种信创环境下基于API网关进出流量的业务化分析系统及其方法。
背景技术
随着现在主流系统架构技术由传统的单体应用切换到微服务架构,对于以前单体应用的流量业务统计分析,只需要在单体应用上进行统一的拦截分析统计就可以达到目的,但是在微服务架构体系下,不同的微服务就会有不同的网络地址,有些大型系统可能会有几十甚至上百个服务,如果在这些服务上进行全系统的业务分析统计,对于开发者和运维人员来说将会非常复杂和难以维护,虽然微服务的API网关在在微服务架构体系中的服务提供了统一的访问入口,但是市面上的主流微服务网关如Kong、Zuul、Spring CloudGateway等虽然有访问日志的记录能力,但是无法根据实际业务来进行统计分析,很多场合还需要开发人员进行定制开发,尤其一旦发生业务变化,这个统计逻辑可能需要重写,无形中大大增加了开发和维护成本。
目前Spring Cloud Gateway网关没有统计分析的概念,主要是通过开发人员基于过滤器实现的访问日志记录信息,例如访问记录中的请求方信息:访问IP,请求Url,请求报文(Query参数,Header参数,Body参数),请求时间;返回方信息:返回报文,响应时间,响应状态等,将这些信息收集后,通过程序的逻辑计算后,将信息以文字或图表的方式展现给用户。
如图1所示,其为Spring Cloud Gateway的请求和访问记录的处理过程,当用户发起请求后,经过路由,通过日志记录Filter将访问信息记录到本地的日志文件,控制台读取文件内容后,经过一系列的逻辑分析运算,将信息展现给当前用户。
通过以上Spring cloud gateway的原理可以知道,目前Spring Cloud Gateway访问记录都是通过全局FIlter的程序硬编码的方式实现,如果出现业务调整,就需要重新开发逻辑,重新打包和重新部署才能生效,无法做到动态生效,一旦出现问题,需要重新回退版本,重启网关,极大的增加开发和运维人员的人力成本和项目风险,并且这些统计仅仅是在进出访问层面,无法进行多维度的业务动态自定义,例如用户想要统计8:00-10:00商品号为PRO-0001请求数,异常数或访问源,这些自定义的统计,更多的只能依赖程序员根据实际业务在代码中调整;在控制台获取访问信息的时候,如果通过IO流进行读取,会极大的增加CUP的开销,网关如果是多节点,那就需要从不同的机器上获取对应的日志文件,将这些信息汇总后,进行逻辑分析,一旦有一个节点发生异常,就会导致数据的一致性有所偏差,影响最终统计结果。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种信创环境下基于API网关进出流量的业务化分析系统及其方法。
为了实现上述目的,本发明的信创环境下基于API网关进出流量的业务化分析系统及其方法如下:
该信创环境下基于API网关进出流量的业务化分析系统,其主要特点是,所述的系统包括:
运维管理平台,用于进行业务指标的设置,并对接收到的相应的指标进行统计分析以及对业务指标流量信息进行数据展示;
API网关,与所述的运维管理平台相连接,用于对业务指标进行流量数据采集处理,以供后续进行指标统计分析。
较佳地,所述的运维管理平台包括:
业务指标定义模块,用于供用户在所述的运维管理平台上定义需要进行业务统计的业务指标,并将相应的业务指标存入数据库后,推送到Redis中。
较佳地,所述的API网关中设置有网关引擎SpringCloud Gateway,所述的网关引擎SpringCloud Gateway接收Redis发送的监听推送,并设置业务指标待命中规则,将其写入所述的网关引擎SpringCloudGateway内置缓存中。
较佳地,如果存在API网关访问所述的待命中规则,则将业务ID写入到当前该网关的访问日志中。
较佳地,所述的API网关中设置有流量数据采集模块,所述的流量数据采集模块用于当API请求进入API网关后,所述的API网关从缓存中获取规则定义,当请求条件满足命中规则后,生成业务ID,并将该业务ID存入API网关的本地访问日志文件中,并通过Filebeat组件监视指定的访问日志文件,收集日志信息。
较佳地,所述的API网关将收集到的日志信息转发到Logstash中;所述的Logstash将日志信息整理收集后,以键值对的形式存入Elasticsearch进行索引。
较佳地,所述的运维管理平台还包括:指标统计分析模块以及数据展示模块;
所述的指标统计分析模块与所述的流量数据采集模块相连接,用于对Elasticsearch中保存的访问记录按照时间、调用方、用户自定义的条件进行分析统计后,在所述的数据展示模块中进行结果显示处理。
较佳地,所述的指标统计分析模块采用Elasticsearch Java client 8.0与所述的Elasticsearch进行日志信息的查询交互处理。
较佳地,所述的数据展示模块用于将所述的指标统计分析模块中分析完成的内容以图表形式在大屏中显示实时或历史的流量信息,包括访问量、异常率、平均响应时间、实时安全信息、实时调用信息、访问量Top10、慢请求Top10。
该利用上述系统实现信创环境下基于API网关进出流量的业务化分析方法,其主要特点是,所述的方法包括以下处理步骤:
(1)业务指标定义模块创建业务指标定义需要的数据库表,生成的业务指标定义表用于存放业务指标定义信息,业务指标详情表存放定义指标详情信息;
(2)业务指标定义模块向位于API网关中的网关引擎SpringCloud Gateway发送业务指标配置推送;
(3)网关引擎SpringCloud Gateway将当前业务指标的业务ID写入到当前该网关的访问日志中;
(4)流量数据采集模块采用ELK的方式,将所有节点上的日志统一收集,管理,访问;
(5)指标统计分析模块将接收到的数据使用Elasticsearch Java client 8.0进行统计分析;
(6)用户通过访问数据展示模块查看指标统计分析结果。
采用了本发明的该信创环境下基于API网关进出流量的业务化分析系统及其方法,解决了用户基于Spring cloud gateway网关对后端服务进出流量的业务化分析统计;所有规则配置动态生效,并支持任意条件组合,满足了微服务架构下,不同后端业务的聚合统计分析要求,进一步提升了网关业务适配能力。
附图说明
图1为现有技术中Spring Cloud Gateway的请求和访问记录的处理过程示意图。
图2为本发明的信创环境下基于API网关进出流量的业务化分析系统的结构示意图。
图3为本发明的业务指标定义模块的处理过程示意图。
图4为本发明的流量数据采集模块的处理过程示意图。
图5为本发明的流量数据采集模块的进一步的处理过程示意图。
图6为本发明的指标统计分析模块的处理过程示意图。
图7为本发明的运维管理平台进行业务规则设置的UI界面示意图。
图8为本发明的运维管理平台进行业务规则编辑的UI界面示意图。
图9为本发明进行业务规则详细查看的UI界面示意图。
图10为本发明进行业务规则详情编辑的UI界面示意图。
图11为本发明通过数据展示模块进行指标统计分析结果查看的示意图。
图12为本发明通过数据展示模块根据条件进行聚合统计的示意图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
在详细说明根据本发明的实施例前,应该注意到的是,在下文中,术语“包括”、“包含”或任何其他变体旨在涵盖非排他性的包含,由此使得包括一系列要素的过程、方法、物品或者设备不仅包含这些要素,而且还包含没有明确列出的其他要素,或者为这种过程、方法、物品或者设备所固有的要素。
请参阅图2所示,该信创环境下基于API网关进出流量的业务化分析系统,其中,所述的系统包括:
运维管理平台,用于进行业务指标的设置,并对接收到的相应的指标进行统计分析以及对业务指标流量信息进行数据展示;
API网关,与所述的运维管理平台相连接,用于对业务指标进行流量数据采集处理,以供后续进行指标统计分析。
作为本发明的优选实施方式,所述的运维管理平台包括:
业务指标定义模块,用于供用户在所述的运维管理平台上定义需要进行业务统计的业务指标,并将相应的业务指标存入数据库后,推送到Redis中。
作为本发明的优选实施方式,所述的API网关中设置有网关引擎SpringCloudGateway,所述的网关引擎SpringCloud Gateway接收Redis发送的监听推送,并设置业务指标待命中规则,将其写入所述的网关引擎SpringCloudGateway内置缓存中。
作为本发明的优选实施方式,如果存在API网关访问所述的待命中规则,则将业务ID写入到当前该网关的访问日志中。
作为本发明的优选实施方式,所述的API网关中设置有流量数据采集模块,所述的流量数据采集模块用于当API请求进入API网关后,所述的API网关从缓存中获取规则定义,当请求条件满足命中规则后,生成业务ID,并将该业务ID存入API网关的本地访问日志文件中,并通过Filebeat组件监视指定的访问日志文件,收集日志信息。
作为本发明的优选实施方式,所述的API网关将收集到的日志信息转发到Logstash中;所述的Logstash将日志信息整理收集后,以键值对的形式存入Elasticsearch进行索引。
作为本发明的优选实施方式,所述的运维管理平台还包括:指标统计分析模块以及数据展示模块;
所述的指标统计分析模块与所述的流量数据采集模块相连接,用于对Elasticsearch中保存的访问记录按照时间、调用方、用户自定义的条件进行分析统计后,在所述的数据展示模块中进行结果显示处理。
作为本发明的优选实施方式,所述的指标统计分析模块采用Elasticsearch Javaclient 8.0与所述的Elasticsearch进行日志信息的查询交互处理。
作为本发明的优选实施方式,所述的数据展示模块用于将所述的指标统计分析模块中分析完成的内容以图表形式在大屏中显示实时或历史的流量信息,包括访问量、异常率、平均响应时间、实时安全信息、实时调用信息、访问量Top10、慢请求Top10。
该利用上述所述的系统实现信创环境下基于API网关进出流量的业务化分析方法,其中,所述的方法包括以下处理步骤:
(1)业务指标定义模块创建业务指标定义需要的数据库表,生成的业务指标定义表用于存放业务指标定义信息,业务指标详情表存放定义指标详情信息;
(2)业务指标定义模块向位于API网关中的网关引擎SpringCloud Gateway发送业务指标配置推送;
(3)网关引擎SpringCloud Gateway将当前业务指标的业务ID写入到当前该网关的访问日志中;
(4)流量数据采集模块采用ELK的方式,将所有节点上的日志统一收集,管理,访问;
(5)指标统计分析模块将接收到的数据使用Elasticsearch Java client 8.0进行统计分析;
(6)用户通过访问数据展示模块查看指标统计分析结果。
在实际应用当中,本技术方案分为业务指标定义模块、进出流量数据采集模块、指标统计分析模块、数据展示模块。
用户在运维管理平台对业务指标进行设置后,将设置内容推送至当前网关,当访问API满足设置条件后,将业务指标id写入网关的访问日志信息中,通过流量数据采集模块进行数据收集,在指标统计分析模块中,利用分析模块强大的搜索和分析能力,将命中的业务指标流量信息(访问量,异常率,平均响应时间,实时安全信息,实时调用信息,访问量Top10,慢请求Top10等)以实时或历史的方式在数据展示模块中以大屏或图表的方式展示。
在本发明的一具体实施方式中,请参阅图3所示,业务指标定义模块让使用人员在管理平台上定义用户需要统计的维度,比如请求端的接口名称,请求方式,请求时间,请求报文(Query参数,Header参数,Body参数),请求IP地址,请求Host名称,访问源;返回端的返回源,响应报文,响应时间,响应状态等,将这些规则存入数据库后,推送到Redis,SpringCloudGateway通过Redis监听,将设置待命中规则写入SpringCloudGateway内置缓存中,如果有API访问命中这些规则,则将业务id记录到网关的访问日志中去。
在本发明的一具体实施方式中,请参阅图4和图5所示,进出流量数据采集模块主要负责,API请求进入API网关后,API网关从缓存中获取规则定义,当请求条件满足命中规则后,将规则的业务id存入API网关的本地访问日志文件,Filebeat组件会监视指定的访问日志文件,收集日志信息,将他们转发到Logstash;Logstash将日志信息整理收集后,以键值对的形式存入Elasticsearch进行索引,供指标统计分析模块分析统计。
在本发明的一具体实施方式中,请参阅图6所示,指标统计分析模块会对Elasticsearch中保存的访问记录按时间,调用方,用户自定义等条件进行分析统计后,在数据展示模块中显示,实现方式会采用Elasticsearch Java client 8.0来进行查询交互,新的Elasticsearch Java client 8.0提供了全新的functional builders,代码量更少,更易维护;本身也有接近Elasticsearch JSON格式的分层DSL,支持程序类的自动映射,并且保持Java8的兼容性。
在本发明的一具体实施方式中,将指标统计分析模块中分析完成的内容,在数据展示模块的图表和大屏中显示实时或历史的流量信息(访问量,异常率,平均响应时间,实时安全信息,实时调用信息,访问量Top10,慢请求Top10等)。
在实际应用当中,本发明是基于Java语言的Spring Cloud Gateway框架实现的,因此文中出现的英文单词都是Java术语以及代码,基于Spring Cloud Gateway网关上进出流量的业务化分析的具体实施步骤如下:
1.业务指标定义
此模块的具体实施步骤如下:
创建业务指标定义需要的数据库表,业务指标定义表来存放业务指标定义信息,业务指标详情表存放定义指标详情信息。
CREATE TABLE`api_business_rule`(
`ID`varchar(64)NOT NULL COMMENT'主键ID',
`NAME`varchar(128)NOT NULL COMMENT'定义业务名称',
`TYPE`varchar(3)NOT NULL COMMENT'业务指标分类,可以自定义如(0:普通,1:信贷,2:资产)',
`ENABLED`char(1)NOT NULL COMMENT'状态1:开启0:关闭',
`CREATE_BY`varchar(64)DEFAULT NULL COMMENT'创建人',
`CREATE_DATE`datetime DEFAULT NULL COMMENT'创建时间',
`UPDATE_BY`varchar(64)DEFAULT NULL COMMENT'更新人',
`UPDATE_DATE`datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`ID`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='业务规则定义表';
CREATE TABLE`api_business_rule_detail`(
`ID`varchar(64)NOT NULL COMMENT'主键ID',
`BUSINESS_ID`varchar(64)NOT NULL COMMENT'业务ID',
`ENABLE`char(1)NOT NULL COMMENT'状态0:开启1:关闭',
`INTERFACE`varchar(255)DEFAULT NULL COMMENT'接口名称',
`REQ_METHOD`char(1)DEFAULT NULL COMMENT'请求方式1:GET 2:POST 3:PUT4:DELETE',
`REQ_TIME`varchar(255)DEFAULT NULL COMMENT'请求时间,可以是时间点,也可以是时间段',
`REQ_QUERY`varchar(255)DEFAULT NULL COMMENT'请求参数',
`REQ_HEADER`varchar(255)DEFAULT NULL COMMENT'请求Header',
`REQ_BODY`varchar(255)DEFAULT NULL COMMENT'请求Body',
`REQ_IP`varchar(255)DEFAULT NULL COMMENT'请求IP地址',
`REQ_HOST`varchar(255)DEFAULT NULL COMMENT'请求Host地址',
`REQ_SOURCE`varchar(255)DEFAULT NULL COMMENT'请求源',
`RESP_SOURCE`varchar(255)DEFAULT NULL COMMENT'响应源',
`RESP_TIME`varchar(255)DEFAULT NULL COMMENT'响应时间',
`RESP_STATUS`varchar(255)DEFAULT NULL COMMENT'响应状态码',
`RESP_BODY`varchar(1024)DEFAULT NULL COMMENT'响应体',
`CREATE_BY`varchar(64)DEFAULT NULL COMMENT'创建人',
`CREATE_DATE`datetime DEFAULT NULL COMMENT'创建时间',
`UPDATE_DATE`varchar(64)DEFAULT NULL COMMENT'更新人',
`UPDATE_BY`datetime DEFAULT NULL COMMENT'更新时间',
PRIMARY KEY(`ID`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='业务规则详情表';
通过运维管理平台,将业务规则定义和业务规则详情信息存入数据库,每个业务支持多个指标项设置,页面UI如图7至图10所示。
将业务规则信息存放到DB数据库中后,使用StringRedisTemplate,以键值对的形式存入Redis。
Key=gtw[API-GATEWAY].rule.id[1449].rules
1)编写Redis监听实现类,要求redis配置件文件中设置notify-keyspace-events选项为Kg(或AKE发送所有通知)
编写public class RedisMessageListener implements MessageListener实现类,
在onMessage方法中,如果触发的Redis的key与网关application.properties中的spring.application.name一致,就将当前规则存入网关缓存。
2)添加全局过滤器PreRequestGlobalFilter(请求过滤器),ResponseComponentGlobalFilter(返回过滤器)用户分析API请求中的信息,查看是否命中业务规则定义。
PreRequestGlobalFilter和ResponseComponentGlobalFilter需要继承GlobalFilter,并在
@Override
public Mono<Void>filter(ServerWebExchange exchange,GatewayFilterChainchain)方法中通过exchange.getRequest()和exchange.getResponse()分析请求内容是否满足业务规则条件,满足条件后,在访问日志里添加
3)访问日志格式如下
属性 | 描述 |
currentTime | 当前时间 |
traceId | 链路追踪id |
time | 请求时间 |
gatewayCode | 网关spring.application.name |
type | 请求类型:Request Response |
processTime | 请求耗时 |
requestUrl | 请求完整地址 |
requestHeaders | 请求头信息 |
requestPath | 接口地址 |
requestHost | 请求ip或域名 |
requestMethod | 请求方法 |
appCode | 请求源应用名 |
status | 返回状态码 |
targetApp | 返回源应用名 |
responsePoint | 真实请求地址 |
requestBody | 请求body |
responseBody | 响应结果 |
businessId | 业务id |
2.进出流量数据采集,将采用ELK的方式,将将所有节点上的日志统一收集,管理,访问。
1)Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
2)Logstash主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
3)Filebeat用于搜集文件数据。
3.指标统计分析
1)这里我们使用Elasticsearch Java client 8.0来进行统计分析,新的Elasticsearch Java client 8.0提供了全新的functional builders,代码量更少,更易维护;本身也有接近Elasticsearch JSON格式的分层DSL,支持程序类的自动映射,并且保持Java8的兼容性。
2)代码中添加Elasticsearch Java client的POM依赖,版本8.4.1
代码中创建ES客户端连接
3)统计结果查询
使用Query进行条件拼接
4.数据展示
如图11至12所示,其根据指标统计分析结果在大屏中将数据显示。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成的,程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一实施例”、“一些实施例”、“示例”、“具体示例”、或“实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
采用了本发明的该信创环境下基于API网关进出流量的业务化分析系统及其方法,解决了用户基于Spring cloud gateway网关对后端服务进出流量的业务化分析统计;所有规则配置动态生效,并支持任意条件组合,满足了微服务架构下,不同后端业务的聚合统计分析要求,进一步提升了网关业务适配能力。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (10)
1.一种信创环境下基于API网关进出流量的业务化分析系统,其特征在于,所述的系统包括:
运维管理平台,用于进行业务指标的设置,并对接收到的相应的指标进行统计分析以及对业务指标流量信息进行数据展示;
API网关,与所述的运维管理平台相连接,用于对业务指标进行流量数据采集处理,以供后续进行指标统计分析。
2.根据权利要求1所述的信创环境下基于API网关进出流量的业务化分析系统,其特征在于,所述的运维管理平台包括:
业务指标定义模块,用于供用户在所述的运维管理平台上定义需要进行业务统计的业务指标,并将相应的业务指标存入数据库后,推送到Redis中。
3.根据权利要求2所述的信创环境下基于API网关进出流量的业务化分析系统,其特征在于,所述的API网关中设置有网关引擎SpringCloud Gateway,所述的网关引擎SpringCloud Gateway接收Redis发送的监听推送,并设置业务指标待命中规则,将其写入所述的网关引擎SpringCloudGateway内置缓存中。
4.根据权利要求3所述的信创环境下基于API网关进出流量的业务化分析系统,其特征在于,如果存在API网关访问所述的待命中规则,则将业务ID写入到当前该网关的访问日志中。
5.根据权利要求3所述的信创环境下基于API网关进出流量的业务化分析系统,其特征在于,所述的API网关中设置有流量数据采集模块,所述的流量数据采集模块用于当API请求进入API网关后,所述的API网关从缓存中获取规则定义,当请求条件满足命中规则后,生成业务ID,并将该业务ID存入API网关的本地访问日志文件中,并通过Filebeat组件监视指定的访问日志文件,收集日志信息。
6.根据权利要求5所述的信创环境下基于API网关进出流量的业务化分析系统,其特征在于,所述的API网关将收集到的日志信息转发到Logstash中;所述的Logstash将日志信息整理收集后,以键值对的形式存入Elasticsearch进行索引。
7.根据权利要求6所述的信创环境下基于API网关进出流量的业务化分析系统,其特征在于,所述的运维管理平台还包括:指标统计分析模块以及数据展示模块;
所述的指标统计分析模块与所述的流量数据采集模块相连接,用于对Elasticsearch中保存的访问记录按照时间、调用方、用户自定义的条件进行分析统计后,在所述的数据展示模块中进行结果显示处理。
8.根据权利要求7所述的信创环境下基于API网关进出流量的业务化分析系统,其特征在于,所述的指标统计分析模块采用Elasticsearch Java client 8.0与所述的Elasticsearch进行日志信息的查询交互处理。
9.根据权利要求7所述的信创环境下基于API网关进出流量的业务化分析系统,其特征在于,所述的数据展示模块用于将所述的指标统计分析模块中分析完成的内容以图表形式在大屏中显示实时或历史的流量信息,包括访问量、异常率、平均响应时间、实时安全信息、实时调用信息、访问量Top10、慢请求Top10。
10.一种利用权利要求1至9中任一项所述的系统实现信创环境下基于API网关进出流量的业务化分析方法,其特征在于,所述的方法包括以下处理步骤:
(1)业务指标定义模块创建业务指标定义需要的数据库表,生成的业务指标定义表用于存放业务指标定义信息,业务指标详情表存放定义指标详情信息;
(2)业务指标定义模块向位于API网关中的网关引擎SpringCloud Gateway发送业务指标配置推送;
(3)网关引擎SpringCloud Gateway将当前业务指标的业务ID写入到当前该网关的访问日志中;
(4)流量数据采集模块采用ELK的方式,将所有节点上的日志统一收集,管理,访问;
(5)指标统计分析模块将接收到的数据使用Elasticsearch Java client 8.0进行统计分析;
(6)用户通过访问数据展示模块查看指标统计分析结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211661199.3A CN115766527A (zh) | 2022-12-23 | 2022-12-23 | 信创环境下基于api网关进出流量的业务化分析系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211661199.3A CN115766527A (zh) | 2022-12-23 | 2022-12-23 | 信创环境下基于api网关进出流量的业务化分析系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115766527A true CN115766527A (zh) | 2023-03-07 |
Family
ID=85347253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211661199.3A Pending CN115766527A (zh) | 2022-12-23 | 2022-12-23 | 信创环境下基于api网关进出流量的业务化分析系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115766527A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541441A (zh) * | 2023-05-22 | 2023-08-04 | 广西壮族自治区环境信息中心 | 一种基于微服务的生态环境中台系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111162932A (zh) * | 2019-12-12 | 2020-05-15 | 苏州博纳讯动软件有限公司 | 一种基于日志分析的api网关监控方法 |
CN112968960A (zh) * | 2021-02-22 | 2021-06-15 | 同济大学 | 一种基于开源组件的微服务架构 |
US20210406102A1 (en) * | 2020-06-29 | 2021-12-30 | Vmware, Inc. | Method and apparatus for providing asynchronicity to microservice application programming interfaces |
CN114221997A (zh) * | 2021-12-14 | 2022-03-22 | 国泰君安证券股份有限公司 | 基于微服务业务网关的接口监控系统 |
CN114465850A (zh) * | 2021-12-29 | 2022-05-10 | 宁夏希望信息产业股份有限公司 | 基于大数据技术的api网关管理平台 |
CN114900448A (zh) * | 2022-05-30 | 2022-08-12 | 上海亿通国际股份有限公司 | 一种微服务网关流量管理方法、装置和电子设备 |
-
2022
- 2022-12-23 CN CN202211661199.3A patent/CN115766527A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111162932A (zh) * | 2019-12-12 | 2020-05-15 | 苏州博纳讯动软件有限公司 | 一种基于日志分析的api网关监控方法 |
US20210406102A1 (en) * | 2020-06-29 | 2021-12-30 | Vmware, Inc. | Method and apparatus for providing asynchronicity to microservice application programming interfaces |
CN112968960A (zh) * | 2021-02-22 | 2021-06-15 | 同济大学 | 一种基于开源组件的微服务架构 |
CN114221997A (zh) * | 2021-12-14 | 2022-03-22 | 国泰君安证券股份有限公司 | 基于微服务业务网关的接口监控系统 |
CN114465850A (zh) * | 2021-12-29 | 2022-05-10 | 宁夏希望信息产业股份有限公司 | 基于大数据技术的api网关管理平台 |
CN114900448A (zh) * | 2022-05-30 | 2022-08-12 | 上海亿通国际股份有限公司 | 一种微服务网关流量管理方法、装置和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541441A (zh) * | 2023-05-22 | 2023-08-04 | 广西壮族自治区环境信息中心 | 一种基于微服务的生态环境中台系统 |
CN116541441B (zh) * | 2023-05-22 | 2024-05-24 | 广西壮族自治区环境信息中心 | 一种基于微服务的生态环境中台系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799728B2 (en) | Multistage device clustering | |
US10810074B2 (en) | Unified error monitoring, alerting, and debugging of distributed systems | |
US11868373B2 (en) | Method and apparatus for monitoring an in-memory computer system | |
US8635596B2 (en) | Model-based event processing | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
CA3059738A1 (en) | Behaviour data processing method, device, electronic device and computer readable medium | |
US11681707B1 (en) | Analytics query response transmission | |
US9116805B2 (en) | Method and system for processing events | |
CN115766527A (zh) | 信创环境下基于api网关进出流量的业务化分析系统及其方法 | |
CN115168400A (zh) | 外部数据管理系统及方法 | |
CN114003568A (zh) | 数据处理的方法及相关装置 | |
US20140143248A1 (en) | Integration to central analytics systems | |
US20220044144A1 (en) | Real time model cascades and derived feature hierarchy | |
US7739376B2 (en) | Message filtering | |
CN107480189A (zh) | 一种多维度实时分析系统及方法 | |
US10353792B2 (en) | Data layering in a network management system | |
CN115033639A (zh) | 一种生成集群间数据共享的关系图的方法和相关装置 | |
CN115033574A (zh) | 信息生成方法、信息生成装置、电子设备及存储介质 | |
US10348596B1 (en) | Data integrity monitoring for a usage analysis system | |
Yuan et al. | Design and implementation of accelerator control monitoring system | |
Sasidharan | Implementation of High Available and Scalable Syslog Server with NoSQL Cassandra Database and Message Queue | |
Plaza-Martín et al. | Analyzing network log files using big data techniques | |
CN116703184B (zh) | 数据处理方法、数据处理装置、电子设备及可读存储介质 | |
US11755430B2 (en) | Methods and systems for storing and querying log messages using log message bifurcation | |
Górski et al. | Designing API for Using Publicly Accessible Data Sets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |