第五部分。Spring Boot Actuator:生产就绪功能
Spring Boot包含许多其他功能,可帮助您在将应用程序推送到生产环境时监控和管理应用程序。您可以选择使用HTTP端点或JMX来管理和监视
应用程序。审核,运行状况和指标收集也可以自动应用于您的应用程序。
52.启用生产就绪功能
该 spring-boot-actuator 模块提供了所有Spring Boot的生产就绪功能。启用这些功能的最简单方法是
为 spring-boot-starter-actuator 'Starter'添加依赖项。
执行器的定义
致动器是制造术语,指的是用于移动或控制某物的机械装置。执行器可以通过微小的变化产生大量的运动。
要将执行器添加到基于Maven的项目,请添加以下“Starter”依赖项:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
对于Gradle,请使用以下声明:
dependencies {
compile("org.springframework.boot:spring-boot-starter-actuator")
}
53.终点
通过执行器端点,您可以监控应用程序并与之交互。Spring Boot包含许多内置端点,允许您添加自己的端点。例如, health 端点提供基本的
应用程序运行状况信息。
可以启用或禁用每个单独的端点。它控制是否在应用程序上下文中创建端点并且其bean存在。要远程访问,还必须通过JMX或HTTP公开端点 。
大多数应用程序选择HTTP,其中端点的ID以及 /actuator 的前缀映射到URL。例如,默认情况下, health 端点映射到 /actuator/health 。
可以使用以下与技术无关的端点:
ID 描述 默认情况下
启用
auditevents 公开当前应用程序的审核事件信息。Yes
beans 显示应用程序中所有Spring beans的完整列表。Yes
caches 暴露可用的缓存。Yes
conditions 显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因。Yes
configprops 显示所有 @ConfigurationProperties 的整理列表。Yes
env 公开Spring ConfigurableEnvironment 的财产。Yes
flyway 显示已应用的任何Flyway数据库迁移。Yes
53.1启用端点
默认情况下,启用除 shutdown 之外的所有端点。要配置端点的启用,请使用其 management.endpoint.<id>.enabled 属性。以下示例启
用 shutdown 端点:
management.endpoint.shutdown.enabled=true
如果您希望端点启用是选择加入而不是选择退出,请将 management.endpoints.enabled-by-default 属性设置为 false 并使用单个端
点 enabled 属性重新加入。以下示例启用 info endpoint并禁用所有其他端点:
management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true
已完全从应用程序上下文中删除已禁用的端点。如果您只想更改端点所暴露的技术,请改用 include 和 exclude 属性
53.2公开端点
由于端点可能包含敏感信息,因此应仔细考虑何时公开它们。下表显示了内置端点的默认曝光:
ID JMX 卷筒纸
auditevents Yes No
beans Yes No
caches Yes No
conditions Yes No
configprops Yes No
env Yes No
flyway Yes No
health Yes Yes
heapdump N/A No
httptrace Yes No
info Yes Yes
integrationgraph Yes No
jolokia N/A No
logfile N/A No
loggers Yes No
liquibase Yes No
metrics Yes No
mappings Yes No
prometheus N/A No
scheduledtasks Yes No
sessions Yes No
shutdown Yes No
threaddump Yes No