Spring Boot Actuator的关键特性是在应用程序里提供众多Web端点,通过它们了解应用程序 运行时的内部状况。有了Actuator,你可以知道Bean在Spring应用程序上下文里是如何组装在一起的,掌握应用程序可以获取的环境属性信息,获取运行时度量信息的快照……
Actuator提供13个端点,可以分为三大类:配置端点、度量端点和其他端点。具体如下表所示:
Http方法 | 路径 | 描述 |
---|---|---|
get | /autoconfig | 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过 |
get | /configprops | 描述配置属性(包含默认值)如何注入Bean |
get | /beans | 描述应用程序上下文里全部的Bean,以及它们的关系 |
get | /dump | 获取线程活动的快照 |
get | /env | 获取全部环境属性 |
get | /env/{name} | 根据名称获取特定的环境属性值 |
get | /health | 报告应用程序的健康指标,这些值由 HealthIndicator 的实现类提供 |
get | /info | 获取应用程序的定制信息,这些信息由 info 打头的属性提供 |
get | /mappings | 描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系 |
get | /metrics | 报告各种应用程序度量信息,比如内存用量和HTTP请求计数 |
get | /metrics/{name} | 报告指定名称的应用程序度量值 |
post | /shutdown | 关闭应用程序,要求 endpoints.shutdown.enabled 设置为 true |
get | /trace | 提供基本的HTTP请求跟踪信息(时间戳、HTTP头等) |
要启用Actuator的端点,只需在项目中引入Actuator的起步依赖即可。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
亦或你使用Spring Boot CLI,可以使用如下 @Grab 注解:
@Grab('spring-boot-starter-actuator')
注:springboot2.0.1版本中除了health和info其他端点默认都被禁用了,想要打开,需要在配置文件加上:
management.endpoints.web.exposure.include=*