spring-boot - 指标未显示在/prometheus 端点上

标签 spring-boot spring-cloud hystrix prometheus micrometer

我有两个服务,pingpong,其中 pingpong 发送请求。此指标显示在 ping 服务的 /metrics 端点上:

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

但它不会出现在 /prometheus 端点上。其他指标显示在此端点上,但不包含有关 Feign/Hystrix http 请求信息的伺服指标。

如何让这些指标显示在 /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-resiliency

最佳答案

您需要手动添加Hystrix的插件:

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

您可以将其添加到配置中的 @PostConstruct 中。

我创建了https://github.com/micrometer-metrics/micrometer/issues/237以弥补今后的不足。

关于spring-boot - 指标未显示在/prometheus 端点上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47379978/

相关文章:

spring - 如何在基于 Spring 的强类型语言中正确执行 PATCH - 示例

java - 如何设置 Spring Cloud Zuul 服务器作为代理服务器

spring - 如果没有后备方法,@HystrixCommand 注解有什么用?

java - 为我的项目创建类似 Slf4j 的注释

java - spring-boot: Autowiring 2 个变量但指向一个 bean

spring - 跨线程发送 TraceId

spring-cloud - 如何使用swagger-codegen-maven-plugin生成spring cloud feign客户端

spring-boot - Hystrix 和 Turbine 不适用于 Spring boot 2 和 Spring cloud Finchley.M8

java - 我们可以使用 Spring-cloud-netflix 和 Hystrix 来重试失败的执行吗

java - Spring Cloud Pass参数