使用 Spring Boot Actuator 管理和监视应用

注意

Azure Spring Apps 是 Azure Spring Cloud 服务的新名称。 虽然该服务有新名称,但一些地方仍会使用旧名称,我们仍在更新屏幕截图、视频和图形等资产。

Spring Boot 执行器为应用提供生产就绪功能。 可以使用此工具轻松监视应用、收集指标并了解状态或数据库活动。 无需从头构建即可访问专业级工具。

执行器公开有关正在运行的应用程序的重要操作数据,例如运行状况、指标、信息等。 执行器使用 HTTP 终结点或 Java 管理扩展 (JMX),因而易于交互。 集成后,执行器提供多个默认终结点,与其他 Spring 模块一样,它易于配置和扩展。

Azure Spring Apps 使用执行器通过 JMX 来扩充指标。

显示使用 Spring Boot 执行器的数据流的关系图。

配置 Spring Boot 执行器

以下各节介绍如何配置执行器。

添加执行器依赖项

若要将执行器添加到基于 Maven 的项目,请添加以下依赖项:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

此配置适用于所有 Spring Boot 版本,因为 Spring Boot 材料清单 (BOM) 中涵盖版本。

配置执行器终结点

默认情况下,Spring Boot 应用程序仅公开 health 终结点。 若要观察配置以及可配置的环境,请使用以下步骤另外启用 envconfigprops 终结点:

  1. 转到应用“概述”窗格,选择“设置”菜单中的“配置”,然后转到“环境变量”配置页

  2. 采用类似于“key:value”的形式添加以下属性。 此环境将打开以下 Spring Actuator 终结点:healthenvconfigprops

    management.endpoints.web.exposure.include: health,env,configprops
    
  3. 选择“保存”。 应用程序将自动重启并加载新环境变量。

现在可以返回到应用“概述”窗格,并等待“预配状态”更改为“成功”

若要查看所有终结点的内置和相关配置,请参阅 Spring Boot 生产就绪功能公开终结点部分。

保护执行器终结点

在将应用公开后,这些执行器终结点也会公开。 建议通过设置 management.endpoints.web.exposure.exclude=* 来隐藏所有终结点,因为 exclude 属性优先于 include 属性。 请注意,此操作会阻止企业计划中的应用程序实时视图和其他依赖于执行器 HTTP 终结点的应用或工具。

后续步骤