Метрики не отображаются на конечной точке /prometheus

У меня есть две службы, ping и pong, где ping отправляет запросы pong. Эта метрика отображается на конечной точке /metrics для службы ping:

gauge.servo.hystrix.hystrixcommand.http://pong.pongclient#hello().90

но он не отображается на конечной точке /prometheus. На этой конечной точке отображаются другие метрики, но не метрики сервопривода с информацией о http-запросах Feign/Hystrix.

Как сделать так, чтобы эти показатели отображались на конечной точке /prometheus?

У меня есть следующие зависимости от моего build.gradle

compile 'org.springframework.boot:spring-boot-starter-web'
compile 'org.springframework.boot:spring-boot-starter-actuator'
compile 'org.springframework.cloud:spring-cloud-starter-eureka'
compile 'org.springframework.cloud:spring-cloud-starter-hystrix'
compile 'org.springframework.cloud:spring-cloud-starter-feign'
compile 'org.springframework.retry:spring-retry'
compile "io.micrometer:micrometer-core:${micrometerVersion}"
compile "io.micrometer:micrometer-spring-legacy:${micrometerVersion}"
compile "io.micrometer:micrometer-registry-prometheus:${micrometerVersion}"

со следующими версиями

springCloudVersion = 'Dalston.SR4'
micrometerVersion = '1.0.0-rc.4'

Код можно найти здесь https://github.com/fiunchinho/spring-resilency.


person Jose Armesto    schedule 19.11.2017    source источник
comment
можно добавить ссылку на источники?   -  person Tal Avissar    schedule 19.11.2017
comment
github.com/fiunchinho/spring-resilency   -  person Jose Armesto    schedule 19.11.2017


Ответы (2)


Вам нужно вручную добавить плагин для Hystrix:

HystrixPlugins.getInstance().registerMetricsPublisher(new MicrometerMetricsPublisher(Metrics.globalRegistry));

Вы можете добавить его в @PostConstruct в конфигурации.

Я создал https://github.com/micrometer-metrics/micrometer/issues/237, чтобы устранить этот недостаток в будущем.

person checketts    schedule 19.11.2017

Вам необходимо настроить и настроить службы весенней загрузки для мониторинга с помощью prometheus следующим образом:

  1. Вам нужно включить зависимость в файл gradle.build
  2. Вам необходимо внедрить конечную точку метрики
  3. Вам нужно добавить стандартные экспортеры из Prometheus JVM

Дополнительные сведения о реализации см. в примерах здесь, а также здесь

person Tal Avissar    schedule 19.11.2017
comment
Просто для ясности: я вижу метрики на конечной точке /prometheus. Просто я не вижу показателей servo с информацией о HTTP-запросах, сделанных с помощью Feign/Hystrix. - person Jose Armesto; 19.11.2017
comment
Все это решается его использованием micrometer-spring-legacy. Micrometer.io будет предпочтительным способом мониторинга приложений Spring в будущем, поскольку он встроен в SpringBoot 2. - person checketts; 19.11.2017
comment
В этом ответе конкретно не рассматривается вопрос о том, что метрики Hystrix не отображаются, и ни один из примеров не ссылается на Hystrix. - person Phil Haigh; 11.07.2018