执行器端点允许你监控应用及与应用进行交互。Spring Boot包含很多内置的端点,你也可以添加自己的。例如,health端点提供了应用的基本健康信息。
端点暴露的方式取决于你采用的技术类型。大部分应用选择HTTP监控,端点的ID映射到一个URL。例如,默认情况下,health端点将被映射到/health。
下面的端点都是可用的:
autoconfig | 显示一个auto-configuration的报告,该报告展示所有auto-configuration候选者及它们被应用或未被应用的原因 | true |
beans | 显示一个应用中所有Spring Beans的完整列表 | true |
configprops | 显示一个所有@ConfigurationProperties的整理列表 | true |
dump | 执行一个线程转储 | true |
env | 暴露来自Spring ConfigurableEnvironment的属性 | true |
health | 展示应用的健康信息(当使用一个未认证连接访问时显示一个简单的'status',使用认证连接访问则显示全部信息详情) | false |
info | 显示任意的应用信息 | false |
metrics | 展示当前应用的'指标'信息 | true |
mappings | 显示一个所有@RequestMapping路径的整理列表 | true |
shutdown | 允许应用以优雅的方式关闭(默认情况下不启用) | true |
trace | 显示trace信息(默认为最新的一些HTTP请求) | true |
注:根据一个端点暴露的方式,sensitive参数可能会被用做一个安全提示。例如,在使用HTTP访问sensitive端点时需要提供用户名/密码(如果没有启用web安全,可能会简化为禁止访问该端点)。
1、Enabling EndPoints
默认情况下,除了shutdown,其它所有端点都是开放开的。以下样例可放开shutdown端点:
management.endpoint.shutdown.enabled=true禁用默认端点,只要把management.endpoints.enabled-by-default的值设置为false则可,以下样例
启动info端点而禁用其它端点:
management.endpoints.enabled-by-default=false management.endpoint.info.enabled=true2、Exposing Endpoints
端点可能包含了一些敏感信息,在生产环境中谨慎暴露这些端点。
如下样例只暴露health和info端点:
management.endpoints.jmx.exposure.include=health,info
以下样例暴露了所有端点,但禁用env和beans两个端点:
management.endpoints.web.exposure.include=* management.endpoints.web.exposure.exclude=env,beans3、端点安全性
典型的一个安全设置如下:
@Configuration public class ActuatorSecurity extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.requestMatcher(EndpointRequest.toAnyEndpoint()).authorizeRequests() .anyRequest().hasRole("ENDPOINT_ADMIN") .and() .httpBasic(); } }如果希望放开所有端点的访问,则在application.properties文件中增加如下配置 :
management.endpoints.web.exposure.include=*如果已增加安全访问限制,而希望不需要授权访问,则需要做如下配置 :
@Configuration public class ActuatorSecurity extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.requestMatcher(EndpointRequest.toAnyEndpoint()).authorizeRequests() .anyRequest().permitAll() } }4、Health信息
以下健康信息自动加载:
Name | Description |
DiskSpaceHealthIndicator | |
DataSourceHealthIndicator | |
ElasticsearchHealthIndicator | |
InfluxDbHealthIndicator | |
JmsHealthIndicator | |
MailHealthIndicator | |
MongoHealthIndicator | |
RabbitHealthIndicator | |
RedisHealthIndicator |
5、自定义HealthIndicators
@Component public class MyHealthIndicator implements HealthIndicator { @Override public Health health() { int errorCode = check(); // perform some specific health check if (errorCode != 0) { return Health.down().withDetail("Error Code", errorCode).build(); } return Health.up().build(); } }
6、自定义Info
@Component public class ExampleInfoContributor implements InfoContributor { @Override public void contribute(Info.Builder builder) { builder.withDetail("example", Collections.singletonMap("key", "value")); } }
相关推荐
整合Spring Boot Actuator 和 Spring Boot Admin 的步骤如下: 1. 添加依赖:在`pom.xml`或`build.gradle`文件中,我们需要为Spring Boot Actuator和Spring Boot Admin Server添加对应的依赖。 2. 配置Actuator:...
整合Spring Boot和Spring Batch,我们可以遵循以下步骤: 1. **添加依赖**:在`build.gradle`或`pom.xml`文件中,添加Spring Boot的起步依赖和Spring Batch的相关依赖。 2. **配置数据库**:Spring Batch需要一个...
spring-boot-helloWorld:spring-boot的helloWorld版本 spring-boot-mybaits-annotation:注解版本 ...spring-boot-actuator:Spring Boot Actuator 使用示例 spring-boot-admin-simple:Spring Boot Admin 的使用示例
本教程将深入探讨如何在Spring Boot项目中整合Spring Data JPA,实现高效且简洁的数据持久化。 首先,Spring Boot整合Spring Data JPA的基础是引入相关的依赖。在`pom.xml`或`build.gradle`文件中,我们需要添加...
7. **Actuator**:Spring Boot Actuator提供了健康检查、监控、指标收集等功能,帮助开发者了解应用的运行状态。 8. **测试支持**:Spring Boot提供了丰富的测试工具和注解,如`@SpringBootTest`,便于编写单元测试...
标题 "spring boot 整合 vue" 指的是在Java后端使用Spring Boot框架与前端Vue.js进行集成,创建一个完整的Web应用。Spring Boot简化了Java应用的搭建和配置过程,而Vue.js则是一个轻量级且功能强大的前端MVVM(Model...
至于Prometheus的整合,这使得Spring Boot应用可以无缝集成到Prometheus监控系统中。Prometheus是一款流行的时序数据库和监控解决方案,能够收集和分析各种指标。通过Actuator提供的Prometheus端点,你可以轻松将...
- 数据库操作:Spring Boot提供了多种数据库操作方式,如使用JPA连接数据库,配置JPA,整合JPA保存数据,使用JdbcTemplate保存数据等。 - 配置应用:Spring Boot允许用户进行静态资源处理、任务调度、自定义配置文件...
同时,Spring Boot对Actuator模块的介绍,将让读者了解到如何监控和管理运行中的应用,包括健康检查、指标收集、日志管理和端点安全控制。 微服务架构方面,Spring Boot提供了构建分布式系统的能力,如服务发现、...
Thymeleaf是一种服务器端的模板引擎,可以方便地与Spring Boot整合,用于生成动态HTML页面。Spring MVC是Spring框架的一部分,负责处理HTTP请求,书中会详细解释其工作原理和配置方法。 此外,数据库集成是任何应用...
《Spring Boot实战》是一本深度剖析Spring Boot框架的实践指南,旨在帮助开发者快速掌握Spring Boot的核心概念和技术。这本书深入浅出地介绍了如何使用Spring Boot构建高效、简洁的Java应用程序。随书源码提供了丰富...
5. **Spring Boot Actuator**: - 提供了丰富的监控和健康检查端点,帮助开发者了解应用运行状况。 - 可以集成Spring Boot Admin实现更全面的应用监控。 6. **安全**: - 使用Spring Security进行身份验证和授权...
本项目示例基于spring boot 最新版本(2.1.9)实现,Spring Boot、Spring Cloud 学习示例,将持续更新…… 在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目...
三、Spring Boot与Vue3整合 1. 构建RESTful API:Spring Boot通过Controller层提供RESTful服务,Vue3作为客户端,通过HTTP请求调用这些API。 2. JWT认证授权:使用Spring Security和JWT(JSON Web Token)实现用户...
9. **Spring Cloud整合**:虽然不是Spring Boot自带的功能,但Spring Boot与Spring Cloud结合,可以轻松构建分布式系统,如服务发现(Eureka)、配置中心(Config Server)、负载均衡(Ribbon)等。 10. **测试支持...
此外,Spring Boot 2.0还引入了Spring WebFlux的Actuator模块,提供了一套全面的健康检查、监控和管理工具,让开发者可以轻松地了解应用的运行状态。本书将详细解释如何利用Actuator进行性能调优和问题排查。 安全...
Spring Cloud和Spring Boot是两个非常重要的Java开发框架,它们在微服务架构中...通过学习这个案例,开发者能够了解Spring Boot和Spring Cloud的整合过程,掌握微服务架构的基本实践,提升开发效率,并增强系统健壮性。
Spring Boot 是一个由 Pivotal Team 开发的...通过学习这个案例,开发者可以深入了解Spring Boot的特性和使用方式,同时掌握如何将EasyUI整合到Spring Boot应用中,创建出具备完整前端展示和后端业务逻辑的微服务系统。
5. **TongWeb与Spring Boot整合**: - 可能需要在Spring Boot的配置文件中指定服务器端口,避免与TongWeb默认端口冲突。 - 如果应用需要使用TongWeb提供的服务,如JMS、JCA,需要在Spring Boot配置中进行适配和...