美文网首页
Spring Boot执行器:完整指南

Spring Boot执行器:完整指南

作者: 优锐课小U | 来源:发表于2019-12-13 14:28 被阅读0次

    今天优锐课小U要带大家了解的是Sring Boot执行器。


    如果要增强对端点的控制,包括调整灵敏度和安全性,则应熟悉Spring Boot Actuator及其工具。

    Spring Boot Actuator是Spring Boot的子项目。它为你的应用程序提供了现成的几种生产级服务。在Spring

    Boot应用程序中配置了Actuator之后,你可以通过调用Spring Boot Actuator公开的不同HTTP端点(例如应用程序运行状况Bean详细信息版本详细信息配置记录器详细信息等)来交互和监视应用程序。

    Spring Boot包含许多内置端点,你还可以添加自己的端点,甚至将现有端点配置为在你选择的任何自定义端点上公开。显然,考虑到存在许多敏感的端点(例如bean,env等),因此无法公开公开所有端点。因此,对于许多需要通过用户名/密码访问的端点,Spring Boot还将敏感默认值设置为true。HTTP(如果未启用网络安全性,则直接禁用)。默认情况下,运行状况和信息不敏感。


    如何启用Spring Boot Actuator

    这很容易。你只需要在现有的pom.xml文件中包括以下maven依赖项:

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-actuator</artifactId>

    </dependency>


    不同的执行器端点

    一旦以上Maven依赖关系包含在POM文件中,就会公开16个不同的执行器REST端点,例如执行器,Bean,转储,信息,记录器和度量。

    如果在此之上使用Spring MVC,则可以使用四个附加端点——docs, heapdump, jolokia, 和logfile。

    自定义执行器端点

    Spring Boot允许通过使用Spring属性来自定义端点。只需在application.properties中提及要自定义的属性。你可以通过三种方式自定义端点。你可以启用或禁用端点,自定义其敏感度以及其ID。

    以下是一个示例,它可以更改指标端点的敏感度和ID,还可以启用关机功能。

    endpoints.metrics.id=springmetrics

    endpoints.metrics.sensitive=false

    endpoints.metrics.enabled=true

    除此之外,你还可以全局自定义端点。以下示例将除info之外的所有端点标记为敏感。

    endpoints.sensitive=true

    endpoints.info.sensitive=false

    固定执行器端点

    如我们所见,默认情况下,只有两个端点(运行状况和信息)不敏感。但是其他端点(例如记录器和Bean)很敏感,因此需要授权才能访问。 要访问这些敏感端点,你可以禁用敏感度或使用Spring Security对其进行保护。

    为了保护执行器端点,请在pom.xml文件中包括以下maven依赖项。

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-security</artifactId>

    </dependency>

    在Spring Boot中,默认情况下,包括上述依赖项将提供内置的基于表单的身份验证,用户ID为用户,并随机生成一个密码。然后,需要以下条目来为你的敏感端点启用基本安全性。

    management.security.enabled=true

    security.basic.enabled=true

    security.user.name=admin

    security.user.password=admin

    要访问执行器受限的端点,你必须具有执行者角色。这是默认配置。

    除此之外,你还可以通过扩展Spring提供的AuthenticationManagerBuilder类,使用WebSecurityConfigurerAdapter 保护执行器REST端点。这是使用AuthenticationManagerBuilder的完整实现。

    创建自定义执行器端点

    关于Spring的最好的事情是,它总是鼓励开发人员提出自己的配置和实现——执行器端点也是如此。

    要自定义端点并定义自己的端点,只需实现接口 Endpoint并覆盖其方法即可。 就是这样,你已经完成了公开自己的端点的工作。

    以下是定义Spring

    Actuator中的自定义端点的简单代码段。 可以在/showendpoints访问它。

    importorg.springframework.boot.actuate.endpoint.AbstractEndpoint;

    importorg.springframework.boot.actuate.endpoint.Endpoint;

    importorg.springframework.stereotype.Component;

    importjava.util.List;

    @Component

    public class ListEndPoints extendsAbstractEndpoint<List<Endpoint>>{

        privateList<Endpoint>endpoints;

        publicListEndPoints(List<Endpoint>endpoints) {

            super("showendpoints");

            this.endpoints=endpoints;

        }

        @Override

        publicList<Endpoint>invoke() {

            return this.endpoints;

        }

    }


    今天的讲解就到这啦,觉得意犹未尽的小伙伴可以加入我们Java学习资料交流qq群:907135806 进行深入探讨;想要更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java学习资料和视频课程的童鞋可以加vx:ddmsiqi 获取哦。

    你的Java学习之路  优锐课保驾护航

    相关文章

      网友评论

          本文标题:Spring Boot执行器:完整指南

          本文链接:https://www.haomeiwen.com/subject/uayfnctx.html