加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Spring Boot 2.0 Prometheus向后兼容性

发布时间:2020-12-15 01:26:42 所属栏目:大数据 来源:网络整理
导读:我正在迁移到Spring Boot 2.0,我的Prometheus Metrics存在问题. 我知道MicroMeter是一种新的做事方式,它不像Prometheus libs那样清脆,但还可以. 我的问题是,如果我现在不想更改我的指标,我就无法升级到Spring Boot 2.0.我对吗? 我尝试了以下方法: 试验1号

我正在迁移到Spring Boot 2.0,我的Prometheus Metrics存在问题.

我知道MicroMeter是一种新的做事方式,它不像Prometheus libs那样清脆,但还可以.

我的问题是,如果我现在不想更改我的指标,我就无法升级到Spring Boot 2.0.我对吗?

我尝试了以下方法:

试验1号

>保持我的实施“按原样”
>将新依赖项io.micrometer:micrometer-registry-prometheus:1.0.2添加到我的应用程序(执行器已经在那里)
>更改application.properties中的内容以访问端点执行器/ prometheus

=>我的计数器和仪表从过去被忽略了.好的,从技术角度来看,我理解这一点.

试验2

>保持我的实施“按原样”
>添加“旧”’io.prometheus’依赖项并删除千分尺依赖项
>更改application.properties中的内容以访问端点执行器/ prometheus

=>现在我得到以下的重复

Caused by: java.lang.ClassNotFoundException: org.springframework.boot.actuate.endpoint.AbstractEndpoint
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_161]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_161]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) ~[na:1.8.0_161]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_161]
... 37 common frames omitted

所以我的问题是:是否有“软迁移”方式有效?

最佳答案
要使试验1工作,只需将Prometheus默认注册表添加为Micrometer将能够利用的bean.

@Bean
public CollectorRegistry collectorRegistry() {
    return CollectorRegistry.defaultRegistry;
}

Micrometer默认不使用默认注册表,因为它不允许取消注册仪表并且可能使单元测试非常困难.

要进行试验2号工作将需要重新实现prometheus执行器端点,因为该类在SpringBoot 2中发生了巨大变化.我不推荐这种方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读