引入pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
开启对应端口访问
注:初始状态下,只开放了health和info,如需要访问需要开启其他端点。
#开启所有结点
management.endpoints.web.exposure.include=*
#定监控的HTTP端口(如果不指定,则使用和Server相同的端口)
management.port
#指定开启的结点,多个结点间,号隔开
#management.endpoints.web.exposure.include=info,conditions
#设置端点访问路径前缀,默认是actuator
#访问具体端点方法:http://localhost:8080/{management.endpoints.web.base-path}/{端点名}
#management.endpoints.web.base-path=/actuator
注:部分端点SpringBoot1.0和2.0版本命名方法不一样
描述了 Actuator
spring-boot-starter-actuator 自动配置模块默认提供了很多 endpoint,虽然自动配置模块名为 spring-boot-starter-actuator,但实际上这些 endpoint 可以按照“监”和“控”划分为两类:
1. Sensor 类 endpoints
名称 | 说明 |
---|---|
autoconfig | 这个 endpoint 会为我们提供一份 SpringBoot 的自动配置报告,告诉我们哪些自动配置模块生效了,以及哪些没有生效,原因是什么。 |
beans | 给出当前应用的容器中所有 bean 的信息。 |
configprops | 对现有容器中的 ConfigurationProperties 提供的信息进行“消毒”处理后给出汇总信息。 |
info | 提供当前 SpringBoot 应用的任意信息,我们可以通过 Environment 或者 application.properties 等形式提供以 info. 为前缀的任何配置项,然后 info 这个 endpoint 就会将这些配置项的值作为信息的一部分展示出来。 |
health | 针对当前 SpringBoot 应用的健康检查用的 endpoint。 |
env | 关于当前 SpringBoot 应用对应的 Environment 信息。 |
metrics | 当前 SprinBoot 应用的 metrics 信息。 |
trace | 当前 SpringBoot 应用的 trace 信息。 |
mapping | 如果是基于 SpringMVC 的 Web 应用,mapping 这个 endpoint 将给出 @RequestMapping 相关信息。 |
2. Actuator 类 endpoints
- shutdown:用于关闭当前 SpringBoot 应用的 endpoint。
- dump:用于执行线程的 dump 操作。
默认情况下,除了 shutdown 这个 endpoint(因为比较危险,如果没有安全防护,谁都可以访问它,然后关闭应用),其他 endpoints 都是默认启用的。
生产环境下,如果没有启用安全防护(比如没有依赖 spring-boot-starter-security),那么,建议遵循 Deny By Default 原则,将所有的 endpoints 都关掉,然后根据具体情况单独启用某些 endpoint:
endpoints.enabled=falseendpoints.info.enabled=trueendpoints.health.enabled=true...
所有配置项以 endpoints. 为前缀,然后根据 endpoint 名称划分具体配置项。大部分 endpoints 都是开箱即用,但依然有些 endpoint 提供给我们进一步扩展的权利,比如健康状态检查相关的 endpoint(health endpoint)。
接口请求
HTTP方法 | 路径 | 描述 | 鉴权 |
---|---|---|---|
GET | /autoconfig | 查看自动配置的使用情况 | true |
GET | /configprops | 查看配置属性,包括默认配置 | true |
GET | /beans | 查看bean及其关系列表 | true |
GET | /dump | 查看线程栈信息 | true |
GET | /heapdump | 查看内存快照 | |
GET | /env | 查看所有环境变量 | true |
GET | /env/{name} | 查看具体变量值 | true |
GET | /health | 查看应用健康指标 | false |
GET | /info | 查看应用信息 | false |
GET | /mappings | 查看所有url映射 | true |
GET | /metrics | 查看应用基本指标 | true |
GET | /metrics/{name} | 查看具体指标 | true |
POST | /shutdown | 关闭应用 | true |
GET | /trace | 查看最近请求的信息 | |
GET | /loggers | 查看日志配置 | |
GET | /logfile | 查看日志 |