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