Actuator

Actuator用于监控和度量SpringBoot应用,了解应用程序运行时的内部状况。在以前,这个功能通常是我们开发人员自行实现的,但是如果使用SpringBoot进行开发,引入Actuator的起步依赖即可实现,非常方便。

引入起步依赖:

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

EndPoint 端点

Actuator提供了若干端点,供我们调用以获取我们需要的数据。默认情况下,Actuator提供了web和JMX两种方式访问这些数据,数据以JSON形式呈现。

Actuator提供的端点很多,而且随着版本更新经常变动(SpringBoot2.x和1.x的Actuator就有很多不同),这里建议使用时查询对应版本的文档:https://docs.spring.io/spring-boot/docs/2.7.0/reference/htmlsingle/

我们引入Actuator依赖后,可以使用浏览器访问/actuator路径,查看web能够访问的端点。

默认情况下,仅能通过web访问healthinfo两个端点。

开启或关闭端点

默认情况下,SpringBoot启动了除shutdown以外的所有端点。相关配置可以在application.properties中指定,下面是2个例子。

启动shutdown端点:

management.endpoint.shutdown.enabled=true

默认禁用所有端点:

management.endpoints.enabled-by-default=false

暴露端点

开启端点后,我们需要把它暴露出去,才能正常访问。默认情况下,所有端点(除了不适用于JMX的)通过JMX暴露,只有healthinfo通过web暴露。我们通过includeexclude控制端点是否暴露,include表示暴露端点,exclude表示不暴露端点。

通过JMX暴露health端点:

management.endpoints.jmx.exposure.include=health

通过web暴露除了envbeans的所有端点:

management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap