springboot2.1.1引入spring-actuator tomcat监控问题

springboot2.1.1 引入spring-actuator2.1.1 监控tomcat指标NaN问题:

github相关issue:
https://github.com/micrometer-metrics/micrometer/issues/1792
https://github.com/stagemonitor/stagemonitor/issues/441

springboot2.1.1引入spring-actuator2.1.1

tomcat监控指标返回NaN
在这里插入图片描述

源码NaN打印位置:

在这里插入图片描述

springboot2.1.1对应tomcat版本为9.0.13

tomcat版本:9.0.13
具备两个tomcat jmx监控类

源码:io.micrometer.core.instrument.binder.tomcat.TomcatMetrics

Set objectNames 会返回:

​ 1:Tomcat:type=ThreadPool,name=“http-nio-tomcatPort”,subType=SocketProperties

​ 2:Tomcat:type=ThreadPool,name="http-nio-tomcatPort

两个类,如果1在前会报错可能有问题 带有,subType=SocketProperties…的值如果在第一位tomcat指标加载不出来,可以通过修改服务tomcat端口号,会变更这个set值的顺序,可以得到正确的值
在这里插入图片描述

降低为9.0.12

tomcat只有一个tomcat监控类
只有一个值,能获取到 tomcat指标
在这里插入图片描述

问:为什么又得项目可以,有得项目不行?

​ 测试发现部分项目可以加载出tomcat监控指标,部分项目不行,springboot和actuator版本一致。

代码对应的Set objectNames的顺序有个hashset存放名称

猜测是hash转换的Set,应该是可以通过修改名称,修改其在hash的位置让返回的Set名称中正确的tomcat居于第一位

修改端口后测试:

在这里插入图片描述
在这里插入图片描述

tomcat监控一样可以监控到,问题搞定。

总结

1:更换tomcat 9.0.13->9.0.12

2:修改tomcat端口,让正确的tomcat jmx监控类名称的hash转set的值放再第一位

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 2.1.1 版本中,使用 spring-elasticsearch 时出现 "No qualifying bean" 错误通常是由于以下原因导致的: 1. 缺少必要的依赖:请确保您的项目中已经正确添加了 spring-elasticsearch 的依赖。在 Maven 或 Gradle 构建文件中检查依赖是否正确引入。 2. 没有正确配置 Elasticsearch 相关的属性:在您的应用程序配置文件(例如 application.properties 或 application.yml)中,确保已经配置了正确的 Elasticsearch 连接属性,例如主机名、端口号等。还要确保您的配置文件位于正确的位置,并且被正确加载。 3. 缺少对 ElasticsearchRepository 的实现类:请确保您的项目中存在一个继承自 ElasticsearchRepository 的接口,并且有一个具体的实现类。实现类需要添加 `@Repository` 注解,以便被 Spring 自动发现并注入。 4. 包扫描问题:如果您的实现类不在 Spring 扫描的包路径下,Spring 可能无法自动发现该类。请确保您的实现类在正确的包路径下,并且包扫描配置正确。 5. 版本兼容性问题:请确保您使用的 spring-elasticsearch 版本与 Spring Boot 2.1.1 兼容。有时候特定版本的库可能不兼容,建议查看官方文档或社区支持来确认版本兼容性。 请检查以上可能导致错误的原因,并逐一排除。如果问题仍然存在,请提供更多的错误信息、配置以及依赖信息,以便更详细地帮助您解决问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值