`

整合Spring boot Actuator

 
阅读更多

    执行器端点允许你监控应用及与应用进行交互。Spring Boot包含很多内置的端点,你也可以添加自己的。例如,health端点提供了应用的基本健康信息。

端点暴露的方式取决于你采用的技术类型。大部分应用选择HTTP监控,端点的ID映射到一个URL。例如,默认情况下,health端点将被映射到/health。

下面的端点都是可用的:

ID 描述 敏感(Sensitive)
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=true
 2、Exposing Endpoints

 

   端点可能包含了一些敏感信息,在生产环境中谨慎暴露这些端点。

  如下样例只暴露health和info端点:

 

management.endpoints.jmx.exposure.include=health,info
    

 

   以下样例暴露了所有端点,但禁用env和beans两个端点:

management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans
 3、端点安全性

 

    典型的一个安全设置如下:

@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"));
}
}

 

分享到:
评论

相关推荐

    Springboot Actuator整合Spring boot admin源码整理

    整合Spring Boot Actuator 和 Spring Boot Admin 的步骤如下: 1. 添加依赖:在`pom.xml`或`build.gradle`文件中,我们需要为Spring Boot Actuator和Spring Boot Admin Server添加对应的依赖。 2. 配置Actuator:...

    Spring Boot整合Spring Batch,实现批处理

    整合Spring Boot和Spring Batch,我们可以遵循以下步骤: 1. **添加依赖**:在`build.gradle`或`pom.xml`文件中,添加Spring Boot的起步依赖和Spring Batch的相关依赖。 2. **配置数据库**:Spring Batch需要一个...

    Spring boot 示例 官方 Demo

    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整合SpringDataJPA

    本教程将深入探讨如何在Spring Boot项目中整合Spring Data JPA,实现高效且简洁的数据持久化。 首先,Spring Boot整合Spring Data JPA的基础是引入相关的依赖。在`pom.xml`或`build.gradle`文件中,我们需要添加...

    Spring Boot Tutorial 《Spring Boot 教程》

    7. **Actuator**:Spring Boot Actuator提供了健康检查、监控、指标收集等功能,帮助开发者了解应用的运行状态。 8. **测试支持**:Spring Boot提供了丰富的测试工具和注解,如`@SpringBootTest`,便于编写单元测试...

    spring boot整合vue

    标题 "spring boot 整合 vue" 指的是在Java后端使用Spring Boot框架与前端Vue.js进行集成,创建一个完整的Web应用。Spring Boot简化了Java应用的搭建和配置过程,而Vue.js则是一个轻量级且功能强大的前端MVVM(Model...

    springboot 2.1.0 RELEASE api.zip

    至于Prometheus的整合,这使得Spring Boot应用可以无缝集成到Prometheus监控系统中。Prometheus是一款流行的时序数据库和监控解决方案,能够收集和分析各种指标。通过Actuator提供的Prometheus端点,你可以轻松将...

    Spring Boot 学习笔记完整教程.pdf

    - 数据库操作:Spring Boot提供了多种数据库操作方式,如使用JPA连接数据库,配置JPA,整合JPA保存数据,使用JdbcTemplate保存数据等。 - 配置应用:Spring Boot允许用户进行静态资源处理、任务调度、自定义配置文件...

    Spring+Boot实战

    同时,Spring Boot对Actuator模块的介绍,将让读者了解到如何监控和管理运行中的应用,包括健康检查、指标收集、日志管理和端点安全控制。 微服务架构方面,Spring Boot提供了构建分布式系统的能力,如服务发现、...

    spring boot2.x 书籍

    Thymeleaf是一种服务器端的模板引擎,可以方便地与Spring Boot整合,用于生成动态HTML页面。Spring MVC是Spring框架的一部分,负责处理HTTP请求,书中会详细解释其工作原理和配置方法。 此外,数据库集成是任何应用...

    spring-boot实战PDF 完整版和随书源码.7z

    《Spring Boot实战》是一本深度剖析Spring Boot框架的实践指南,旨在帮助开发者快速掌握Spring Boot的核心概念和技术。这本书深入浅出地介绍了如何使用Spring Boot构建高效、简洁的Java应用程序。随书源码提供了丰富...

    Spring Boot 2精髓带书签目录高清版.pdf

    5. **Spring Boot Actuator**: - 提供了丰富的监控和健康检查端点,帮助开发者了解应用运行状况。 - 可以集成Spring Boot Admin实现更全面的应用监控。 6. **安全**: - 使用Spring Security进行身份验证和授权...

    spring-boot示例项目

    本项目示例基于spring boot 最新版本(2.1.9)实现,Spring Boot、Spring Cloud 学习示例,将持续更新…… 在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目...

    Spring Boot + Vue3 完整开发全栈项目附资料.zip

    三、Spring Boot与Vue3整合 1. 构建RESTful API:Spring Boot通过Controller层提供RESTful服务,Vue3作为客户端,通过HTTP请求调用这些API。 2. JWT认证授权:使用Spring Security和JWT(JSON Web Token)实现用户...

    Spring Boot 2.0深度实践之核心技术篇

    9. **Spring Cloud整合**:虽然不是Spring Boot自带的功能,但Spring Boot与Spring Cloud结合,可以轻松构建分布式系统,如服务发现(Eureka)、配置中心(Config Server)、负载均衡(Ribbon)等。 10. **测试支持...

    2018.02.Spring Boot 2.0 Cookbook 2nd

    此外,Spring Boot 2.0还引入了Spring WebFlux的Actuator模块,提供了一套全面的健康检查、监控和管理工具,让开发者可以轻松地了解应用的运行状态。本书将详细解释如何利用Actuator进行性能调优和问题排查。 安全...

    Spring cloud与Spring boot 集成完整案例

    Spring Cloud和Spring Boot是两个非常重要的Java开发框架,它们在微服务架构中...通过学习这个案例,开发者能够了解Spring Boot和Spring Cloud的整合过程,掌握微服务架构的基本实践,提升开发效率,并增强系统健壮性。

    spring boot案列

    Spring Boot 是一个由 Pivotal Team 开发的...通过学习这个案例,开发者可以深入了解Spring Boot的特性和使用方式,同时掌握如何将EasyUI整合到Spring Boot应用中,创建出具备完整前端展示和后端业务逻辑的微服务系统。

    spring boot 使用国产化 tongweb资源

    5. **TongWeb与Spring Boot整合**: - 可能需要在Spring Boot的配置文件中指定服务器端口,避免与TongWeb默认端口冲突。 - 如果应用需要使用TongWeb提供的服务,如JMS、JCA,需要在Spring Boot配置中进行适配和...

Global site tag (gtag.js) - Google Analytics