zoukankan      html  css  js  c++  java
  • api-gateway实践(06)新服务网关

    一、实时监控

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

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

    1、API请求次数监控

    横轴:时间,粒度为分钟

    纵轴:请求访问次数

    展示:失败数(红)、成功数(绿)、总数(黄)

    存储:

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

    2、API请求时长监控

    横轴:时间,粒度为分钟

    纵轴:请求访问时长

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

    存储:

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

    3、记录到redis存储

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

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

    二、日志格式

    1、请求开始日志

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

    @requestLog@@requestId@@devClientKey@@group-version-api@@网关url@ @instId@@apiReqTime@@svcReqTime@@svcResTime@@apiResTime@@clientHost@@succFlag/failFlag@@svcClientKey@

    2、签名比对日志

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

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

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

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

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

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

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

    三、评审建议(传集)

    1、监控指标缺少api url总的调用次数,api组的总调用次数

             回复:API请求监控已经纳入,含三项指标:请求累计成功、累计失败和累计总数

    2、缺少开发者视角的相关统计

             回复:根据使用实例的监控,可以开放给开发者和管理员

    3、监控功能应该包括top排行,比如一天内的总请求次数排行,消耗时长排行。类似druid的功能

             回复:入库后再考虑!

    4、日志:建议把url直接记录在日志中,不用再通过id进行查询。

         回复:日志已经记录

  • 相关阅读:
    写优先
    生产者消费者信号量的个人理解
    向上过滤
    操作系统之进程调度算法笔记
    idea学习
    计算机网络之网络层
    rest-framework routers
    rest framework ViewSet
    rest framework Genericview
    rest framework Views
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/7340975.html
Copyright © 2011-2022 走看看