我正在尝试在 Cloud Foundry 上设置 Prometheus 和 Eureka Discovery Service。从 Prometheus 的文档中我知道可以使用基于文件的配置 (file_sd_configs)。简单地说,当 Eureka 发现一个新服务时,需要使用有关新服务的信息更新 file_sd_configs 部分中指定的配置文件,Prometheus 将获得一个新配置。这意味着需要编写一个桥接应用程序来从任意服务发现机制中检索更改,并将目标信息作为目标组列表写入监视文件。最后,架构如下所示:
1. Cloud Foundry:App 1. Eureka SD
2. Cloud Foundry:App 2. bridge-app
3. Cloud Foundry:App 3. Prometheus
这里有一个问题。我无法在bridge-app 和Prometheus 实例之间共享任何资源,例如文件(nfs 不可用),这意味着我无法从bridge-app 更新Prometheus 配置。
我假设我可以扩展 Prometheus,将 Eureka 添加到发现后端,但我没有围棋技能。
有任何想法吗?
最佳答案
Prometheus 尚不支持 Eureka 服务发现。但是,您可以使用 Eureka 实例部署适配器。该适配器提供了多个 HTTP 端点,这些端点返回注册服务的信息,并与 Prometheus 的 Consul 发现客户端 (consul_sd_config) 兼容。我已经对其进行了几个月的测试,效果很好。可在 Github 上获得:https://github.com/twinformatics/eureka-consul-adapter
关于prometheus - 是否可以在没有 file_sd_configs 的情况下使用 Eureka SD 设置 Prometheus?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46910839/