微服务架构之Spring Boot(七十一)

2022-05-23 15:43:43 浏览数 (1)

第五部分。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

0 人点赞