Springboot Actuator之七:endpoint源码解析

看actuator项目的包结构,如下:

本文中的介绍Endpoints。

Endpoints(端点)介绍

Endpoints 是 Actuator 的核心部分,它用来监视应用程序及交互,spring-boot-actuator中已经内置了非常多的Endpoints(health、info、beans、httptrace、shutdown等等),同时也允许我们扩展自己的端点。

Endpoints 分成两类:原生端点用户自定义端点:

  1. 原生端点是在应用程序里提供的众多 restful api 接口,通过它们可以监控应用程序运行时的内部状况。原生端点又可以分成三类:
    • 应用配置类:可以查看应用在运行期间的静态信息:例如自动配置信息、加载的spring bean信息、yml文件配置信息、环境信息、请求映射信息;
    • 度量指标类:主要是运行期间的动态信息,例如堆栈、请求连、一些健康指标、metrics信息等;
    • 操作控制类:主要是指shutdown,用户可以发送一个请求将应用的监控功能关闭。
  2. 自定义端点主要是指扩展性,用户可以根据自己的实际应用,定义一些比较关心的指标,在运行期进行监控。

我们这里详细说明org.springframework.boot.actuate.endpoint中的实现.通过如下几点来进行分析:

xxxEndpoint的作用
xxxEndpoint的字段,构造器
xxxEndpoint核心方法invoke 实现分析
xxxEndpoint如何进行配置
xxxEndpoint如何自动化装配
Endpoint执行原理

在org.springframework.boot.actuate.endpoint 中还有2个子包-jmx(可通过jmx协议访问),mvc(通过spring mvc 暴露,可通过接口进行访问,在下篇文章进行分析).这里我们不关注这些,这看org.springframework.boot.actuate.endpoint 包下的类,类比较多,先看个类图吧,如下:

猜你喜欢

转载自www.cnblogs.com/duanxz/p/11302110.html