和小鸟一起,春天也来了 – 第五幕(执行器)

简介/说明

和小鳥一起,我也接触了Spring Boot直到REST API设计。从应用程序运行的角度来看,非常简单,但需要一些步骤来使其正常工作。另一方面,从监控应用程序的角度来看,我们还没有做任何处理。
由于Spring Boot具有实现监控工具的简单功能,我决定尝试使用它的一个叫做Actuator的工具。

顺便提一下,我们正在使用的Spring Boot版本是2.x系列。
1.x系列和2.x系列有很多改进和差别。因此,我也想看看本次尝试使用的Actuator在1.x系列和2.x系列中的差异。

前提是指存在某种事物或情况所需要的先决条件,而环境指的是事物存在或发展所处的周围条件或背景。

运行时版本 shí

    • Kotlin : 1.3.0

 

    SpringBoot : 2.1.0.RELEASE

春天的依赖关系

    • Web

 

    Actuator

开发环境

    • OS : Mac

 

    • IDE : IntelliJ IDEA

 

    Build : Gradle

步骤/说明

使用 Spring Actuator

要使用Spring Actuator,需要在build.gradle中定义以下的依赖。

implementation('org.springframework.boot:spring-boot-starter-actuator')

只需通过这个,您就可以使用它了。
然后,通过访问下一个文档中列出的终端节点,您就可以通过HTTP获取各种信息。

健康

$ curl 'http://localhost:8080/actuator/health' -i -X GET

HTTP/1.1 200
Content-Type: application/vnd.spring-boot.actuator.v2+json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sun, 11 Nov 2018 13:08:00 GMT

{"status":"UP"}

Spring 1.x 和 2.x 的区别是什么?

虽然有很多不同之处,但让我们来看一下从1.x迁移到2.x时经常遇到的一些典型问题。

访问基础路径

1. 在x版本中,我们直接通过访问端点来显示信息:http://localhost:8080/health。
2. 在x版本中,我们需要在访问端点之前指定基础路径:http://localhost:8080/<基础路径>/health。

默认情况下,基础路径是 /actuator。

要进行更改,需在配置文件(application.yml)中进行定义。
通过定义如下,可以更改基本路径。在以下示例中,基本路径设置为/admin。

management:
  endpoints:
    web:
      base-path: /admin

公开终端点

1. 在X版本中,端点事先已经被公开。
2. 在X版本中,只有/health和/info两个端点被公开。

即使在2.x版本中,要预先公开所有内容,可以按照以下方式在设置文件(application.yml)中进行定义。

management:
  endpoints:
    web:
      exposure:
        include: "*"

在示例中,使用星号(*)来指定公开对象,但如果需要逐个指定,只需在描述端点时公开。

        include: beans, env

总结 / 回顾

执行器是一个非常方便的工具,只需要添加依赖就可以使用。
因此,在很多情况下都会有机会使用它,但由于在1.x系列和2.x系列中访问方式和对象不同,所以在进行2.x系列的迁移时,需要注意避免出现404错误。

这个资源。

    spring-just-rest-kotlin/tree/first-actuator
广告
将在 10 秒后关闭
bannerAds