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

截图预览:

java 监控网络io java接口监控_java

 

java 监控网络io java接口监控_github_02

 

java 监控网络io java接口监控_java_03

 

java 监控网络io java接口监控_github_04

 

java 监控网络io java接口监控_HTTP_05