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

注意

基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告

标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。

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 终结点的应用或工具。

后续步骤