0

0

解决Spring Boot Actuator升级后Tomcat指标缺失问题

碧海醫心

碧海醫心

发布时间:2025-10-10 13:31:48

|

711人浏览过

|

来源于php中文网

原创

解决Spring Boot Actuator升级后Tomcat指标缺失问题

本文旨在解决Spring Boot Actuator升级至2.7.0及更高版本后,部分Tomcat指标(如tomcat.cache.access、tomcat.global.error)在MetricsEndpoint中缺失的问题。通过在application.properties中配置server.tomcat.mbeanregistry.enabled=true,可以重新启用Tomcat的MBean注册机制,从而使这些基于JMX的指标得以正常暴露和监控,确保全面了解Tomcat的运行时状态。

Spring Boot Actuator与Tomcat指标监控

spring boot actuator为spring boot应用程序提供了强大的生产级特性,其中包括对应用内部指标的监控。通过集成micrometer,actuator能够自动收集各种运行时指标,例如jvm、cpu、http请求以及web服务器(如tomcat)的性能数据。这些指标对于理解应用程序的健康状况和性能瓶颈至关重要。

在早期版本的Spring Boot Actuator中,许多Tomcat相关的详细指标,如缓存命中率、全局错误计数等,通常会自动暴露在/actuator/metrics端点下,并以tomcat.cache.access、tomcat.global.error等形式呈现。这些指标通常依赖于Tomcat内部的JMX MBean机制来收集。

Actuator升级后的Tomcat指标缺失问题

然而,当spring-boot-starter-actuator版本升级到2.7.0或更高版本时,部分用户可能会发现这些原本可用的Tomcat详细指标突然从MetricsEndpoint中消失了。例如,以下指标可能不再显示:

  • tomcat.cache.access
  • tomcat.cache.hit
  • tomcat.global.error
  • tomcat.global.sent
  • tomcat.servlet.error
  • tomcat.threads.current

这种现象的发生,通常是由于新版本Actuator在默认配置上有所调整,或者对Tomcat MBean的发现机制不再默认启用。

解决方案:启用Tomcat MBean注册

要解决此问题,核心在于显式地启用Tomcat的MBean注册功能。Spring Boot提供了一个配置属性来控制这一行为。

在您的application.properties或application.yml文件中添加以下配置:

# application.properties
server.tomcat.mbeanregistry.enabled=true

或者,如果您使用application.yml:

# application.yml
server:
  tomcat:
    mbeanregistry:
      enabled: true

添加并保存此配置后,重新启动您的Spring Boot应用程序。

居然设计家
居然设计家

居然之家和阿里巴巴共同打造的家居家装AI设计平台

下载

原理阐述

server.tomcat.mbeanregistry.enabled=true配置的作用是:

  1. 启用Tomcat MBean注册: Tomcat内部的许多组件(如连接器、线程池、缓存等)会将其运行时状态通过Java Management Extensions (JMX) 暴露为Managed Beans (MBeans)。当此属性设置为true时,Tomcat会确保这些MBeans被注册到JVM的平台MBeanServer中。
  2. Actuator通过Micrometer采集: Spring Boot Actuator通过其集成的Micrometer库来收集指标。Micrometer能够发现并适配各种指标源,包括JMX MBeans。当Tomcat的MBeans被注册后,Micrometer就能通过JMX接口访问这些MBeans,并将其中的数据转换为标准的指标格式,最终通过/actuator/metrics端点暴露出来。

简而言之,此配置确保了Tomcat的内部状态能够以JMX MBean的形式被Actuator发现和采集,从而恢复了之前缺失的详细Tomcat指标。

验证方法

配置更改并重启应用程序后,您可以通过以下方式验证Tomcat指标是否已恢复:

  1. 访问Actuator Metrics端点:浏览器或使用curl工具访问/actuator/metrics端点。您应该能看到包含tomcat前缀的指标列表。
    curl http://localhost:8080/actuator/metrics
  2. 查询特定Tomcat指标: 访问/actuator/metrics/{metricName}来查看特定指标的详细信息,例如:
    curl http://localhost:8080/actuator/metrics/tomcat.cache.access

    如果指标已恢复,您将看到相应的指标数据。

注意事项

  • 版本兼容性: 此配置对于Spring Boot 2.7.0及更高版本解决此类Tomcat指标缺失问题是有效的。在不同版本中,Spring Boot对默认配置的调整可能有所不同,但启用MBean注册通常是获取Tomcat详细JMX指标的通用方法。
  • 性能影响: 启用Tomcat MBean注册通常对应用程序性能影响微乎其微,因为JMX MBean的注册和访问机制本身是为生产环境监控设计的。
  • 全面监控: 确保除了Tomcat指标外,其他关键的应用指标(如JVM、数据库连接池、自定义业务指标等)也都被Actuator正确收集和暴露,以构建全面的监控体系。

总结

当Spring Boot Actuator升级导致Tomcat详细指标缺失时,通过在application.properties中简单添加server.tomcat.mbeanregistry.enabled=true配置,即可有效解决问题。此配置重新激活了Tomcat的JMX MBean注册机制,使Actuator能够重新发现并暴露这些重要的运行时指标。这对于维护应用程序的健康和性能监控至关重要,确保开发者和运维人员能够全面掌握Tomcat作为Web服务器的内部运行状态。

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

651

2023.06.15

java流程控制语句有哪些
java流程控制语句有哪些

java流程控制语句:1、if语句;2、if-else语句;3、switch语句;4、while循环;5、do-while循环;6、for循环;7、foreach循环;8、break语句;9、continue语句;10、return语句。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

453

2024.02.23

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

722

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

725

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

394

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

398

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

441

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

426

2023.08.02

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

10

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 2万人学习

C# 教程
C# 教程

共94课时 | 5.2万人学习

Java 教程
Java 教程

共578课时 | 37.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号