我正在迁移到Spring Boot 2.0,我的Prometheus Metrics存在问题.
我知道MicroMeter是一种新的做事方式,它不像Prometheus libs那样清脆,但还可以.
我的问题是,如果我现在不想更改我的指标,我就无法升级到Spring Boot 2.0.我对吗?
我尝试了以下方法:
试验1号
io.micrometer:micrometer-registry-prometheus:1.0.2到我的应用程序(执行器已经在那里)application.properties以访问端点actuator/prometheus=>我Counters和Gauges过去被忽略了.好的,从技术角度来看,我理解这一点.
试验2
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
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:是否有"软迁移"方式有效?
spring spring-boot spring-boot-actuator prometheus micrometer
我已将 Spring Boot 应用程序升级到最新的 2.2.2 Boot 版本。从那以后,我只有一个指标端点,但没有 Prometheus。
我的build.gradle.kts文件具有org.springframework.boot:spring-boot-starter-actuator依赖项,我还添加io.micrometer:micrometer-registry-prometheus了参考建议(Prometheus 端点)。
我的application.yml如下所示:
management:
server:
port: 9000
endpoints:
web:
exposure:
include: health, shutdown, prometheus
endpoint:
shutdown:
enabled: true
Run Code Online (Sandbox Code Playgroud)
有人可以指导我走向正确的方向吗?
编辑:它在 Spring Boot 2.2.0 中工作。这是下载相同项目的链接:链接
编辑 2:我可以验证它也适用于 2.2.1。