关键词:Actuator JMX
Spring Boot Actuator帮助监控和管理正在线上运行的项目。用户可以通过调用提供的HTTP接口或JMX查看项目的一些属性信息,比如健康状况、项目的配置、项目中的Bean等。
Spring Boot官网介绍:《Spring Boot Actuator》
█ 使用
(1)引入依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
(2)配置application.yml
server:
port: 8080
(3)启动Spring Boot项目
(4)通过HTTP访问接口获取项目信息,请求接口:http:localhost:8080/actuator/
通过访问/autuator接口,可以查看当前暴露出来的endpoint信息。其中的href中的值可以访问对应的endpoint信息,比如:http://localhost:8080/actuator/health获取当前Spring Boot项目环境中的配置信息:
(4)通过Jconsole查看JMX获取项目信息:
█ Endpoints
Spring Boot通过Endpoint提供监控和管理的功能。Spring Boot默认提供了24种EndPoint。
(功能可用和暴露是两个概念,一个EndPoint需要同时满足可用和HTTP暴露或JMX暴露,才能通过HTTP或JMX的方式访问)
EndPoint通过id作为唯一标识,不能重复使用。
id |
对应的类 |
功能描述 |
默认可用 |
JMX默认暴露 |
HTTP默认暴露 |
health |
HealthEndpoint |
展示项目的健康信息 |
✔ |
✔ |
✔ |
info |
InfoEndpoint |
展示任意应用程序信息 |
✔ |
✔ |
✔ |
env |
EnvironmentEndpoint |
暴露ConfigurableEnvironment中的属性 |
✔ |
✔ |
✘ |
beans |
BeansEndpoint |
展示应用中所有的Spring Bean |
✔ |
✔ |
✘ |
mappings |
MappingsEndpoint |
展示所有@RequestMapping中的路径 |
✔ |
✔ |
✘ |
caches |
CachesEndpoint |
展示可用的缓存 |
✔ |
✔ |
✘ |
conditions |
ConditionsReportEndpoint |
展示在配置和自动配置类上评估的条件,以及它们匹配或不匹配的原因。 |
✔ |
✔ |
✘ |
configprops |
ConfigurationPropertiesReportEndpoint |
展示所有@ConfigurationProperties标注的配置信息 |
✔ |
✔ |
✘ |
loggers |
LoggersEndpoint |
展示和修改应用中的loggers |
✔ |
✔ |
✘ |
metrics |
MetricsEndpoint |
展示当前应用的指标信息 |
✔ |
✔ |
✘ |
sc |