《Spring Cloud微服务架构进阶》——3.3.8 Actuator
3.3.8 Actuator
Spring Boot提供了一系列额外的特性来帮助开发者监控和管理生产环境中的Spring Boot应用。通过引入spring-boot-actuator模块,审计、健康检查和度量收集等监控功能都将会自动配置到Spring Boot应用中,最简单的方式是直接引入相关模块的Starter,如下所示:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Actuator的端点能够使开发者监控应用和与应用进行交互,Spring Boot中包含了一系列内置的端点,同时也允许自定义端点。每一个端点都能够独立决定开启还是关闭。为了可以进行远程调用,这些端点需要暴露到HTTP中或者JMX中。当采用HTTP的方式时,这些端点通常会配置在/actuator的前缀之后,例如health端点的地址为/actuator/health(这是Spring Boot 2.0之后的改动,之前的版本中端点地址不包含/actuator前缀)。表3-1列出了Actuator提供的相关端点。
表3-1 Actuator提供的端点
开启端点可以通过management.endpoint.<id>.enabled的方式进行配置,通过id对特定的端点进行操作,如下所示:
management:
endpoint:
shutdown:
enabled: true
通过上面的配置,开启了shutdown端点。可以通过mangement.endpoints.enabled-by-default=true统一开启和关闭端点。
即使端点已经开启,大多数端点是通过JMX的方式暴露出去的,通过HTTP暴露出来的端点默认仅有/health和/info,可以通过management.endpoints.<method>.exposure.exclude和management.endpoints.<method>.exposure.include的配置,来指定JMX和HTTP需要暴露的端点,如下所示:
management:
endpoints:
jmx:
exposure:
exclude:
include: *
web:
exposure:
exclude:
include: info, health, beans
上面的配置中,JMX暴露所有的端点(*表示通配符,用来选择所有的端点),HTTP仅暴露/info、/health、/beans三个端点。
- 点赞
- 收藏
- 关注作者
评论(0)