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进行查询。
回复:日志已经记录
api-gateway实践(06)新服务网关 - 请求监控的更多相关文章
- api-gateway实践(10)新服务网关 - OpenID Connect
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
- 阿里云API网关(13)请求身份识别:客户端请求签名和服务网关请求签名
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
- api-gateway实践(02)新服务网关 - 运行环境
一.服务网关的运行环境 1.服务配置中心 1.1.服务配置中心前台 前台 http://10.110.17.20/#/login:无源码,德奎部署在10.110.17.20的DockerStatck环 ...
- api-gateway实践(03)新服务网关 - 网关请求拦截检查
参考链接:http://www.cnblogs.com/jivi/archive/2013/03/10/2952829.html 一.为什么要拦截检查请求? 防止重放攻击.篡改重放,进行使用规格检查 ...
- api-gateway实践(04)新服务网关 - 新手入门
一.网关引擎环境 1.下载代码 2.搭建环境 3.打包部署 二.配置中心环境 1.下载代码 2.搭建环境 3.打包部署 三.创建业务实例 1.以租户身份登录配置中心,注册 group.version. ...
- api-gateway实践(13)新服务网关 - 断路保护/熔断机制
参考链接:SpringCloud的Hystrix(五) Hystrix机制 新需求列表 1.在线测试 根据定义,生成输入界面, 点击测试, 验证参数,发起调用,返回执行结果 2.熔断保护 两个实现类: ...
- api-gateway实践(08)新服务网关 - 云端发布和日志查看
一.发布应用 1.新建应用空间 1.1.新建应用空间 1.2.新建应用 1.3.上传程序包 2.创建应用引擎服务 3.发布应用 3.1.为应用容器绑定Web运行环境(应用引擎服务) 3.2.发布应用( ...
- api-gateway实践(07)新服务网关 - 手动发布
应用地址:http://10.110.20.191:8080/api-gateway-engine/ 一.准备工作 1.xshell登陆云主机 1.1.配置链接 1.2.链接成功 1.3.关闭防火墙 ...
- [转载] 构建微服务:使用API Gateway
原文: http://mp.weixin.qq.com/s?__biz=MzA5OTAyNzQ2OA==&mid=206889381&idx=1&sn=478ccb35294c ...
随机推荐
- OV摄像头SCCB通信协议
/*! * COPYRIGHT NOTICE * Copyright (c) 2013,山外科技 * All rights reserved. * 技术讨论:山外论坛 http://www.vcan1 ...
- 深入浅出Java分布式系统通信
对java分布式系统通信的理解: 1.集群模式,将相同应用模块部署多份 2.业务拆分模式,将业务拆分成多个模块,并分别部署 3.存储分布式 由于分布式概念太大,我们可以缩小下讨论的范围. 以下分布式的 ...
- doT.js——前端javascript模板引擎问题备忘录
我手里维护的一个项目,遇到一个问题:原项目的开发人员在Javascript中,大量的拼接HTML,导致代码极丑,极难维护.他们怎么能够忍受的了这么丑陋.拙劣的代码呢,也许是他们的忍受力极强,压根就没想 ...
- EasyUI 二次加载toolbar异常问题解决
问题:easyUI初次渲染正常,之后会出问题,toolbar重复加载 解决办法:每次加载之前先从body中删除已经渲染的工具栏-->重新加载-->手动渲染工具栏 代码: function ...
- mysql 数据库基本命令语句
mysql mariadb 客户端连接 mysql -uroot -p; 客户端退出exit 或 \q 显示所有数据库show databases;show schemas; 创建数据库create ...
- Java异常机制简介
什么是异常? 异常一般是指程序在编译期没有问题,但是在程序运行期出现的错误,一个程序会因为出现异常而终止运行,也就是我们常说的挂掉,在多线程下,异常只会影响所在的线程,对其他线程没有影响. Java异 ...
- VMware 下快速克隆出多个 Linux 环境
念念不忘,必有回响 好好工作,好好吃饭,困了倒头就睡:吃你认为好吃的,吃到饱:买贵的,你想买的:去玩去野: 就这样. 为什么要克隆多个 Linux 系统? 因为要玩阿. 其实也不是了,就是为了折腾嘛, ...
- 跟着大神学zookeeper分布式锁实现-----来自Ruthless
前几天分享了@Ruthless大神的Redis锁,发现和大家都学习了很多东西.因为分布式锁里面,最好的实现是zookeeper的分布式锁.所以在这里把实现方式和大家分享一下. zookeeper分布式 ...
- 关于使用Unity开发Kinect时出现的Runtime Error错误的解决方式
一.开发环境: 1. 硬件:Kinect 2.0 2. 操作系统:Windows10 3. Unity版本:5.x以上 4. Kinect SDK:KinectSDK-v2.0_1409 5. Kin ...
- 【动态规划】滚动数组的求解(C++)
虽然接触动态规划算法已经有一段时间,给一个01背包问题,能够做到一个表格简单粗暴下去,然后求得结果,但心里总觉得对这个算法理解十分不到位,抱着对算法的热爱,网上很多大牛的算法思维实在让我佩服的五体投地 ...