如何从使用 Spring Cloud Eureka 服务器注册的 Spring Boot 应用程序中公开 Prometheus 指标

Posted

技术标签:

【中文标题】如何从使用 Spring Cloud Eureka 服务器注册的 Spring Boot 应用程序中公开 Prometheus 指标【英文标题】:how to expose prometheus metrics from spring boot apps registered with spring cloud eureka server 【发布时间】:2020-08-18 14:34:55 【问题描述】:

我正在尝试为 spring boot 应用程序实现 prometheus 监控,但我的 spring boot 应用程序已注册到 spring cloud eureka 服务器,所以我没有选项为 prometheus config 中的应用程序配置静态端口,我只能配置 scraping 用于像下面这样的 eureka 服务器,但不适用于在 eureka 注册的应用程序。谁能推荐一下?

static_configs:
  - targets: ["http://mycompany.eurekaserver.net:8761"]

【问题讨论】:

【参考方案1】:

来这里是为了添加新的答案,从 2.21 版本开始,Prometheus 现在支持 Eureka SD。 可在https://prometheus.io/docs/prometheus/latest/configuration/configuration/#eureka_sd_config获取文档

Sample Eureka SD config提供示例配置

【讨论】:

【参考方案2】:

目前 eureka server 没有直接与 prometheus 集成,所以我们必须使用 SD 适配器,我会在下面推荐它,它可以按预期工作,不费吹灰之力。

https://github.com/twinformatics/eureka-consul-adapter

【讨论】:

以上是关于如何从使用 Spring Cloud Eureka 服务器注册的 Spring Boot 应用程序中公开 Prometheus 指标的主要内容,如果未能解决你的问题,请参考以下文章

如何使用基本身份验证保护 Spring Cloud Eureka 服务?

Spring Cloud Eureka 使用 IP 地址进行服务注册

Spring Cloud Eureka 使用 IP 地址进行服务注册

Spring Cloud Eureka 使用 IP 地址进行服务注册

spring cloud: 使用consul来替换eureka

spring cloud: 使用consul来替换eureka