【spring-boot③】actuator原生监控

1. 创建springBoot项目(不解释啦)

2. SpringBoot使用actuator只需要在pom下添加依赖 如下 即可

<dependency>

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

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

</dependency>

依赖添加之后,运行程序时控制台就会打印一些额外的信息,如图

会看到只有info和health两个端点,实际上是有很多原生端点的,我们需要在配置文件application.properties中添加配置信息

参考文章https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#production-ready-endpoints

management.endpoints.web.exposure.include=*

即可。

这一系列端口都不是我们自己人为定义的,而是有actuator依赖自动添加,我们可以访问这些端口得到应用的各项监控指标。

访问/actuator就会直观的看到所有接口如图:

具体会显示什么信息,之后再做深入了解。

 

<think>嗯,用户这次在询问SpringBootActuator的不同版本对比和选择依据。结合之前的引用内容,用户应该已经了解了Actuator的基本功能(监控和管理应用)和基础配置,现在想深入版本差异。从引用[3]提到的安全配置变化能看出版本差异确实显著。用户可能是中级开发者,正在做技术选型或升级旧项目,需要避开兼容性问题。真正的需求可能是“如何安全地选择与自己SpringBoot主版本匹配的Actuator版本”。版本选择的核心其实是SpringBoot的版本兼容性。大版本必须严格对应,比如Boot2.x必须用Actuator2.x。这个要点需要放在最前面强调,因为引用[3]里配置失效问题就是版本混乱导致的。对比维度可以从这几个角度展开:-端点功能差异(比如Boot3默认启用Prometheus格式需要特别说明)-安全机制变化(用户引用[3]里的旧式WebSecurityConfigurerAdapter在Boot3被淘汰,正好作为反面案例)-配置方式(.propertiesvs.yaml的优先级差异在Boot2.4是个转折点)用户可能还会关心从旧版迁移的注意事项,比如Health分组机制在2.2引入,这会直接影响配置写法。在回复最后加入版本建议矩阵会更直观,用表格说明Boot主流版本对应的最佳Actuator版本。需要提醒用户注意版本锁定的细节,比如用Maven的spring-boot-starter-parent管理版本号,避免引用[3]中依赖冲突的情况复现。最后补充监控生态(Micrometer/Prometheus)的适配建议,因为高端用户常需要对接监控系统。</think> 以下是Spring Boot Actuator各主要版本的对比及选择建议,结合功能性、兼容性和安全机制进行综合分析: ### 版本特性对比 | **Spring Boot版本** | **Actuator特性** | **关键差异** | |---------------------|----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------| | **1.x系列** | 基础监控端点(health, metrics, env等) | 1. 端点路径固定为`/`开头(如`/health`)<br>2. 安全依赖`ManagementSecurityAutoConfiguration`<br>3. JSON响应格式较简单 | | **2.0-2.3** | 引入WebFlux支持、自定义端点分组 | 1. 端点路径改为`/actuator`前缀(如`/actuator/health`)<br>2. 新增`shutdown`端点需手动启用<br>3. 增强HealthDetail机制 | | **2.4+** | 支持Prometheus格式指标、配置属性`management.endpoints.web.exposure.include` | 1. 默认禁用除`health`外所有端点<br>2. 端点按功能分组(health, info, metrics等)<br>3. 配置层级优化(yaml优先) | | **3.0+** | 原生支持Micrometer 1.10+、GraalVM | 1. 移除对Spring Security的传统依赖<br>2. 健康检查响应结构变更<br>3. 弃用部分传统端点(如`/heapdump`替代方案)[^3] | ### 选择依据 1. **Spring Boot主版本匹配** **强制原则**:Actuator版本必须与Spring Boot主版本严格对应。例如: ```xml <!-- Spring Boot 2.7.x --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>2.7.18</version> </dependency> ``` 2. **监控需求驱动** - 基础监控 → **1.5.x**(维护模式) - Prometheus集成 → **2.4+**(默认支持`/actuator/prometheus`端点) - Kubernetes探针 → **2.3+**(提供`livenessState`/`readinessState`端点) -原生追踪 → **2.6+**(强化Micrometer Tracing)[^1] 3. **安全控制机制** - **旧版**(1.x):`management.security.enabled=false`(存在安全风险)[^3] - **新版**(2.4+): ```yaml management: endpoint: health: show-details: always endpoints: web: exposure: include: health,info # 精细化暴露端点 security: enabled: true # 需额外配置Spring Security ``` 4. **兼容性警告** - **Boot 3.0+**:不再支持JDK 8,需Java 17+ - **配置迁移**:从2.3升级至2.4时需检查`application.properties`兼容性,原`management.endpoint..enabled`改为`management.endpoint..groups` ### 版本推荐 | **当前项目状态** | **推荐版本** | **原因** | |------------------------|--------------------|--------------------------------------------------------------------------| | 旧系统维护(JDK8) | 2.7.x(LTS) | 长期支持至2025年11月 | | 新建云原生项目 | 3.2.x + Actuator | 原生Micrometer集成,支持OpenTelemetry[^2] | | Prometheus监控体系 | 2.6.x/3.1.x | Prometheus格式指标稳定支持 | | 需要WebFlux响应式监控 | ≥2.0.0 | Reactor-Native指标支持 | > **最佳实践**:始终优先使用Spring Boot官方提供的[BOM依赖管理](https://spring.io/projects/spring-boot),避免直接指定Actuator版本: > ```xml > <dependencyManagement> > <dependencies> > <dependency> > <groupId>org.springframework.boot</groupId> > <artifactId>spring-boot-dependencies</artifactId> > <version>3.1.6</version> > <type>pom</type> > <scope>import</scope> > </dependency> > </dependencies> > </dependencyManagement> > ``` ### 相关问题 1. **如何在Spring Boot 3.x中自定义Actuator端点?** *涉及Endpoint@Selector注解使用和WebEndpointResponseBuilder实践* 2. **Actuator与Prometheus+Grafana监控体系集成有哪些注意事项?** *涵盖scrape_interval设置和指标标签规范化* 3. **从Spring Boot 2.x升级到3.x时Actuator配置需要迁移哪些内容?** *重点处理security适配和响应结构变更*[^1][^3] > 注:版本选择时建议参考[Spring Boot官方支持时间表](https://spring.io/projects/spring-boot#support),生产环境优先选择LTS版本(如2.7.x/3.2.x)[^1][^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值