我正在迁移到 Spring Boot 2.0,但我的 Prometheus Metrics 出现问题。
我知道 MicroMeter 是一种新的做事方式,它不像 Prometheus 库那么清晰,但还可以。
我的问题是,如果我现在不想更改指标,我将无法升级到 Spring Boot 2.0。我对吗?
我尝试了以下方法:
试验 1
- 保持我的实现“原样”
- 将新的依赖项添加
io.micrometer:micrometer-registry-prometheus:1.0.2
到我的应用程序(执行器已在其中) - 更改内容
application.properties
以访问端点actuator/prometheus
=> 我的Counters
和Gauges
过去的被忽略了。好的,我从技术角度理解这一点。
试验 2
- 保持我的实现“原样”
- 添加“旧”“io.prometheus”依赖项并删除千分尺依赖项
- 更改内容
application.properties
以访问端点actuator/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
所以我的问题是:是否有一种有效的“软迁移”方式?