2016-07-12 7 views
1

Я пытаюсь выставить некоторые показатели из службы загрузки весны в прометеус. К сожалению, как пружинный привод, так и простой клиент prometheus подвергают свои показатели через конечную точку /метрики.Как изменить конечную точку метрики прометея

Как можно изменить конечную точку простого клиента?

Благодаря

ответ

1

Для Java клиента вы указываете конечную точку при настройке сервлета см https://github.com/RobustPerception/java_examples/blob/master/java_simple/src/main/java/io/robustperception/java_examples/JavaSimple.java#L39, например. Вы можете изменить конечную точку так, как хотите.

+1

С весны загрузки вы не устанавливайте сервлет самостоятельно. Он создается автоматически, если маркер prometheus найден на пути к классам (я добавляю его в gradle with compile ('io.prometheus: simpleclient_common: 0.0.14'). Я не вижу, где можно указать конечную точку. – msayag

+0

что-то лишнее в вашем коде, так как ничто на концах/метриках конца client_java не заканчивается. –

2

Вы можете заменить концевой элемент исполнительного механизма пружинной пружины и оставить /metrics Прометею.

Добавить следующие конфигурации в вашем application.properties:

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

и вы будете иметь новую конечную точку /springmetics для пружинного привода и /metrics для Прометея.

5

Возможно, вы захотите взглянуть на метрику Spring Spring Spring Spring Messet от Prometheus, которая отображает метрики 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

Теперь вы можете просто добавить зависимость ('io.prometheus: simpleclient_spring_boot: 0.0.19') и использовать' @ EnablePrometheusEndpoint' и ' @ EnableSpringBootMetricsCollector' в вашем загрузочном приложении –

+0

@DonovanMuller - это какая-то скрытая функция? Я не могу найти абсолютно никакой ссылки на '@ EnablePrometheusEndpoint' и' @ EnableSpringBootMetricsCollector' на GitHub! –

+0

@HansKristian См. Эту проблему GitHub: https: // github.com/prometheus/client_java/issues/156 –