3

我正在尝试将一些来自 spring-boot 服务的指标暴露给 prometheus。不幸的是,spring-boot actuator 和 prometheus simple-client 都通过/metrics端点公开了它们的指标。

如何更改简单客户端的端点?

谢谢

4

4 回答 4

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;
    }
于 2016-10-25T08:46:07.590 回答
3

您可以更改 spring-boot 执行器的 endponit 并留给/metricsPrometheus。

将以下配置添加到您的application.properties

endpoints.metrics.id=springmetrics
endpoints.metrics.sensitive=false
endpoints.metrics.enabled=true

您将拥有一个/springmetics用于弹簧执行器和/metricsPrometheus 的新端点。

于 2016-10-09T03:37:56.810 回答
1

对于您在设置 servlet 时指定端点的 java 客户端,请参阅https://github.com/RobustPerception/java_examples/blob/master/java_simple/src/main/java/io/robustperception/java_examples/JavaSimple.java#L39例如。您可以将端点更改为您喜欢的任何内容。

于 2016-07-12T12:36:33.083 回答
0

您是否尝试在 application.properties 文件中设置这些属性:

management.endpoints.web.path-mapping.prometheus=
management.endpoints.web.base-path=
于 2018-08-28T20:00:29.523 回答