1. 背景
在一些业务中,可能会出现如下几种状况:vue
1.接口的不稳定致使APP/WEB端上的超时、抛错,而资源级监控不能达到业务健康情况监控的目的。 2.接口众多,服务部署后不知道是否每一个接口都正常。 3.不一样服务同一接口的响应时间。 5.依赖的其余接口异常致使不可用。 6.重要的接口不能等用户触发异常,须要在用户请求前就发现异常并处理掉
为了保证线上服务的稳定运行,除了线上关键服务的资源类监控外,各服务接口也很是重要。对于接口异常这类问题的排查每每比服务异常更耗时费力,那么如何对线上关键接口进行监控呢?mysql
2. 解决思路
获取到服务的全部接口定时对这些进行模拟请求,检测接口返回状态以及返回数据。git
3. JPower是什么
JPower是一个彻底开源的微服务快速开发框架,包含用户管理、系统管理、统一受权等基础模块。用户在此框架上可快速进入业务开发。sql
这里给你们推荐一款JPower里的小工具jpower-log,jpower-log模块就对此实现了对各种接口的健康状态监控。数据库
实现功能:json
- 支持单个服务的全部API检测。
- 自动回滚接口请求产生的数据,不会在数据库保留下任何垃圾数据;
- 支持HTTP,请求类型能够是GET,POST,HEADER,PUT,DELETE等全部类型
- 支持任何形式的HTTP接口鉴权配置,只须要简单的配置登陆接口以及登陆参数
- 调用API能够设置请求头部,请求参数,并针对单个接口进行定制化配置
- 能够自定义检测结果断定,好比接口返回状态码为200,返回内容包括/不包括exception等;
- 能够自定义监控频率,好比30分钟/次,1小时/次等
- 监控日志汇总,导出
- 虽然这块小工具是基于JPower开发,可是检测对象不局限于JPower,任何第三方服务的HTTP接口均可进行配置监控
使用文档:tomcat
https://www.kancloud.cn/guodingzhi/jpower/2251824框架
使用技术:maven
- 技术框架:maven、Spring Boot、Mybatis、SpringMVC
- 技术组件:OKHttp、fastjson
- UI技术:vue、Echarts
运行环境微服务
- jdk8
- tomcat
- mysql
截图预览: