Spring Boot Actuator2025年3月18日 | 阅读 5 分钟 Spring Boot ActuatorSpring Boot Actuator 是 Spring Boot Framework 的一个子项目。它包含了一些额外的功能,帮助我们监控和管理 Spring Boot 应用程序。它包含了 Actuator 端点(资源所在的位置)。我们可以使用 HTTP 和 JMX 端点来管理和监控 Spring Boot 应用程序。如果想在应用程序中获得生产级别的功能,就应该使用 Spring Boot Actuator。 Spring Boot Actuator 功能Spring Boot Actuator 有三个主要功能
端点 (Endpoint): Actuator 端点允许我们监控和与应用程序交互。Spring Boot 提供了许多内置端点。我们也可以创建自己的端点。我们可以单独启用和禁用每个端点。大多数应用程序选择 HTTP,其中端点的 ID 加上 /actuator 的前缀映射到一个 URL。 例如,/health 端点提供应用程序的基本健康信息。Actuator 默认将其映射到 /actuator/health。 指标 (Metrics): Spring Boot Actuator 通过与 micrometer 集成提供维度指标。Micrometer 集成在 Spring Boot 中。它是为 Spring 提供应用程序指标的仪表库。它为带有维度数据模型的计时器、仪表、计数器、分布汇总和长任务计时器提供厂商中立的接口。 审计 (Audit): Spring Boot 提供了一个灵活的审计框架,将事件发布到 AuditEventRepository。如果 spring-security 正在执行,它会自动发布身份验证事件。 启用 Spring Boot Actuator我们可以通过在 pom.xml 文件中注入 spring-boot-starter-actuator 依赖项来启用 Actuator。 Spring Boot Actuator 端点Actuator 端点允许我们监控和与 Spring Boot 应用程序交互。Spring Boot 包含许多内置端点,我们也可以在 Spring Boot 应用程序中添加自定义端点。 下表描述了常用的端点。
对于 Spring MVC,还使用以下附加端点。
Spring Boot Actuator 属性Spring Boot 为所有 Actuator 端点启用安全性。它使用基于表单的身份验证,提供用户 ID 为 user,以及一个随机生成的密码。我们还可以通过为端点自定义 basicauth 安全来访问受限制的 Actuator 端点。我们需要通过 management.security.roles 属性覆盖此配置。例如 Spring Boot Actuator 示例让我们通过一个例子来理解 Actuator 的概念。 步骤 1: 打开 Spring Initializr https://start.spring.io/ 并创建一个 Maven 项目。 步骤 2:提供Group 名称。我们提供了 com.javatpoint。 步骤 3: 提供Artifact ID。我们提供了 spring-boot-actuator-example。 步骤 4: 添加以下依赖项:Spring Web、Spring Boot Starter Actuator 和 Spring Data Rest HAL Browser。 步骤 5: 点击 Generate 按钮。当我们点击 Generate 按钮时,它会将与项目相关的所有规范打包到一个 Jar 文件中并下载到我们的本地系统。 ![]() 步骤 6: 解压 Jar 文件并将其粘贴到 STS 工作区。 步骤 7: 导入项目文件夹。 File -> Import -> Existing Maven Projects -> Browse -> Select the folder spring-boot-actuator-example -> Finish 导入需要一些时间。导入项目后,我们可以在包浏览器部分看到项目目录。 ![]() 步骤 8: 创建一个 Controller 类。我们已创建名为 DemoRestController 的控制器类。 DemoRestController.java 步骤 9: 打开 application.properties 文件,并通过添加以下语句禁用 Actuator 的安全功能。 application.properties 步骤 10: 运行 SpringBootActuatorExampleApplication.java 文件。 步骤 11: 打开浏览器并调用 URL https://:8080/actuator。它将返回以下页面 应用程序默认运行在 8080 端口。一旦 Actuator 启动,我们就可以看到通过 HTTP 公开的所有端点的列表。 让我们通过调用 URL https://:8080/actuator/health 来调用 health 端点。它显示状态 UP。这意味着应用程序健康且运行没有中断。 ![]() 同样,我们可以调用其他有助于我们监控和管理 Spring Boot 应用程序的端点。 |
我们请求您订阅我们的新闻通讯以获取最新更新。