首页 > 代码库 > api-gateway实践(7)新服务网关 - 网关请求监控统计

api-gateway实践(7)新服务网关 - 网关请求监控统计

一、实时监控

用户点击服务实例,系统显示服务实例-version下的api列表,

用户点击某个api的如下两个图标

1、API请求次数监控

横轴:时间,粒度为分钟

纵轴:请求访问次数

展示:失败数(红)、成功数(绿)、总数(黄),【点击红色,显示失败日志列表,点击失败日志,树形展示本地的请求端到端明细日志】。

存储:

  • 请求结束时,累计成功数到 instId_api_20171852_suc_cnt
  • 请求结束时,累计失败数到 instId_api_20171852_err_cnt

2、API请求时长监控

横轴:时间,粒度为分钟

纵轴:请求访问时长

展示:网关平均成功时长(绿)、服务端平均成功时长(黑)

存储:

  • 请求结束时,累计网关成功时长到 instId_api_20171852_suc_len
  • 请求结束时,累计服务端成功时长到 instId_svc_20171852_suc_len

3、记录到redis存储

redis中上述数据设置为默认120分钟失效,

以上1、2完成时,记录【请求监控统计日志】到elk。

二、日志格式

1、请求开始日志

请求日志             请求id             请求开发者            apiId 服务实例             客户端      网关开始时间      服务端结束时间   客户端地址     成功/失败                    

网关结束时间      服务端结束时间  服务提供者
@requestLog@ @requestId@ @devClientKey@ @group-version-api@ @instId@ @apiReqTime@ @svcReqTime@ @clientHost@ @succFlag/failFlag@

@apiResTime@ @svcResTime@ @svcClientKey@

2、签名比对日志

签名比对失败    请求id             apiId                            服务实例  成功失败

@verifySign@ @requestId@ @group-version-api@ @instId@ @succFlag/failFlag@

3、请求监控统计日志(定时收集发送)

@devClientKey@ @instId@ @group-version-api@ @日期时间@ @小时@ @分钟@

@成功数@ @失败数@ @总数@ 

@网关平均请求响应时长(成功)@ @网关平均请求响应时长(失败)@

@服务端平均请求响应时长(成功)@ @服务端平均请求响应时长(失败)@ 

api-gateway实践(7)新服务网关 - 网关请求监控统计