我试图将一些指标从spring-boot服务公开给prometheus。 不幸的是,spring-boot执行器和prometheus simple-client都通过 / metrics 端点公开了它们的指标。
如何更改simple-client的端点?
由于
答案 0 :(得分:7)
您可能希望查看Prometheus Java Simpleclient Spring Boot Metric,它会在/ prometheus端点公开prometheus指标。
Github项目:https://github.com/prometheus/client_java/tree/master/simpleclient_spring_boot
Maven神器:https://mvnrepository.com/artifact/io.prometheus/simpleclient_spring_boot
在你的pom.xml上:
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_spring_boot</artifactId>
<version>0.0.17</version>
</dependency>
在springboot配置类中:
@Configuration
public class Configuration {
@Bean
public ServletRegistrationBean servletRegistrationBean() {
DefaultExports.initialize();
return new ServletRegistrationBean(new MetricsServlet(), "/prometheus");
}
@Bean
public SpringBootMetricsCollector springBootMetricsCollector(Collection<PublicMetrics> publicMetrics) {
SpringBootMetricsCollector springBootMetricsCollector = new SpringBootMetricsCollector(
publicMetrics);
springBootMetricsCollector.register();
return springBootMetricsCollector;
}
答案 1 :(得分:3)
您可以更改弹簧启动执行器的endponit并将/metrics
保留给Prometheus。
将以下配置添加到application.properties
:
endpoints.metrics.id=springmetrics
endpoints.metrics.sensitive=false
endpoints.metrics.enabled=true
你将获得弹簧执行器的新端点/springmetics
和普罗米修斯的/metrics
。
答案 2 :(得分:1)
对于java客户端,您在设置servlet时指定端点,例如,请参阅https://github.com/RobustPerception/java_examples/blob/master/java_simple/src/main/java/io/robustperception/java_examples/JavaSimple.java#L39。您可以将端点更改为您喜欢的任何内容。
答案 3 :(得分:0)
您是否尝试在application.properties文件中设置以下属性:
management.endpoints.web.path-mapping.prometheus=
management.endpoints.web.base-path=