使用 Spring Boot Actuator 进行 API 监控

Spring Boot Actuator

Spring Boot 提供了 Actuator 来有效地监控和管理应用程序。它是一个具有 HTTP 端点的工具(资源所在的地方)。它是 Spring Boot 的子项目。它可以在应用程序中添加多个生产级别的服务,减少了工作量。

当服务的性能下降或发生故障时,我们应该尽快了解原因。特别是在构建微服务时,我们需要在 API 周围构建监控。Spring Boot 在提供监控方面具有很好的支持。

为了使用生产级别的功能,我们将在 pom.xml 中添加 spring-boot-actuator 依赖项。

步骤 1: 打开 pom.xml 并添加以下依赖项:

Spring Boot Starter Actuator: 它为您的服务提供了许多监控设施。

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

Spring Data Rest HAL Browser: HAL 使我们的 API 可导出,并且可以从 API 本身内部轻松发现其文档。

<dependency>  
<groupId>org.springframework.data</groupId>  
<artifactId>spring-data-rest-hal-browser</artifactId>  
</dependency>  

Hypertext Application Language(HAL)是一种简单的语言,可以在 API 中为资源之间的超链接提供一种一致且易于使用的方式。Spring Boot Starter Actuator 实际上是以 HAL 格式存在的。HAL 浏览器会搜索 API 并识别链接。它将链接显示在屏幕上,以便我们可以轻松浏览 API。

步骤 2: 重新启动应用程序。

步骤 3: 在浏览器中键入 URL localhost:8080/actuator 并按 Enter 键。如果不起作用,请使用 URL localhost:8080/application

它会启动 Actuator,并显示三个 URL:self、health 和 info。

{"_links":{"self":{"href":"http://localhost:8080/actuator","templated":false},"health":{"href":"http://localhost:8080/actuator/health","templated":false},"health-component":{"href":"http://localhost:8080/actuator/health/{component}","templated":true},"health-component-instance":{"href":"http://localhost:8080/actuator/health/{component}/{instance}","templated":true},"info":{"href":"http://localhost:8080/actuator/info","templated":false}}}  

当我们点击 health 链接时,它会显示应用程序的健康状态。下图中,状态 up 表示应用程序正在运行。

restful-web-services-spring-boot-actuator.png

当我们点击 info 链接时,它会显示应用程序的信息。一对空白大括号表示没有可用的信息。

restful-web-services-spring-boot-actuator2.png

要启用信息,我们需要配置属性。

  • 打开 application.properties 文件并启用 web exposure
management.endpoints.web.exposure.include=*  
  • 重新启动应用程序。
  • 通过 URL localhost:8080/actuator 重新启动 Actuator。

它会显示许多 URL。

HAL 浏览器

要访问 HAL 浏览器,将 localhost:8080 输入浏览器并按 Enter 键。

restful-web-services-spring-boot-actuator3.png

现在我们可以通过 HAL 浏览器访问 Actuator。

在 Explorer 的文本框中键入 /actuator,然后单击 Go 按钮。

restful-web-services-spring-boot-actuator4.png

它显示了与 Actuator 相关的所有内容。Actuator 中最重要的是 beans

restful-web-services-spring-boot-actuator5.png

当我们点击 beans 的箭头时,它会显示在 spring boot 项目中配置的所有 beans。

restful-web-services-spring-boot-actuator6.png

如果我们想要检查应用程序的状态,可以点击 health 链接。

restful-web-services-spring-boot-actuator7.png

它会显示应用程序的健康状态。

restful-web-services-spring-boot-actuator8.png

Actuator 中还有另一个名为 metrics 的链接。它显示了有效指标的列表。

restful-web-services-spring-boot-actuator9.png

假设我们想要知道应用程序使用了多少内存。我们可以访问 /jvm.memory.max

restful-web-services-spring-boot-actuator10.png

在下面的图像中,value 表示应用程序使用的 最大 内存。

restful-web-services-spring-boot-actuator11.png

在 Actuator 中还有两个重要的链接,即 httptracemapping

restful-web-services-spring-boot-actuator12.png

httptrace 显示我们之前执行过的所有请求。我们可以看到先前执行的请求的所有细节,如下所示:

restful-web-services-spring-boot-actuator13.png

mapping 显示了映射到 URL 的所有不同内容。当我们创建 Web 服务或 Web 应用程序时,会映射许多 URL。

restful-web-services-spring-boot-actuator14.png

在本节中,我们学习了如何使用 Actuator 进行监控。

标签: spring, Spring教程, Spring语言学习, Spring框架, Spring框架教程, Spring框架高级教程, spring boot, spring boot入门教程, spring boot学习教程, spring boot下载, spring boot框架入门, spring boot面试题, spring boot笔试题, spring boot技术